222 Commits

Author SHA1 Message Date
DIYgod 28ab52296e fix(mobile): embed the real OTA runtime version in Android builds
EAS generates android/ with `expo prebuild`, which sets NODE_ENV to
"development" when it is unset. The app config picked the 0.0.0-dev
runtime from NODE_ENV, so every Android binary since the React Native
0.79 upgrade embedded expo_runtime_version 0.0.0-dev, and ota.folo.is
rejects its update checks. iOS kept the real runtime because eas-cli
syncs its committed Expo.plist outside of prebuild.

Decide the development runtime from the EAS build profile and fall back
to NODE_ENV only without one (expo start, local prebuild). The
eas-build-post-install hook now fails any build whose native runtime
differs from the expected one, and a test evaluates every eas.json
profile the way prebuild does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 16:21:11 +08:00
DIYgod 980019b65e release(mobile): release v0.6.0 2026-10-16 13:31:59 +08:00
DIYgod 605cb129fb release(mobile): release v0.5.11 2026-10-02 20:41:13 +08:00
DIYgod b7df9ad01e fix(i18n): stop title-casing non-English titles and labels
Entry titles and settings labels went through title-case unconditionally,
but it applies English capitalization rules, so with a French UI and French
feeds titles rendered as "Pourquoi Votre Café Est Une Arme De Défense" and
settings labels as "Afficher Le Nombre De Non Lus". CJK titles were also
touched ("iOS 27 beta" became "IOS 27 Beta").

