Huang Xin
381eed21cc
fix(tauri): skip runtime-config.js injection in static export ( #4332 )
...
The Tauri build uses `output: 'export'`, so the dynamic `/runtime-config.js`
route handler is never emitted. Requesting it returns the SPA fallback HTML
and crashes with `Unexpected token '<'`. Gate the script tag on
`NEXT_PUBLIC_APP_PLATFORM === 'web'`; Tauri consumers already fall back to
the `NEXT_PUBLIC_*` envs baked in at build time.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 04:14:47 +02:00
Amir Pourmand
9ad43aa8b2
feat(docker): add GHCR and Docker Hub image publishing ( #4250 )
...
* Add GHCR and Docker Hub image publishing with fully runtime-configurable pull-first Docker setup (#1 )
* feat: add container image publishing workflow and pull-based compose setup
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/23c31167-9e15-4d44-ab89-f267b8cd6304
* refine docker publishing workflow and pull-first compose docs
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/23c31167-9e15-4d44-ab89-f267b8cd6304
* chore: temporarily expose docker publish run results for pr branch
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/c946a2f2-2219-4dea-a829-61b287bc4859
* fix: update pinned SHAs for setup-qemu-action and setup-buildx-action to v3 heads
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/0db6957e-476b-48e0-acf3-bee6964c3b32
Co-authored-by: pourmand1376 <32064808+pourmand1376@users.noreply.github.com >
* chore: switch all workflow action refs from SHA pins to stable version tags
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/19334b37-9b4c-45df-9c3c-81a497cef8e8
Co-authored-by: pourmand1376 <32064808+pourmand1376@users.noreply.github.com >
* fix: restore missing `with:` blocks lost during SHA-to-tag substitution
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/f204f742-5b7d-4f05-9647-03b9db86ea3d
Co-authored-by: pourmand1376 <32064808+pourmand1376@users.noreply.github.com >
* fix(ci): checkout submodules for docker image workflow
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/72309e8a-6c7c-4004-902a-565f67e5c15f
Co-authored-by: pourmand1376 <32064808+pourmand1376@users.noreply.github.com >
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* feat(docker): support runtime client env for pulled web image
* refactor(web): serve runtime config via script endpoint
* fix(web): escape runtime config script payload
* fix: align docker runtime config with internal/public backend urls
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/3bbcb608-6202-4f9e-b288-5c95a259da93
Co-authored-by: pourmand1376 <32064808+pourmand1376@users.noreply.github.com >
* chore: align published workflow tags with docs
* docs: clarify runtime config precedence and linux host mapping
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/3bbcb608-6202-4f9e-b288-5c95a259da93
* refactor: move storage/quota config from build args to runtime env
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/da9b749e-0b1c-47b9-b474-5009765b6ea6
Co-authored-by: pourmand1376 <32064808+pourmand1376@users.noreply.github.com >
* fix: load runtime config in pages router app shell
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/b375132c-8317-4c98-b437-ae48c0153e3d
Co-authored-by: pourmand1376 <32064808+pourmand1376@users.noreply.github.com >
* fix: apply biome formatting for runtime config quota helpers
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/778f5d75-884e-401b-b7cb-4ab40bc64a11
Co-authored-by: pourmand1376 <32064808+pourmand1376@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: pourmand1376 <32064808+pourmand1376@users.noreply.github.com >
Co-authored-by: Amir Pourmand <pourmand1376@gmail.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* fix: S3_PUBLIC_ENDPOINT, _document.tsx for beforeInteractive, runtimeConfig fallbacks, README port (#2 )
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/4f92f818-c008-4caa-9684-d530500b5fb2
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: pourmand1376 <32064808+pourmand1376@users.noreply.github.com >
* fix: reformat runtimeConfig.ts to satisfy biome formatter (#3 )
Agent-Logs-Url: https://github.com/pourmand1376/readest/sessions/4eea77f4-67ab-4428-b59e-0b21be988037
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: pourmand1376 <32064808+pourmand1376@users.noreply.github.com >
---------
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-21 19:57:35 +02:00
Huang Xin
244b3fd994
fix(dev): rewrite HMR WebSocket URL in Tauri mobile dev, closes #4150 ( #4160 )
...
In Tauri mobile dev the page origin doesn't match the dev server, so
Next.js's `getSocketUrl` builds an unreachable HMR URL (`wss://localhost`
on iOS, `ws://tauri.localhost` on Android), the HMR client never connects,
and the page stays blank.
Inject a tiny script in `<head>` (dev + Tauri only) that subclasses
`window.WebSocket` and rewrites the broken URL to the actual dev server.
`TAURI_DEV_HOST` is forwarded from the build env so `pnpm tauri {ios,android}
dev --host <ip>` also routes HMR through the LAN address.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 19:06:22 +02:00
Huang Xin
cc8f917cdd
fix(layout): silence viewport meta warning on non-Android browsers ( #4097 )
...
`interactive-widget=resizes-content` was set in the SSR viewport
metadata so Android Chrome would shrink the layout viewport when
the on-screen keyboard opens (matching iOS default behavior).
Other browsers — Safari on macOS / iOS, desktop Chrome, Firefox —
log a console warning every page load because they don't recognize
the key.
Move the attachment client-side, gated on a UA sniff for Android,
so the meta tag stays clean for everyone else. The Android-specific
behavior (modals centered above the keyboard) is preserved on the
platform that actually needed it.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-08 21:16:52 +02:00
Huang Xin
dc58d985e7
fix(layout): center fixed modals above the on-screen keyboard on Android ( #4091 )
...
Adds `interactive-widget=resizes-content` to the viewport meta. iOS
Safari already shrinks the layout viewport when the keyboard opens,
so existing `fixed inset-0` flex-centered modals (PassphrasePrompt,
GroupingModal, etc.) auto-center in the visible space. Android
Chrome defaults to `resizes-visual` — only the visual viewport
shrinks, layout stays full-height — leaving those modals rendered
under the keyboard. Switching to `resizes-content` makes Android
match iOS without any per-modal JS.
Updates both the App Router viewport export (src/app/layout.tsx)
and the Pages Router fallback meta (src/pages/_app.tsx).
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-08 14:31:37 +02:00
Huang Xin
d488f65447
fix(seo): fixed the title and description of the user page ( #3952 )
2026-04-25 09:56:13 +02:00
Huang Xin
128b238bcb
feat: add directional view transitions with scroll preservation in library view, closes #3357 ( #3362 )
2026-02-24 14:56:45 +01:00
Huang Xin
93228c4b2a
fix: avoid hydration mismatch for tauri app ( #2884 )
2026-01-08 04:05:10 +01:00
Huang Xin
9fd152d727
refactor(a11y): add basic lint for accessibility ( #2021 )
2025-09-11 18:57:04 +02:00
Huang Xin
267fe58a8c
fix: reduce screen flash with different background colors when app starts, closes #1915 ( #1922 )
2025-08-28 20:02:53 +02:00
Huang Xin
f46be89036
fix: apply system color scheme for iOS in auto theme mode, closes #1762 ( #1767 )
2025-08-08 13:45:04 +02:00
Huang Xin
602be376a1
css: include additional weight variants for built-in fonts ( #1158 )
2025-05-15 05:04:16 +02:00
Huang Xin
58d3e7b221
mobile: some UI tweaks and add system fonts ( #233 )
2025-01-23 16:53:42 +01:00
Huang Xin
c8bfb64ad3
Dynamically set theme color for PWA browser UI elements ( #213 )
2025-01-22 01:20:41 +01:00
Huang Xin
ee0d7d7ad0
Support PWA for the web version ( #212 )
...
* Support PWA for the web version
* Remove unused Cargo.lock
2025-01-22 00:18:19 +01:00
Huang Xin
4612730474
Add i18n support ( #46 )
2024-12-26 23:29:54 +01:00
chrox
17336d7ac9
Add CORS for the sync API
2024-12-24 18:02:39 +01:00
chrox
447eb09272
Add vercel deploy workflows for readest org
2024-12-24 14:31:02 +01:00
chrox
a074542e96
Remove unnecessary favicon and add description for better SEO
2024-12-24 12:37:52 +01:00
chrox
410d57e6f1
Import books from URLs in library page with url parameter
2024-12-11 20:31:41 +01:00
chrox
0cbb950c37
Add support of popover footnotes
2024-12-10 14:14:34 +01:00
chrox
bdf619f2e6
Update open graph metadata for Readest WebApp
2024-12-06 22:44:57 +01:00
chrox
aa16bc09f1
Support running Readest in modern browsers
...
Now we support Web platform
2024-12-05 18:57:16 +01:00
chrox
1429f111bc
Add file associations to support system "open with Readest" function, closes #1
...
Support passing files as command line args to Readest
2024-12-03 22:16:51 +01:00
chrox
5ed74fe9c5
Add app auto updater and bump update of tauri
2024-12-03 17:41:10 +01:00
chrox
53feabe256
Add wikipedia and translation of selected text
2024-11-21 11:23:49 +01:00
chrox
b3c23cd1b5
Various fix for theming
2024-11-20 14:01:28 +01:00
chrox
15939ce2fc
Add theme and color config
2024-11-19 20:26:11 +01:00
chrox
2e6a1de36b
Various UI fixes
2024-11-15 14:12:38 +01:00
chrox
7ddca6fbca
Move css files to styles dir
2024-11-05 10:58:34 +01:00
chrox
1cbceeee49
Add some fonts that are good for reading
2024-11-04 13:39:38 +01:00
chrox
82ff1b878e
Add PostHog Analytics
2024-11-03 12:14:11 +01:00
chrox
90a1b1828c
Update to Next.js 15
2024-10-28 18:23:48 +01:00
chrox
f463225018
Add a working reader page with default foliate settings
2024-10-13 00:20:48 +02:00
chrox
d0487f83b0
Refactor the library page to Navbar, Spinner and Bookshelf
2024-10-12 21:19:05 +02:00
chrox
3324540b3f
Add library page and daisyUI
2024-10-12 21:14:04 +02:00
chrox
aa07a4de3b
Test basic building env
2024-10-12 20:12:16 +02:00
chrox
5172b049ea
Rename digest to readest
2024-10-12 19:51:09 +02:00