Highlighted words kept the theme's white or gray text on the pale
highlight colors, about 2:1 contrast in dark mode, in the timeline, entry
titles and entry text. Highlights now set black text, or white on a dark
color.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The OTA provider fetched the store policy but never used it. Fetch it
once per launch, from the env profile's OTA URL, and show an alert when
the App Store or Google Play has a newer version. Later puts that
version off, a prompt shows at most once per launch, and a blocked
version asks every time the app returns to the foreground. APKs from
outside Google Play are not prompted, the alert waits until the app is
in front, and while it is open the review prompt stays away.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The picture masonry marked entries up to the smallest index among the
items an IntersectionObserver callback reported as gone. Several items
leave in the same frame, so later callbacks only caught up mid-list and
the last entries stayed unread. Use the first laid out item still in view
as the boundary instead and reuse the list's anchor range logic.
The list and grid virtualizers memoized onChange without onRangeChange. A
list mounted while a scroll reset was pending kept a handler that always
returned early, leaving only onScroll, which runs before the range update,
so the range of the last scroll event was never marked.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
api.dev.follow.is no longer resolves to a working API, so the dev env
profile (the default in mobile development builds) could not load
anything. Use the current api.dev.folo.is and dev.folo.is hosts.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- add a Reading settings screen (content font, line height, text color,
inline style, code theme) reachable from Appearance and from the entry
"more" menu
- add a System / Light / Dark theme setting applied through
Appearance.setColorScheme so the reader WebView follows it as well
- optionally slide the entry header away while scrolling down and keep a
blurred status bar strip so the clock stays readable
- forward reader typography to the html renderer through a new
setReaderStyle bridge call
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
* 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
* 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>
* 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
* feat: implement BYOK (Bring Your Own Key) feature for AI providers
- Added BYOK section in AI settings to manage custom API keys.
- Introduced components for adding, editing, and deleting BYOK providers.
- Updated translations for BYOK-related UI elements.
- Modified existing components to support new BYOK functionality.
Signed-off-by: Innei <tukon479@gmail.com>
* feat: enhance BYOK provider support and update UI elements
- Added support for the "OpenRouter" BYOK provider in relevant components.
- Updated translations for security-related UI elements to reflect new descriptions.
- Adjusted styling in settings components for improved visual consistency.
Signed-off-by: Innei <tukon479@gmail.com>
* feat: refine BYOK provider management and enhance UI
- Introduced a new constants file for BYOK provider options.
- Updated the ByokProviderModalContent to filter available providers based on configured ones.
- Enhanced the ByokSection to manage provider addition and editing more effectively.
- Adjusted table styling in the PlanComparisonTable for improved readability.
- Added new translation keys for "AI Bring Your Own Key" in multiple languages.
Signed-off-by: Innei <tukon479@gmail.com>
---------
Signed-off-by: Innei <tukon479@gmail.com>
- Added a new method to open external URLs in the app.
- Enhanced the updater to check for distribution updates and notify users.
- Updated the updater status types to include distribution updates.
- Refactored the update notice component to handle distribution store updates.
- Added localization for distribution update notifications.
This update improves the user experience by allowing seamless updates from distribution stores and providing clear notifications for available updates.
Signed-off-by: Innei <tukon479@gmail.com>