titleCaseIfEnglish in @follow/utils only applies title case when the
language is English (en, en-US, en_GB, or franc's eng). On desktop, entry
titles use the entry language and translated titles the translation
language, falling back to the UI language when unknown; settings labels
and section titles use the UI language. Mobile grouped list cells use the
UI language too. AI chat tool names keep title case since they are English
identifiers.

Mobile no longer imports title-case directly, so the dependency moves to
@follow/utils.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 09:46:44 +08:00
DIYgod 0336138fc1 Merge pull request #5095 from RSSNext/mobile-main
chore(sync): merge mobile-main into dev
2026-09-26 21:04:52 +08:00
DIYgod 2f392594d5 chore(deps): refresh dependencies and verify affected app flows 2026-09-22 16:20:40 +08:00
DIYgod 1ded9fd2b0 release(mobile): release v0.5.10 2026-09-18 19:14:53 +08:00
DIYgod 465b997e89 fix(mobile): upgrade audio player to avoid background service crashes 2026-09-02 16:18:34 +08:00
DIYgod 22a9bcd4e4 release(mobile): release v0.5.9 2026-09-02 10:00:44 +08:00
DIYgod f6777ee559 release(mobile): release v0.5.8 2026-08-01 17:45:07 +08:00
DIYgod eb782e0389 release(mobile): release v0.5.7 2026-07-31 16:31:13 +08:00
DIYgod 764c70b48c fix(mobile): restore dark mode text colors 2026-07-25 18:20:36 +08:00
DIYgod 7c4d51a642 release(mobile): release v0.5.6 2026-07-13 11:14:04 +08:00
DIYgod 451e263db4 chore(sync): merge mobile-main into dev 2026-07-12 18:32:36 +08:00
DIYgod cde24e2614 fix(mobile): declare Expo Babel preset 2026-07-11 09:45:08 +08:00
DIYgod 1158281f59 chore(deps): update frontend dependencies (#5038)
* chore(deps): update frontend dependencies

* fix(ci): format OTA verification commands
2026-07-10 22:36:12 +08:00
DIYgod 5d6b5ed40f release(mobile): release v0.5.5 2026-06-22 14:58:32 +08:00
DIYgod 367c638ddd release(mobile): release v0.5.4 2026-05-29 15:34:49 +08:00
DIYgod 79d2684cf8 release(mobile): release v0.5.3 2026-05-13 12:02:11 +08:00
DIYgod 3b336b926d release(mobile): release v0.5.2 2026-05-12 17:31:29 +08:00
DIYgod 91cba64c3d release(mobile): release v0.5.1 2026-04-30 17:55:27 +08:00
DIYgod b57101ae81 fix(mobile): declare tailwind typography dependency 2026-04-15 09:06:37 +08:00
DIYgod d8a7e10f4c fix(mobile): align expo sdk 55 build deps 2026-04-15 08:39:04 +08:00
DIYgod ffcfc04c89 fix(ci): declare mobile runtime bundle deps 2026-04-14 15:40:13 +08:00
DIYgod 7cc08bab74 fix(ci): declare css interop runtime for mobile bundling 2026-04-14 15:18:57 +08:00
DIYgod c04f0e4cb3 fix(ci): declare expo config plugins for mobile app config 2026-04-14 15:10:15 +08:00
DIYgod 8e2e9ca29d fix(ci): preserve mobile web assets for local eas builds 2026-04-14 15:00:53 +08:00
DIYgod e3227c932f release(mobile): release v0.5.0 2026-04-14 09:45:18 +08:00
DIYgod f9dd5a83ee feat(ota): add GitHub release-based OTA delivery 2026-04-11 10:07:03 +08:00
DIYgod f77ac26541 feat(mobile): upgrade expo sdk 55 and rnfirebase 2026-04-10 22:42:21 +08:00
DIYgod bda7c3a0a8 feat(ota): generate release assets from mobile export 2026-04-10 21:25:34 +08:00
DIYgod cae21c1c4b release(mobile): release v0.4.1 2026-04-02 18:08:30 +08:00
DIYgod 1c89c8476f fix(mobile): add expo-network for EAS builds (#4951) 2026-04-02 09:51:11 +00:00
DIYgod 338164b68c fix(web): remove openpanel and fix ssr manifest 2026-03-17 18:17:39 +08:00
DIYgod 397049014f fix: upgrade better-auth client compatibility 2026-03-16 21:14:41 +08:00
DIYgod 278388cc13 release(mobile): release v0.4.0 2026-03-12 17:37:24 +08:00
DIYgod e8ae098ba0 fix(mobile): repair discover categories and bootstrap iOS auth (#4912) 2026-03-12 12:27:52 +08:00
DIYgod b1ed3828d4 feat: add store review prompts for desktop and mobile (#4909) 2026-03-11 22:54:04 +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 30985c2e51 release(mobile): release v0.3.0 2026-02-18 23:42:59 +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 e234dda512.
2026-02-18 23:16:00 +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
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 3d21eab3f0 chore: update ai sdk to v6.0.5 (#4790) 2026-01-01 15:52:02 +08:00
DIYgod 68fb09eb03 chore: update dependencies (#4667)
* chore: update dependencies

* Implement code changes to enhance functionality and improve performance
2025-11-06 21:09:46 +08:00
Stephen Zhou 53e3578af2 feat: new payment (#4629)
* feat: new payment

* update

* update

* update

* update

* feat: enhance plan feature formatting and update localization strings

* update

* update

* update

* update

* refactor: remove NeedActivationToast and related activation modal logic

* update

* feat(settings): guard paid settings

Centralized paid-level metadata in @follow/shared and exposed the SettingNamespace union.
Updated the builder helpers and every settings tab to pull paid badges from that shared map.
Hardened the atoms helper to block writes and surface default values when a user lacks the required role.
Added the necessary workspace dependencies for the atoms package.

* fix: types

* feat(rate-limit-notice): update error messaging and add upgrade prompt

* feat(settings): integrate review checks into settings components

* update

* fix(plan): correct priority calculation in setting page data

* feat(ai-summary): add upgrade suggestion for AI summary when plan is insufficient

* feat(settings): enhance PaidBadge component to conditionally render based on MAS review status

---------

Co-authored-by: DIYgod <i@diygod.me>
2025-10-31 11:42:57 +08:00
Innei c72c526664 chore: downgrade React and React-DOM to version 19.0.0 across all packages for compatibility
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-22 01:06:50 +08:00
DIYgod 7507270b39 chore: update dependencies 2025-10-21 16:33:03 +08:00
Innei 822d6b0417 feat(mobile): integrate expo-glass-effect for enhanced blur effects
- Added the `expo-glass-effect` package to `package.json` to enable glass effect features.
- Updated `BlurEffect` and `ThemedBlurView` components to conditionally render a glass effect on iOS 26 devices.
- Introduced `GlassPlayerTabBar` component for improved tab bar aesthetics and functionality.
- Enhanced `PlayerAction` component to utilize the new glass effect in its UI.

These changes aim to improve the visual experience of the mobile application by incorporating modern UI effects.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-24 23:53:37 +08:00
Innei 2ec185364e chore(mobile): bump version to 0.2.9 in package.json and Info.plist
- Updated the version number from 0.2.8 to 0.2.9 in both package.json and Info.plist to reflect the latest changes and improvements.

This version bump ensures that the mobile app is correctly identified with the latest updates.

Signed-off-by: Innei <tukon479@gmail.com>
2025-09-24 20:05:26 +08:00