[Automatic] Upstream release 3.4.2 - #38
Open
alex-vt wants to merge 29 commits into
Open
Conversation
fix: apply lint to false to set a fix version
Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>
Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>
Signed-off-by: Manu Muñoz <manu.munoz@dhis2.org>
Add a self-contained Claude Code skill that syncs Transifex translations for both develop and main via the Transifex REST API (no tx CLI, no ~/.transifexrc). For each branch it spins up an isolated git worktree and: - pushes the branch's sources to its own resources (develop--* / main--*), verifying no source key is silently missing on the server; - pulls translations for every language that has at least one translated key; - applies the KMP escaped-question-mark fix (\? -> ?) that the Compose resource parser requires and that Transifex cannot fix server-side; - removes empty stub files and restores any in-source translation the server is missing so no real translation is lost; - opens a pull request into the branch. The API token is read from local.properties (TX_TOKEN), falling back to $TX_TOKEN. The helper is config-driven from .tx/config, so it stays correct as resources are added or removed. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Unescape `\?` -> `?` in the commonskmm Compose resources (4 keys x 4 languages: cs, es, ru, vi). Transifex stores these KMP modules as ANDROID resources and escapes `?` as `\?`, which the Compose resource parser cannot handle. The rendered text is identical; this just gives a clean escaped-char baseline before running the translation-sync tooling. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…gate Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The postpull file-matcher relied on re.escape producing "\<lang\>", the pre-3.7 behavior. On Python 3.7+ re.escape leaves <lang> untouched, so the pattern never matched any translation file and the XML/keys-subset validation silently passed without checking anything. Replace the plain <lang> token instead so validation actually runs. Also add a 60s timeout to every urlopen (api_get, api_post, and the download poll) so a stalled connection to Transifex can't hang the sync indefinitely. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…handles Address low-severity review items in the Transifex sync helper: - load_token: match the TX_TOKEN key exactly instead of startswith(), so a decoy like TX_TOKEN_FOO=... can no longer be returned as the token. - postpull restore: only record a key in the live_dropped report after the block is actually written back. A translation file with no </resources> can't be patched, and previously such keys were still listed as "restored". - Wrap every file read/write in a with-block so handles close deterministically rather than relying on CPython refcounting. Behavior of the sync is unchanged; these are robustness/clarity fixes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…stions-main fix(translations): [ANDROAPP-7721] remove KMP-incompatible escaped question marks (main)
Adds a gap-only, non-destructive backfill so the develop-vs-main divergence stops recurring. For each repo translation file, push-translations downloads the server's current translations and uploads ONLY keys that are in source, translated in the repo, and missing on the server — so it can never overwrite an existing server translation. On a per-language download error it skips the pair rather than risk a clobber. Dry-run by default; --apply performs uploads. Wires it into the CLI and documents it in SKILL.md, replacing the old "tell the user they may want a backfill" note with the concrete command. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
chore(translations): [ANDROAPP-7721] sync main translations from Transifex [skip size]
chore(tooling): [ANDROAPP-7721] add update-translations Transifex sync skill [skip size]
* fix: [ANDROAPP-7710] Update rule engine * chore: update dependency verification metadata * chore: [ANDROAPP-7710] Update expression parser * chore: update dependency verification metadata --------- Co-authored-by: @dhis2-bot <apps@dhis2.org>
Updates the `fix-kmp-translations` job condition to trigger on branches starting with `main-transifex-` in addition to `develop-transifex-`.
Switches from manual git commands to `flex-development/gh-commit` in the translation fix workflow. This utilizes the GitHub API to create signed commits, satisfying repository rulesets that require verified signatures. Also updates the checkout action to use the `DHIS2_BOT_GITHUB_TOKEN`.
…131428 fix(translations): sync translations from transifex (main)
* add update version name to release-finish.yml * add release notes
Co-authored-by: @dhis2-bot <apps@dhis2.org>
build: merges release/3.4.2 to main
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR brings upstream-tracking
release/3.4.2branch to be merged intomain.Release merge commit in the upstream-tracking
upstream-mainbranch of this (fork) repo: 7f62e84100ed1b3aa62787f478e2ff73a7d201b2.Release merge commit in the
mainbranch of the dhis2/dhis2-android-capture-app upstream repo: 7f62e84100ed1b3aa62787f478e2ff73a7d201b2.For your reference, this Action's config can be viewed here, and the run logs here.