Compress 1.8.3 whatsnew bullets (all locales)#647
Conversation
WalkthroughThis PR updates release notes JSON files for version 1.8.3 (versionCode 18) across 13 language variants. All files maintain the same three-section structure (NEW, FIXED, IMPROVED) with revised bullet text describing new installation methods, security features, bug fixes, and UI rendering improvements. ChangesVersion 1.8.3 Release Notes Localization
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThis PR compresses the 1.8.3
Confidence Score: 5/5Safe to merge — changes are limited to release-note JSON content with no runtime logic affected. All 13 changed files are static JSON release notes. No application logic, data models, or build config are touched. The observations raised are about content accuracy (a reclassified feature bullet, a dropped UX clarification, and a PR description discrepancy), none of which affect app behaviour at runtime. No files require special attention from a correctness standpoint; the base 18.json and its locale mirrors all carry the same content discrepancies noted above. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
subgraph Before["Before (original 18.json)"]
N1["NEW × 5\n(macOS, fastly, Keep Android Open,\nweb-flow sign-in, KSafe)"]
F1["FIXED × 8"]
I1["IMPROVED × 11\n(incl. Codeberg+Forgejo as bullet 11)"]
end
subgraph After["After (compressed 18.json)"]
N2["NEW × 6\n(Codeberg+Forgejo+Gitea promoted,\nmacOS, web-flow sign-in, KSafe,\nfastly, Keep Android Open)"]
F2["FIXED × 8"]
I2["IMPROVED × 10\n(Codeberg bullet removed;\n'Manual URL entry' clause dropped\nfrom Smart match bullet)"]
end
I1 -->|"Codeberg bullet\npromoted + Gitea added"| N2
I1 -->|"'Manual URL entry'\nclause dropped"| I2
N1 --> N2
F1 --> F2
Reviews (2): Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." | Re-trigger Greptile |
| "Joined Keep Android Open coalition — banner explains why." | ||
| ] | ||
| }, | ||
| { | ||
| "type": "FIXED", |
There was a problem hiding this comment.
NEW bullets reordered, not just compressed
The original NEW bullet order was: (1) macOS Homebrew, (2) fastly mirror, (3) Keep Android Open, (4) GitHub web flow sign-in, (5) KSafe encryption. The compressed order becomes: (1) macOS Homebrew, (2) GitHub web flow, (3) KSafe encryption, (4) fastly mirror, (5) Keep Android Open. The PR description says "Pure compression — no feature claims added or removed," but reordering changes the visual emphasis — users scanning release notes see items in a different priority sequence. The same reordering is applied identically across all locale files. If this is intentional editorial restructuring, it may be worth calling out explicitly in the PR description.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@core/presentation/src/commonMain/composeResources/files/whatsnew/18.json`:
- Line 13: The whatsnew entry adds "fastly.jsdelivr.net" but the client only
should announce mirrors actually served; check the backend GET /v1/mirrors/list
implementation to confirm fastly.jsdelivr.net is included in responses, and if
it is not, either add it there or remove the whatsnew line. If the backend does
serve it, update the client bundled fallback list (BundledMirrors.kt) to include
"fastly.jsdelivr.net" so the app has the mirror available on first launch;
ensure the string matches exactly what the backend returns and re-run the mirror
list test/contract to verify consistency between GET /v1/mirrors/list and
BundledMirrors.kt.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: bcb93de2-aaec-4295-b813-c5cecadd3863
📒 Files selected for processing (13)
core/presentation/src/commonMain/composeResources/files/whatsnew/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/ar/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/bn/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/es/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/fr/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/hi/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/it/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/ja/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/ko/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/pl/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/ru/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/tr/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/zh-CN/18.json
| "macOS install via Homebrew tap: `brew install --cask github-store`.", | ||
| "Sign in with GitHub uses the standard web flow — no 8-digit code.", | ||
| "All prefs + credentials AES-256-GCM encrypted via KSafe (hardware-backed Keystore on Android). Migrates on first launch.", | ||
| "Added fastly.jsdelivr.net mirror for throttled GitHub.", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Search for fastly.jsdelivr.net mirror configuration in backend code
# Search for mirror list endpoint implementation
rg -n "fastly\.jsdelivr\.net" --type=kt --type=java -C3
# Search for mirror configuration files
fd -e json -e yaml -e yml -e conf | xargs rg -l "fastly\.jsdelivr\.net"
# Search for API endpoint that serves mirror list
rg -n "mirrors/list|/v1/mirrors" --type=kt --type=java -C5Repository: OpenHub-Store/GitHub-Store
Length of output: 1130
🏁 Script executed:
# Search for fastly.jsdelivr.net in all backend code (without restrictive file types)
rg "fastly\.jsdelivr\.net" -C3
# Search for mirror list endpoint and mirror configuration
rg "mirrors/list|mirrors.*list|mirror.*config" -C5
# Look for mirror-related code patterns
rg "mirror" -i --type=java --type=kt 2>/dev/null | head -50Repository: OpenHub-Store/GitHub-Store
Length of output: 21140
🏁 Script executed:
# Check directory structure to understand backend location
fd -t d -e "backend" -e "server" -e "api" 2>/dev/null | head -20
# Find Kotlin/Java files in common backend directories
find . -type f \( -name "*.kt" -o -name "*.java" \) 2>/dev/null | grep -E "(backend|server|api)" | head -30Repository: OpenHub-Store/GitHub-Store
Length of output: 168
🏁 Script executed:
# Find MirrorListResponse definition
rg "class MirrorListResponse|data class MirrorListResponse" -A 10
# Look for any hardcoded mirror data or configurations
rg "fastly" -iRepository: OpenHub-Store/GitHub-Store
Length of output: 4273
🏁 Script executed:
# Search for mirror data files or configurations
fd -e json -e yaml -e yml | xargs rg "mirror" -i 2>/dev/null | head -30
# Look for bundled fallback mirrors mentioned in docs
rg "bundled.*fallback|fallback.*mirror" -i -C3Repository: OpenHub-Store/GitHub-Store
Length of output: 12801
🏁 Script executed:
# Search for BundledMirrors file
fd -e kt | xargs rg "BundledMirrors|bundled.*mirror" -i
# Look for any hardcoded mirror configurations
rg "fastly|jsdelivr|github.*mirror|mirror.*entry" -i -B2 -A2 | head -100Repository: OpenHub-Store/GitHub-Store
Length of output: 15358
🏁 Script executed:
# Check the actual MirrorListResponse definition in the codebase
cat core/data/src/commonMain/kotlin/zed/rainxch/core/data/dto/MirrorListResponse.ktRepository: OpenHub-Store/GitHub-Store
Length of output: 819
🏁 Script executed:
cat core/data/src/commonMain/kotlin/zed/rainxch/core/data/mirror/BundledMirrors.ktRepository: OpenHub-Store/GitHub-Store
Length of output: 1265
Verify backend serves the fastly.jsdelivr.net mirror before shipping.
The whatsnew files announce fastly.jsdelivr.net, but this mirror is not present in the bundled fallback list (BundledMirrors.kt). Per coding guidelines, client announcements must only list mirrors that the backend actually serves via GET /v1/mirrors/list. Confirm that the backend API includes this mirror in its response and that BundledMirrors.kt is updated to include it—otherwise users will see the announcement but lack the mirror option on first launch or during cache miss.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@core/presentation/src/commonMain/composeResources/files/whatsnew/18.json` at
line 13, The whatsnew entry adds "fastly.jsdelivr.net" but the client only
should announce mirrors actually served; check the backend GET /v1/mirrors/list
implementation to confirm fastly.jsdelivr.net is included in responses, and if
it is not, either add it there or remove the whatsnew line. If the backend does
serve it, update the client bundled fallback list (BundledMirrors.kt) to include
"fastly.jsdelivr.net" so the app has the mirror available on first launch;
ensure the string matches exactly what the backend returns and re-run the mirror
list test/contract to verify consistency between GET /v1/mirrors/list and
BundledMirrors.kt.
…ew-1.8.3 # Conflicts: # core/presentation/src/commonMain/composeResources/files/whatsnew/18.json # core/presentation/src/commonMain/composeResources/files/whatsnew/ar/18.json # core/presentation/src/commonMain/composeResources/files/whatsnew/bn/18.json # core/presentation/src/commonMain/composeResources/files/whatsnew/es/18.json # core/presentation/src/commonMain/composeResources/files/whatsnew/fr/18.json # core/presentation/src/commonMain/composeResources/files/whatsnew/hi/18.json # core/presentation/src/commonMain/composeResources/files/whatsnew/it/18.json # core/presentation/src/commonMain/composeResources/files/whatsnew/ja/18.json # core/presentation/src/commonMain/composeResources/files/whatsnew/ko/18.json # core/presentation/src/commonMain/composeResources/files/whatsnew/pl/18.json # core/presentation/src/commonMain/composeResources/files/whatsnew/ru/18.json # core/presentation/src/commonMain/composeResources/files/whatsnew/tr/18.json # core/presentation/src/commonMain/composeResources/files/whatsnew/zh-CN/18.json
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@core/presentation/src/commonMain/composeResources/files/whatsnew/fr/18.json`:
- Line 10: The French sentence "Support Codeberg + Forgejo + Gitea. Colle une
URL de Codeberg / Forgejo ou ajoute ton hôte auto-hébergé sous Tweaks → Réseau.
Détails, install, mises à jour, recherche — tout est câblé." reads literal and
awkward; update this JSON entry by replacing that string with a more natural FR
UI phrasing (e.g., use "Installation" and "mises à jour" spelled out and a
smoother closing like "tout est pris en charge" or "tout fonctionne"), ensuring
the message still communicates support for Codeberg/Forgejo/Gitea, how to add a
host, and that details/installation/updates/search are supported; locate the
exact string in the JSON and substitute the improved French copy.
In `@core/presentation/src/commonMain/composeResources/files/whatsnew/ja/18.json`:
- Line 10: Update the Japanese message string in the JSON entry that currently
ends with "すべて配線済み" to use a more natural phrasing; replace "配線済み" with "対応済み"
so the sentence reads "詳細、インストール、更新、検索 — すべて対応済み。" Locate the string value that
contains "Codeberg + Forgejo + Gitea 対応。... すべて配線済み。" and perform the
substitution to produce the corrected wording.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 029bc484-c6b3-404d-af90-1243ad54ba3c
📒 Files selected for processing (13)
core/presentation/src/commonMain/composeResources/files/whatsnew/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/ar/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/bn/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/es/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/fr/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/hi/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/it/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/ja/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/ko/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/pl/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/ru/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/tr/18.jsoncore/presentation/src/commonMain/composeResources/files/whatsnew/zh-CN/18.json
✅ Files skipped from review due to trivial changes (11)
- core/presentation/src/commonMain/composeResources/files/whatsnew/tr/18.json
- core/presentation/src/commonMain/composeResources/files/whatsnew/bn/18.json
- core/presentation/src/commonMain/composeResources/files/whatsnew/ru/18.json
- core/presentation/src/commonMain/composeResources/files/whatsnew/18.json
- core/presentation/src/commonMain/composeResources/files/whatsnew/hi/18.json
- core/presentation/src/commonMain/composeResources/files/whatsnew/pl/18.json
- core/presentation/src/commonMain/composeResources/files/whatsnew/it/18.json
- core/presentation/src/commonMain/composeResources/files/whatsnew/zh-CN/18.json
- core/presentation/src/commonMain/composeResources/files/whatsnew/ar/18.json
- core/presentation/src/commonMain/composeResources/files/whatsnew/es/18.json
- core/presentation/src/commonMain/composeResources/files/whatsnew/ko/18.json
| "Rejoint la coalition Keep Android Open — une bannière in-app sur Apps l'explique.", | ||
| "La connexion GitHub passe au flux web standard — un tap, autorisation dans le navigateur, terminé. Plus de code à 8 chiffres.", | ||
| "Toutes les préférences persistées et identifiants sont désormais stockés chiffrés (AES-256-GCM) via KSafe — tokens GitHub, identifiants de proxy, paramètres de l'app, ID d'appareil, choix de mirror, tous les coachmarks, cache d'annonces. Keystore matériel sur Android. Les données existantes migrent automatiquement au premier lancement." | ||
| "Support Codeberg + Forgejo + Gitea. Colle une URL de Codeberg / Forgejo ou ajoute ton hôte auto-hébergé sous Tweaks → Réseau. Détails, install, mises à jour, recherche — tout est câblé.", |
There was a problem hiding this comment.
French copy on Line 10 reads too literal and less natural.
Line 10 uses mixed shorthand/literal wording (“install”, “tout est câblé”) that may feel unnatural in FR UI text.
✍️ Suggested wording tweak
- "Support Codeberg + Forgejo + Gitea. Colle une URL de Codeberg / Forgejo ou ajoute ton hôte auto-hébergé sous Tweaks → Réseau. Détails, install, mises à jour, recherche — tout est câblé.",
+ "Support Codeberg + Forgejo + Gitea. Colle une URL Codeberg / Forgejo ou ajoute ton hôte auto-hébergé dans Tweaks → Réseau. Détails, installation, mises à jour et recherche — tout est prêt.",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "Support Codeberg + Forgejo + Gitea. Colle une URL de Codeberg / Forgejo ou ajoute ton hôte auto-hébergé sous Tweaks → Réseau. Détails, install, mises à jour, recherche — tout est câblé.", | |
| "Support Codeberg + Forgejo + Gitea. Colle une URL Codeberg / Forgejo ou ajoute ton hôte auto-hébergé dans Tweaks → Réseau. Détails, installation, mises à jour et recherche — tout est prêt.", |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@core/presentation/src/commonMain/composeResources/files/whatsnew/fr/18.json`
at line 10, The French sentence "Support Codeberg + Forgejo + Gitea. Colle une
URL de Codeberg / Forgejo ou ajoute ton hôte auto-hébergé sous Tweaks → Réseau.
Détails, install, mises à jour, recherche — tout est câblé." reads literal and
awkward; update this JSON entry by replacing that string with a more natural FR
UI phrasing (e.g., use "Installation" and "mises à jour" spelled out and a
smoother closing like "tout est pris en charge" or "tout fonctionne"), ensuring
the message still communicates support for Codeberg/Forgejo/Gitea, how to add a
host, and that details/installation/updates/search are supported; locate the
exact string in the JSON and substitute the improved French copy.
| "Keep Android Open 連合に参加 — Apps のバナーで理由を説明。", | ||
| "GitHub サインインが標準のウェブフローに — タップ、ブラウザで承認、完了。8 桁コードは不要。", | ||
| "永続化される全ての設定と認証情報がKSafe経由でAES-256-GCM暗号化保存になりました — GitHubトークン、プロキシ認証情報、アプリ設定、デバイスID、ミラー選択、すべてのコーチマーク、お知らせキャッシュ。Androidではハードウェア対応Keystore。既存データは初回起動時にシームレスに移行されます。" | ||
| "Codeberg + Forgejo + Gitea 対応。Codeberg / Forgejo の URL を貼り付け、または設定 → ネットワークでセルフホスト先を追加。詳細、インストール、更新、検索 — すべて配線済み。", |
There was a problem hiding this comment.
Japanese phrase on Line 10 is unnatural (“配線済み”).
Line 10’s “すべて配線済み” reads like physical wiring; “対応済み” is more natural for feature support.
✍️ Suggested wording tweak
- "Codeberg + Forgejo + Gitea 対応。Codeberg / Forgejo の URL を貼り付け、または設定 → ネットワークでセルフホスト先を追加。詳細、インストール、更新、検索 — すべて配線済み。",
+ "Codeberg + Forgejo + Gitea 対応。Codeberg / Forgejo の URL を貼り付けるか、設定 → ネットワークでセルフホスト先を追加。詳細、インストール、更新、検索まで、すべて対応済み。",📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| "Codeberg + Forgejo + Gitea 対応。Codeberg / Forgejo の URL を貼り付け、または設定 → ネットワークでセルフホスト先を追加。詳細、インストール、更新、検索 — すべて配線済み。", | |
| "Codeberg + Forgejo + Gitea 対応。Codeberg / Forgejo の URL を貼り付けるか、設定 → ネットワークでセルフホスト先を追加。詳細、インストール、更新、検索まで、すべて対応済み。", |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@core/presentation/src/commonMain/composeResources/files/whatsnew/ja/18.json`
at line 10, Update the Japanese message string in the JSON entry that currently
ends with "すべて配線済み" to use a more natural phrasing; replace "配線済み" with "対応済み"
so the sentence reads "詳細、インストール、更新、検索 — すべて対応済み。" Locate the string value that
contains "Codeberg + Forgejo + Gitea 対応。... すべて配線済み。" and perform the
substitution to produce the corrected wording.
Summary
Test plan
Summary by CodeRabbit
New Features
Bug Fixes
Improvements