Merge pull request #5018 from RSSNext/mobile-main

chore(sync): merge mobile-main into dev
This commit is contained in:
DIYgod 2026-05-29 16:02:39 +08:00 committed by GitHub
commit 0fb64b5fb8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 71 additions and 22 deletions

View File

@ -0,0 +1,25 @@
import { readFileSync } from "node:fs"
import { describe, expect, it } from "vitest"
const workflow = (name: string) => readFileSync(`.github/workflows/${name}`, "utf8")
describe("release build workflow guards", () => {
it("skips direct mobile push builds for desktop release commits on main", () => {
const androidWorkflow = workflow("build-android.yml")
const iosWorkflow = workflow("build-ios.yml")
expect(androidWorkflow).toContain("github.ref == 'refs/heads/main'")
expect(androidWorkflow).toContain("release(desktop):")
expect(iosWorkflow).toContain("github.ref == 'refs/heads/main'")
expect(iosWorkflow).toContain("release(desktop):")
})
it("skips direct desktop push builds for mobile release commits on mobile-main", () => {
const desktopWorkflow = workflow("build-desktop.yml")
expect(desktopWorkflow).toContain("github.ref == 'refs/heads/mobile-main'")
expect(desktopWorkflow).toContain("release(mobile):")
})
})

View File

@ -29,9 +29,16 @@ concurrency:
jobs:
build:
name: Build Android apk for device
if: github.secret_source != 'None' && (github.event_name != 'push' || github.ref != 'refs/heads/mobile-main' || !contains(github.event.head_commit.message || '', 'release(mobile):'))
if: >-
github.secret_source != 'None' &&
(
github.event_name != 'push' ||
!(
(github.ref == 'refs/heads/mobile-main' && contains(github.event.head_commit.message || '', 'release(mobile):')) ||
(github.ref == 'refs/heads/main' && contains(github.event.head_commit.message || '', 'release(desktop):'))
)
)
runs-on: ubuntu-latest
steps:
- name: 🧹 Claim disk space
run: |

View File

@ -39,7 +39,15 @@ env:
jobs:
release:
if: github.secret_source != 'None' && (github.event_name != 'push' || github.ref != 'refs/heads/main' || !contains(github.event.head_commit.message || '', 'release(desktop):'))
if: >-
github.secret_source != 'None' &&
(
github.event_name != 'push' ||
!(
(github.ref == 'refs/heads/main' && contains(github.event.head_commit.message || '', 'release(desktop):')) ||
(github.ref == 'refs/heads/mobile-main' && contains(github.event.head_commit.message || '', 'release(mobile):'))
)
)
runs-on: ${{ matrix.os }}
env:
PROD: ${{ github.event.inputs.tag_version == 'true' || github.ref_type == 'tag' || github.event.inputs.store == 'true' }}

View File

@ -23,7 +23,15 @@ concurrency:
jobs:
check-runner:
if: github.secret_source != 'None' && (github.event_name != 'push' || github.ref != 'refs/heads/mobile-main' || !contains(github.event.head_commit.message || '', 'release(mobile):'))
if: >-
github.secret_source != 'None' &&
(
github.event_name != 'push' ||
!(
(github.ref == 'refs/heads/mobile-main' && contains(github.event.head_commit.message || '', 'release(mobile):')) ||
(github.ref == 'refs/heads/main' && contains(github.event.head_commit.message || '', 'release(desktop):'))
)
)
runs-on: ubuntu-latest
outputs:
runner-label: ${{ steps.set-runner.outputs.runner-label }}

View File

@ -1,13 +0,0 @@
# What's new in v1.8.0
## Shiny new things
- Added an Eagle action to image context menus
## No longer broken
- Fixed tray menu refreshes losing the active tray instance
- Fixed desktop auth cookies missing max-age persistence
- Fixed unavailable AI summaries breaking summary state
- Fixed final entries and mark-read footers near the end of entry lists
- Delayed feed error indicators to avoid premature error states

View File

@ -0,0 +1,14 @@
# What's New in v0.5.4
## Improvements
- Upgraded AI summaries to a more powerful Kimi model
- Improved scroll mark-read reliability with batched updates, retry handling, and local read-state preservation
- Improved action rule editor state stability
- Routed direct downloads through OTA-backed delivery
## No longer broken
- Fixed duplicate shared links from mobile share actions
- Fixed starred collection pagination order
- Fixed unread counts after time-limited mark-read actions

View File

@ -33,7 +33,7 @@
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>0.5.3</string>
<string>0.5.4</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
@ -54,7 +54,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>6</string>
<string>7</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationCategoryType</key>

View File

@ -1,6 +1,6 @@
{
"name": "@follow/mobile",
"version": "0.5.3",
"version": "0.5.4",
"private": true,
"main": "src/main.tsx",
"scripts": {

View File

@ -1,6 +1,6 @@
{
"version": "0.5.3",
"version": "0.5.4",
"mode": "ota",
"runtimeVersion": "0.5.0",
"runtimeVersion": "0.5.3",
"channel": "production"
}