Commit Graph

7011 Commits

Author SHA1 Message Date
DIYgod 3846c90b67
fix(ci): scope release detection to target branch (#5065) 2026-08-01 23:14:33 +08:00
github-actions[bot] 3bc8336562
Merge pull request #5068 from RSSNext/mobile-main
chore(sync): merge mobile-main into dev
2026-08-01 10:37:48 +00:00
DIYgod a580e0a337
Merge pull request #5067 from RSSNext/release/mobile/0.5.8
release(mobile): Release v0.5.8
2026-08-01 18:28:33 +08:00
DIYgod f6777ee559 release(mobile): release v0.5.8 2026-08-01 17:45:07 +08:00
DIYgod 6a8c07c000 docs(mobile): prepare release metadata 2026-08-01 17:44:47 +08:00
DIYgod e291c3d1da fix(mobile): comply with Android media permissions policy 2026-08-01 17:41:46 +08:00
DIYgod efafb15d7c
Merge pull request #5064 from RSSNext/mobile-main
chore(sync): merge mobile-main into dev
2026-07-31 19:28:49 +08:00
DIYgod 4dea1853b6 release(mobile): Release v0.5.7 2026-07-31 19:03:10 +08:00
DIYgod 07dd7e27ab
Merge pull request #5063 from RSSNext/mobile-main
chore(sync): merge mobile-main into dev
2026-07-31 18:39:13 +08:00
DIYgod 48ce50d034
release(mobile): Release v0.5.7 (#5061)
* release(desktop): release v1.11.0

* docs(desktop): restore mobile release inputs

* fix(desktop): use js-yaml ESM exports

* fix(desktop): use js-yaml ESM exports

* fix(desktop): package jsdom runtime dependencies

* fix(desktop): package jsdom runtime dependencies

* fix(desktop): use js-yaml ESM exports for Windows metadata

* build(deps): bump actions/setup-node from 6 to 7 (#5046)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6 to 7.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(ssr): escape hydration data in inline scripts

* fix(ssr): restore shared user profiles

* fix: make Codex worktree setup portable

* fix(mobile): restore dark mode text colors

* fix(styles): avoid DaisyUI border token collision

* fix(desktop): restore category chevron rotation

* fix(subscription): recover past-due Stripe checkout

* fix(desktop): dismiss share popover after actions

* fix(mobile): handle RSSHub subscription limit errors

* fix(desktop/ipc): allowlist URL scheme protocols in openURLScheme (#5056)

The 'integration.openURLScheme' IPC method invokes 'shell.openExternal'
with a renderer-supplied string after only checking that it contains
'://'. Electron's documentation explicitly warns that passing untrusted
URLs to 'shell.openExternal' is unsafe: schemes such as 'file://',
'smb://', 'ms-msdt:', 'search-ms:', 'jar:', 'res:', 'javascript:',
'data:' and 'vbscript:' have well-known abuse chains (local file
disclosure, NTLM credential theft over SMB on Windows, MSDT/Follina-style
RCE, etc.). Because the renderer process can also reach this IPC via any
XSS sink in untrusted RSS feed content, the previous validation was not
sufficient.

Replace the substring check with strict URL parsing plus an allowlist of
protocols that match the integration use-cases documented in the UI
(Obsidian, Bear, Drafts, Things, Notion, DEVONthink) plus generic
http/https/mailto. All other protocols are rejected with a clear error.

Adds vitest cases for representative dangerous schemes (verifying that
'shell.openExternal' is never invoked) and for every scheme shipped as a
built-in example, so future regressions on either side are caught.

* chore(ci): format integration URL scheme test

* fix(mobile): use product IDs for Apple IAP verification

* docs(desktop): prepare release inputs

* docs(mobile): prepare release metadata

* release(mobile): release v0.5.7

* docs(mobile): restore desktop release inputs

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sebastion <sebastion@sebastion.dev>
2026-07-31 18:32:29 +08:00
github-actions[bot] ec8838083e
Merge pull request #5062 from RSSNext/main
chore(sync): merge main into dev
2026-07-31 10:16:13 +00:00
DIYgod 0eb0b13dab
release(desktop): Release v1.12.0 (#5060)
* release(mobile): release v0.5.6

* docs(mobile): restore desktop release inputs

* fix(desktop): use js-yaml ESM exports

* fix(desktop): package jsdom runtime dependencies

* fix(desktop): use js-yaml ESM exports for Windows metadata

* build(deps): bump actions/setup-node from 6 to 7 (#5046)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6 to 7.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(ssr): escape hydration data in inline scripts

* fix(ssr): restore shared user profiles

* fix: make Codex worktree setup portable

* fix(mobile): restore dark mode text colors

* fix(styles): avoid DaisyUI border token collision

* fix(desktop): restore category chevron rotation

* fix(subscription): recover past-due Stripe checkout

* fix(desktop): dismiss share popover after actions

* fix(mobile): handle RSSHub subscription limit errors

* fix(desktop/ipc): allowlist URL scheme protocols in openURLScheme (#5056)

The 'integration.openURLScheme' IPC method invokes 'shell.openExternal'
with a renderer-supplied string after only checking that it contains
'://'. Electron's documentation explicitly warns that passing untrusted
URLs to 'shell.openExternal' is unsafe: schemes such as 'file://',
'smb://', 'ms-msdt:', 'search-ms:', 'jar:', 'res:', 'javascript:',
'data:' and 'vbscript:' have well-known abuse chains (local file
disclosure, NTLM credential theft over SMB on Windows, MSDT/Follina-style
RCE, etc.). Because the renderer process can also reach this IPC via any
XSS sink in untrusted RSS feed content, the previous validation was not
sufficient.

Replace the substring check with strict URL parsing plus an allowlist of
protocols that match the integration use-cases documented in the UI
(Obsidian, Bear, Drafts, Things, Notion, DEVONthink) plus generic
http/https/mailto. All other protocols are rejected with a clear error.

Adds vitest cases for representative dangerous schemes (verifying that
'shell.openExternal' is never invoked) and for every scheme shipped as a
built-in example, so future regressions on either side are caught.

* chore(ci): format integration URL scheme test

* fix(mobile): use product IDs for Apple IAP verification

* docs(desktop): prepare release inputs

* docs(mobile): prepare release metadata

* release(desktop): release v1.12.0

* docs(desktop): restore mobile release inputs

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sebastion <sebastion@sebastion.dev>
2026-07-31 18:09:55 +08:00
DIYgod 376e6e0343 docs(mobile): restore desktop release inputs 2026-07-31 16:31:48 +08:00
DIYgod eb782e0389 release(mobile): release v0.5.7 2026-07-31 16:31:13 +08:00
DIYgod c8a0aa0b4f docs(desktop): restore mobile release inputs 2026-07-31 16:29:28 +08:00
DIYgod e0c5d6186a release(desktop): release v1.12.0 2026-07-31 16:28:50 +08:00
DIYgod 8a2babfd4f docs(mobile): prepare release metadata 2026-07-31 16:27:59 +08:00
DIYgod 2d9c026cca docs(desktop): prepare release inputs 2026-07-31 16:27:49 +08:00
DIYgod a27db571b3 fix(mobile): use product IDs for Apple IAP verification 2026-07-30 19:27:59 +08:00
DIYgod dd2c933936 chore(ci): format integration URL scheme test 2026-07-28 13:52:45 +08:00
Sebastion bd91b015ee
fix(desktop/ipc): allowlist URL scheme protocols in openURLScheme (#5056)
The 'integration.openURLScheme' IPC method invokes 'shell.openExternal'
with a renderer-supplied string after only checking that it contains
'://'. Electron's documentation explicitly warns that passing untrusted
URLs to 'shell.openExternal' is unsafe: schemes such as 'file://',
'smb://', 'ms-msdt:', 'search-ms:', 'jar:', 'res:', 'javascript:',
'data:' and 'vbscript:' have well-known abuse chains (local file
disclosure, NTLM credential theft over SMB on Windows, MSDT/Follina-style
RCE, etc.). Because the renderer process can also reach this IPC via any
XSS sink in untrusted RSS feed content, the previous validation was not
sufficient.

Replace the substring check with strict URL parsing plus an allowlist of
protocols that match the integration use-cases documented in the UI
(Obsidian, Bear, Drafts, Things, Notion, DEVONthink) plus generic
http/https/mailto. All other protocols are rejected with a clear error.

Adds vitest cases for representative dangerous schemes (verifying that
'shell.openExternal' is never invoked) and for every scheme shipped as a
built-in example, so future regressions on either side are caught.
2026-07-28 13:40:13 +08:00
DIYgod 2350884eae fix(mobile): handle RSSHub subscription limit errors 2026-07-26 07:29:14 +08:00
DIYgod 52f587dacb fix(desktop): dismiss share popover after actions 2026-07-25 20:23:44 +08:00
DIYgod 3d65478fb6 fix(subscription): recover past-due Stripe checkout 2026-07-25 20:22:55 +08:00
DIYgod 22c8a667e6 fix(desktop): restore category chevron rotation 2026-07-25 20:18:50 +08:00
DIYgod 2034702df6 fix(styles): avoid DaisyUI border token collision 2026-07-25 20:17:55 +08:00
DIYgod 764c70b48c fix(mobile): restore dark mode text colors 2026-07-25 18:20:36 +08:00
DIYgod a9e2b1a818 fix: make Codex worktree setup portable 2026-07-25 15:31:42 +08:00
DIYgod 110960a6f0 fix(ssr): restore shared user profiles 2026-07-25 15:06:20 +08:00
DIYgod cf224d63f5 fix(ssr): escape hydration data in inline scripts 2026-07-25 12:38:49 +08:00
dependabot[bot] 773f1bfe21
build(deps): bump actions/setup-node from 6 to 7 (#5046)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6 to 7.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-15 09:00:49 +08:00
DIYgod 192a7139ce fix(desktop): use js-yaml ESM exports for Windows metadata 2026-07-13 13:03:42 +08:00
DIYgod 6000787cb8 fix(desktop): use js-yaml ESM exports for Windows metadata 2026-07-13 13:03:25 +08:00
DIYgod c3eb7285f9
Merge pull request #5044 from RSSNext/main
chore(sync): merge main into dev
2026-07-13 12:37:24 +08:00
DIYgod d7365aebf4
Merge pull request #5041 from RSSNext/release/desktop/1.11.0
release(desktop): Release v1.11.0
2026-07-13 12:36:53 +08:00
DIYgod d90cdfe2b3 fix(desktop): package jsdom runtime dependencies 2026-07-13 12:13:57 +08:00
DIYgod 713c53352d fix(desktop): package jsdom runtime dependencies 2026-07-13 12:12:50 +08:00
DIYgod c231c05ed9
Merge pull request #5043 from RSSNext/mobile-main
chore(sync): merge mobile-main into dev
2026-07-13 11:47:28 +08:00
DIYgod 8f7471951d
Merge pull request #5042 from RSSNext/release/mobile/0.5.6
release(mobile): Release v0.5.6
2026-07-13 11:46:49 +08:00
DIYgod 57fd759f25 fix(desktop): use js-yaml ESM exports 2026-07-13 11:33:09 +08:00
DIYgod d726ccccb2 fix(desktop): use js-yaml ESM exports 2026-07-13 11:32:42 +08:00
DIYgod 06135760ba docs(mobile): restore desktop release inputs 2026-07-13 11:14:43 +08:00
DIYgod 7c4d51a642 release(mobile): release v0.5.6 2026-07-13 11:14:04 +08:00
DIYgod c3fae852aa docs(desktop): restore mobile release inputs 2026-07-13 11:13:00 +08:00
DIYgod c77e60e161 release(desktop): release v1.11.0 2026-07-13 11:11:44 +08:00
DIYgod ce905f8c5a docs(mobile): prepare release metadata 2026-07-13 11:10:19 +08:00
DIYgod 5318b9e156 docs(desktop): prepare release inputs 2026-07-13 11:10:13 +08:00
DIYgod 212db8a584 fix(mobile): restore push notification registration 2026-07-12 19:43:36 +08:00
DIYgod 451e263db4 chore(sync): merge mobile-main into dev 2026-07-12 18:32:36 +08:00
Tony c3e1c26194
fix(desktop): set referrerpolicy on youtube embed iframes (#5039) 2026-07-12 18:07:09 +08:00