Commit Graph

989 Commits

Author SHA1 Message Date
DIYgod 51efb5d5a5 fix(release): repair ota and desktop update flows 2026-04-12 16:04:15 +08:00
DIYgod 33c8bb98b6 feat(ota): unify desktop updates with ota service 2026-04-12 15:39:13 +08:00
DIYgod cb037ceffc fix(ci): restore ota typing and tailwind config compatibility 2026-04-11 10:26:20 +08:00
DIYgod f77ac26541 feat(mobile): upgrade expo sdk 55 and rnfirebase 2026-04-10 22:42:21 +08:00
DIYgod 096422e034 feat(desktop): migrate tts to folo service 2026-04-10 14:38:20 +08:00
DIYgod f6cdb64186 feat: add spotlight settings across desktop and mobile 2026-04-09 13:45:05 +08:00
DIYgod e8619436c7 feat: refine spotlight settings and highlighting 2026-04-09 13:45:05 +08:00
DIYgod 4b07fefdcd fix: correct French translation language detection 2026-04-07 16:52:55 +08:00
DIYgod 79efa4ebb2 fix(desktop): improve pdf export layout and branding 2026-04-07 13:22:04 +08:00
DIYgod 1571396fb6
fix: upgrade sdk packages and align app types (#4950) 2026-04-02 09:03:57 +00:00
DIYgod ce5e91962c
fix: pause scroll mark read after refresh (#4946) 2026-04-02 07:21:57 +00:00
DIYgod 2c1c978b0e fix(desktop): add auth origin headers for electron 2026-03-24 11:49:39 +08:00
DIYgod 41656115b3 feat(ai): enable French AI language requests 2026-03-20 15:54:14 +08:00
DIYgod 4f4618dc37 fix(ssr): read injected env in browser 2026-03-17 18:26:42 +08:00
DIYgod 338164b68c fix(web): remove openpanel and fix ssr manifest 2026-03-17 18:17:39 +08:00
DIYgod 3f31f505f8 fix: restore frontend ci for better-auth upgrade 2026-03-16 21:35:14 +08:00
DIYgod 397049014f fix: upgrade better-auth client compatibility 2026-03-16 21:14:41 +08:00
DIYgod aea75fe57b fix(desktop): improve self-test coverage and ui polish 2026-03-13 10:20:01 +08:00
DIYgod 394730251a
feat(mobile): align upgrade prompts with desktop (#4914) 2026-03-12 16:35:33 +08:00
DIYgod f78d7e766b
feat(mobile): support anonymous timeline reading (#4911) 2026-03-12 11:29:45 +08:00
DIYgod b1ed3828d4
feat: add store review prompts for desktop and mobile (#4909) 2026-03-11 22:54:04 +08:00
DIYgod 0b344fd0e7
fix(mobile): align translation gating with real roles (#4906) 2026-03-11 10:30:46 +08:00
DIYgod c9eac7812c
fix: harden desktop e2e auth and user flows (#4904)
* fix: harden desktop e2e auth and user flows

* fix: stabilize desktop e2e in ci

* fix: stabilize ci desktop e2e flows

* fix: make ci desktop e2e more robust

* fix: avoid media interception in desktop e2e

* fix: increase desktop e2e timeouts for ci

* fix: use keyboard navigation for web e2e entries

* fix: stabilize desktop e2e navigation in ci

* fix: simplify desktop e2e navigation paths

* fix: narrow desktop e2e action selectors

* fix: add desktop e2e read-action fallbacks

* fix: reduce desktop e2e flakiness in ci

* fix: harden desktop e2e route transitions

* fix: relax desktop e2e ci assertions

* fix: prefer keyboard read toggle in desktop e2e

* fix: tolerate settings modal close races in e2e

* fix: tighten desktop e2e flows and remove gha e2e
2026-03-10 21:37:48 +08:00
DIYgod 93e4a3b48f
feat: add cross-platform e2e coverage (#4901)
* feat: add cross-platform e2e coverage

* fix: stabilize desktop e2e navigation

* fix: harden desktop e2e read flow

* fix: harden desktop e2e auth and follow flows

* fix: stabilize desktop e2e discover entry flows

* fix: run android e2e in a single shell

* fix: speed up mobile e2e builds in ci

* fix: build android e2e app from mobile workspace

* fix: invoke android gradle build from repo root

* fix: use absolute path for android ci build

* fix: restore android eas build in ci

* fix: target iOS simulator by udid in ci

* fix: align desktop e2e with discover card flow

* fix: reorder web e2e after relogin

* fix: navigate web e2e via real hash url

* fix: close stale settings modal before reopening

* fix: track android maestro flows

* fix: wait for settings router in web e2e

* fix: wait for web settings sync propagation

* fix: stabilize desktop e2e settings flows

* fix: harden desktop e2e regressions

* fix: stabilize desktop e2e selectors

* fix: read desktop entry state from locators

* fix: relax desktop e2e entry assertions

* fix: avoid waiting on missing desktop feed ids
2026-03-10 11:32:00 +08:00
DIYgod f0a691da30
chore(env): update default recaptcha v3 site key (#4879) 2026-02-25 21:21:01 +08:00
DIYgod afddc8e846
fix(ssr): use VITE_API_URL and VITE_WEB_URL only (#4874) 2026-02-24 14:20:27 +08:00
DIYgod 0bba08f103
chore(firebase): switch to diygod Firebase config (#4868) 2026-02-22 15:15:13 +08:00
DIYgod b465ec1463
fix: harden external protocol handling and unblock dev:electron (#4863)
* fix(desktop): harden external protocol handling

* fix(build): avoid optional peer resolution in dev
2026-02-20 21:36:23 +08:00
DIYgod b548f5a39c Merge remote-tracking branch 'origin/mobile-main' into release/mobile/0.3.0
# Conflicts:
#	apps/desktop/layer/main/src/updater/custom-github-provider.ts
#	apps/desktop/layer/renderer/src/modules/achievement/AchievementModalContent.tsx
#	apps/desktop/layer/renderer/src/modules/entry-column/EntrySubscriptionItem.tsx
#	apps/desktop/layer/renderer/src/modules/entry-column/components/EntryPlaneToolbar.tsx
#	apps/desktop/layer/renderer/src/modules/entry-column/components/EntrySubscriptionSkeleton.tsx
#	apps/desktop/layer/renderer/src/modules/entry-content/EntryContent.legacy.tsx
#	apps/desktop/layer/renderer/src/modules/new-user-guide/guide-modal-content.tsx
#	apps/desktop/layer/renderer/src/modules/settings/tabs/invitations.tsx
#	apps/desktop/layer/renderer/src/modules/settings/tabs/referral.tsx
#	apps/desktop/layer/renderer/src/modules/wallet/level.tsx
#	apps/mobile/src/modules/login/referral.tsx
#	apps/mobile/src/modules/settings/routes/Invitations.tsx
#	apps/mobile/src/modules/settings/routes/Referral.tsx
#	apps/mobile/src/screens/(modal)/InvitationScreen.tsx
2026-02-18 23:53:40 +08:00
DIYgod 0da9f2098e
feat: migrate desktop/mobile error tracking to posthog (#4858)
* feat: migrate desktop and mobile error tracking to PostHog

* fix(mobile): remove unsupported tab bar minimize API

* Revert "fix(mobile): remove unsupported tab bar minimize API"

This reverts commit e234dda51257dc6810f0f78e06ee918adf2214b0.
2026-02-18 23:16:00 +08:00
DIYgod 56263d229b
fix(mobile): fix Crashlytics crash issues affecting 101+ users (#4845)
- Fix iOS WebViewState initialization on non-main thread
- Fix iOS SecureStore background access failures in auth/env setup
- Fix Android TrackPlayer ForegroundService crash with AppState check
- Fix Android TabBar event handler null reference crashes
- Fix iOS BackgroundTask handler registration timing
- Fix Android VideoView state management during fullscreen
- Fix DatabaseSource stream state before enqueue operation

Addresses 8 critical Crashlytics issues across iOS and Android:
- iOS WebView main thread: 22 users
- iOS SecureStore background: 18 users
- Android ForegroundService: 26 users
- Android TabPress null ref: 12 users
- Android VideoView not found: 6 users
- Stream enqueue race: 7 users
- iOS BackgroundTask handler: 2 users
+ improvements to error handling and recovery paths

Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
2026-02-14 19:53:53 +08:00
DIYgod 992e5ce3ea
fix(mobile): upgrade Expo SDK54 and fix iOS sqlite startup crash (#4841)
* fix(mobile): stabilize Expo SDK54 startup and sqlite migration

* fix(ci): resolve mobile typecheck and desktop release failures

* fix(ci): format files failing prettier check

* fix(ci): align drizzle and mobile menu dependency resolution

* fix(mobile): align react versions for lint

* fix(mobile): upgrade react-native-menu

* fix(mobile): patch track-player android build
2026-02-14 09:35:25 +08:00
Kowyo 2d7fe56ce2
fix(store): handle null titles when sorting imported subscriptions (#4840) 2026-02-13 20:03:52 +08:00
DIYgod 01da257c90
feat(i18n): merge #4597/#4774 and complete localization audit (#4839)
* chore: Update Japanese translations for new features and errors

Added and updated multiple Japanese locale strings across AI, app, errors, external, settings, and shortcuts modules. Changes include new labels, descriptions, error messages, and UI text for features such as scheduling, token usage, inbox management, toolbar customization, and quick search.

* Add Japanese README documentation

Introduces README-ja.md with comprehensive information about Folo, including features, installation instructions, community links, contribution guidelines, code signing policies, and license details for Japanese-speaking users.

* Update formatting in Japanese README

Corrected the admonition marker from '[!重要]' to '[!IMPORTANT]' for consistency and made minor formatting adjustments in the README-ja.md file.

* Update community section in Japanese README

Revised wording and formatting in the community participation section of README-ja.md for improved clarity and consistency.

* Remove Japanese README file

Deleted README-ja.md to reduce duplication or outdated documentation. All relevant information should now be referenced from the main README or other documentation files.

* feat: add French (fr-FR) localization

* fix: sort imports in default-resource.ts to resolve lint error

* feat: add missing French translations for mobile/default, native, and external locales

* feat: add French language filter to discovery/recommended feeds

* docs: update changelog for French localization

* feat(i18n): merge PR #4597/#4774 and finish localization audit

---------

Co-authored-by: dai <dosada@gmail.com>
Co-authored-by: Anthony Mahé <snpepito@gmail.com>
Co-authored-by: Anthony Mahé <104373430+AnthonyMahe@users.noreply.github.com>
2026-02-13 09:25:08 +00:00
DIYgod 0859f56ad4
chore: update workspace dependencies and lockfile (#4838)
* chore: update workspace dependencies

- bump dependencies across desktop, mobile, ssr, and internal packages

- refresh pnpm lockfile

- apply type compatibility fixes required by upgraded packages

* fix(ssr): prevent tsdown CI warning from failing build

- set inlineOnly to false in tsdown config

* style: format files for CI prettier check

- apply prettier formatting to files reported by format:check

* fix(mobile): downgrade reanimated for rn 0.79 ios build
2026-02-13 16:04:13 +08:00
DIYgod 2290ec7f3c
fix: preserve session when switching API domain (#4833)
* feat(auth): migrate session across API domain switch

* fix(auth): address PR review on migration flow

* fix(ci): avoid package.json mutation during renderer build
2026-02-12 20:58:03 +08:00
Kieran Cui d58720aae6
fix: shortcuts page freeze (#4819) 2026-01-24 17:39:02 +08:00
DIYgod c0ce04453f
refactor: remove checkNew timeline update detection logic (#4817)
Remove the checkNew query and related state management that periodically checked for new entries in the timeline. The hasUpdate state and related UI indication (refresh button highlighting) have been removed while preserving fetchedTime for mark-all-read filtering.
2026-01-21 13:31:54 +08:00
DIYgod 2bba6a9032
refactor: remove entry tags support (#4813)
* refactor: remove entry tags support

* fix: remove remaining tags references from entry selectors

Follow-up to 9ea61dbfd - these files were missed in the entry tags removal.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 17:37:16 +08:00
DIYgod 7ece0b3fd0 fix: update getUrlIcon to use the new icon service URL 2026-01-18 15:33:24 +08:00
Claude 11a0bd7337 fix: correct IMAGE_PROXY_URL to use the proper endpoint 2026-01-17 12:46:08 +08:00
DIYgod 3d21eab3f0
chore: update ai sdk to v6.0.5 (#4790) 2026-01-01 15:52:02 +08:00
DIYgod 55d11af361
fix: default custom integration fetch (#4789) 2026-01-01 15:16:24 +08:00
DIYgod 7d7723f04f
chore: update license 2025-12-28 18:27:30 +08:00
DIYgod c9b0e65182
Revert "fix(headers): set app origin for OPTIONS requests"
This reverts commit dbff42baca.
2025-12-24 16:22:31 +08:00
DIYgod dbff42baca
fix(headers): set app origin for OPTIONS requests 2025-12-24 12:18:38 +08:00
DIYgod 0733caf0ed
fix: types 2025-12-24 10:35:56 +08:00
DIYgod 1f0902177c
fix(translation): refresh cache on mode changes 2025-12-22 13:51:47 +08:00
DIYgod 688cfceab9
feat: upgrade ai sdk 2025-12-18 12:07:27 +08:00
DIYgod cac65d46f8
fix: types 2025-12-15 13:16:04 +08:00