Skip to content

Add version 17 to known What's New version codes#590

Merged
rainxchzed merged 2 commits into
mainfrom
generate-installers
May 13, 2026
Merged

Add version 17 to known What's New version codes#590
rainxchzed merged 2 commits into
mainfrom
generate-installers

Conversation

@rainxchzed
Copy link
Copy Markdown
Member

@rainxchzed rainxchzed commented May 13, 2026

Summary by CodeRabbit

  • Bug Fixes

    • Fixed apostrophe formatting in user interface text across all supported languages (Arabic, Bangla, Spanish, French, Hindi, Italian, Korean, Polish, Russian, Turkish, Chinese, and English) for improved text display consistency.
  • Chores

    • Updated internal version tracking for "What's New" feature.

Review Change Stack

@rainxchzed rainxchzed merged commit ffe4636 into main May 13, 2026
7 of 8 checks passed
@rainxchzed rainxchzed deleted the generate-installers branch May 13, 2026 02:04
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 13, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a58c02d5-5273-4bee-adfd-1cbefdaf843e

📥 Commits

Reviewing files that changed from the base of the PR and between bbdb527 and efb4820.

📒 Files selected for processing (13)
  • composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/whatsnew/WhatsNewLoaderImpl.kt
  • core/presentation/src/commonMain/composeResources/values-ar/strings-ar.xml
  • core/presentation/src/commonMain/composeResources/values-bn/strings-bn.xml
  • core/presentation/src/commonMain/composeResources/values-es/strings-es.xml
  • core/presentation/src/commonMain/composeResources/values-fr/strings-fr.xml
  • core/presentation/src/commonMain/composeResources/values-hi/strings-hi.xml
  • core/presentation/src/commonMain/composeResources/values-it/strings-it.xml
  • core/presentation/src/commonMain/composeResources/values-ko/strings-ko.xml
  • core/presentation/src/commonMain/composeResources/values-pl/strings-pl.xml
  • core/presentation/src/commonMain/composeResources/values-ru/strings-ru.xml
  • core/presentation/src/commonMain/composeResources/values-tr/strings-tr.xml
  • core/presentation/src/commonMain/composeResources/values-zh-rCN/strings-zh-rCN.xml
  • core/presentation/src/commonMain/composeResources/values/strings.xml

Walkthrough

This PR expands what's new version support to version 17 and normalizes apostrophe escaping across all localization string resources, removing backslash escapes and using literal apostrophes instead.

Changes

String Escaping Normalization and Version Support

Layer / File(s) Summary
What's new version 17 support
composeApp/src/commonMain/kotlin/.../whatsnew/WhatsNewLoaderImpl.kt
Version code 17 is added to KnownWhatsNewVersionCodes.ALL, enabling the loader to recognize version 17 what's new content.
Localization apostrophe escaping normalization
core/presentation/src/commonMain/composeResources/values*/strings*.xml
Backslash-escaped apostrophes are replaced with literal apostrophes across English default and 11 language variants (Arabic, Bengali, Spanish, French, Hindi, Italian, Korean, Polish, Russian, Turkish, Chinese) without changing string identifiers or semantic content.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • OpenHub-Store/GitHub-Store#589: Expands KnownWhatsNewVersionCodes.ALL to include version code 17, directly enabling the loader to recognize version 17 what's new content added in that PR.
  • OpenHub-Store/GitHub-Store#539: Version 17 what's new content is introduced, now picked up by the updated loader configuration in this PR.

Poem

🐰 Apostrophes straightened with care,
Version 17 now in the air,
Strings are normalized, clean and bright,
Localization shines with proper sight,
Change complete, the code feels right! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch generate-installers

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 13, 2026

Greptile Summary

This PR registers version code 17 in KnownWhatsNewVersionCodes.ALL so the What's New loader picks up the already-present 17.json changelog files, and simultaneously cleans up backslash-escaped apostrophes (\') across 12 locale string resource files and the base English strings.

  • WhatsNewLoaderImpl.kt: listOf(16, 15)listOf(17, 16, 15); all corresponding 17.json locale files were already committed to the repo, so the loader will surface them immediately.
  • All locale XML files (values-ar, values-bn, values-es, values-fr, values-hi, values-it, values-ko, values-pl, values-ru, values-tr, values-zh-rCN, values/): replaces legacy \' escapes with plain ' — valid for Compose Multiplatform's resource compiler, which parses element text as standard XML (where ' needs no escaping).

Confidence Score: 5/5

Safe to merge — the change is additive and the loader handles missing JSON files gracefully, so no crash risk even in edge cases.

Version 17 changelog JSON files exist for all supported locales before this PR lands, and the loader already filters nulls if a file is absent. The apostrophe cleanup is a valid no-op for Compose Multiplatform's resource system, which parses element text as standard XML where bare apostrophes require no escaping.

No files require special attention.

Important Files Changed

Filename Overview
composeApp/src/commonMain/kotlin/zed/rainxch/githubstore/app/whatsnew/WhatsNewLoaderImpl.kt Adds 17 to KnownWhatsNewVersionCodes.ALL; corresponding 17.json files already exist for all locales
core/presentation/src/commonMain/composeResources/values/strings.xml Removes legacy backslash-escape before apostrophes in English base strings; valid cleanup for Compose Multiplatform resource format
core/presentation/src/commonMain/composeResources/values-fr/strings-fr.xml Largest locale file change — removes backslash-escaped apostrophes throughout French strings; consistent with base strings change
core/presentation/src/commonMain/composeResources/values-it/strings-it.xml Removes backslash-escaped apostrophes in Italian strings; no logic changes
core/presentation/src/commonMain/composeResources/values-tr/strings-tr.xml Removes backslash-escaped apostrophes in Turkish strings; no logic changes

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[WhatsNewLoaderImpl.loadAll] --> B[Iterate KnownWhatsNewVersionCodes.ALL\n17, 16, 15]
    B --> C[loadOrNull per versionCode]
    C --> D[candidatePaths\nfull locale / primary locale / default]
    D --> E{Res.readBytes path}
    E -- found --> F[Parse WhatsNewEntryDto to domain]
    E -- throws --> G[warn + return null]
    F --> H[mapNotNull collects entries]
    G --> H
    H --> I[sortedByDescending versionCode]
    I --> J[Return List of WhatsNewEntry\nv17 now included]
Loading

Reviews (1): Last reviewed commit: "Unescape single quotes across localized ..." | Re-trigger Greptile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant