Repository navigation
Fix French text appearing when English is selected - #1
Open
Phoenix-Grand wants to merge 12 commits into
Open
Phoenix-Grand wants to merge 12 commits into
Phoenix-Grand wants to merge 12 commits into
Conversation
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.
Optional module-owned Marketplace descriptions
Module publishers can now opt in with
[marketplace] summary = "…"in their existingmodule.toml, plus optional locale-keyed summaries/descriptions. The longer description and existing module description translations are reused. Existing manifests and.kbpkgfiles need no changes; the runtime manifest parser and archive format remain unchanged.kubuno marketplace:metadata module.toml --catalog catalog.jsonimports only publisher text for the exact module ID and released version. It preserves unknown catalog fields, categories, badges, artifact URLs, checksums, signatures and other listings. Without[marketplace], the catalog is unchanged. The standalone exporter requires no database, running Core, credentials or network.KUBUNO_MARKETPLACE_METADATA_DIRand supply<module-id>/module.tomlfiles. List/detail refreshes apply the same importer. Missing, invalid, oversized or mismatched files retain catalog data. This option defaults to off and does not fetch repositories, scan installed modules, change installation behavior, or provide a disconnected catalog cache.api.kubuno.comservice has not been modified. Its operator must connect the reusable importer to its publishing pipeline for automatic public updates. The image has no built-in Mail override; testing uses an explicit read-only metadata mount.Validation for this extension: 33 backend Marketplace tests, 3 CLI integration tests and 16 targeted frontend tests pass. Coverage includes legacy and opted-in
.kbpkgextraction/loading, unchanged legacy listings, ID/version guards, stale/duplicate locale handling, empty translations, bounded local metadata, and machine-readable CLI output without instance configuration. Both production binaries and the frontend build. Importing the actual public Mail record preserves every non-text field. The packaged non-root CLI and isolated SQLite setup/login, Mail summaries/descriptions, live refresh, invalid/version-mismatched metadata fallback, legacy opt-out, frontend and health checks pass. The previously documented two unrelated full-frontend-suite failures remain outside this change; the full suite was not rerun for this backend-only extension.Core can show French while English is selected: several screens hard-code their labels, newer translation keys have only French fallback text, and server responses displayed verbatim use French defaults. This updates the English UI and default messages across Core and prevents a delayed locale load from replacing a newer language selection.
Changes:
category_idand locale-keyedlocalizationsthrough the server API; resolve each display field by selected locale, parent locale, English, then original content without mutating publisher metadata. Language changes update cached catalog content immediately without another request.server/src/modules/marketplace/README.md. Catalog descriptions without translations remain in their original language; the external catalog/content pipeline must publish translations.values-fr, and move viewer labels into English/French resources.Validation:
cargo test --release --locked --lib modules::marketplace.npm run buildpasses, including TypeScript/view compilation and the production bundle.TextField.Bareis absent from the conformance allowlist, and a designer test refers to the missingweb/packages/ui/kbview-registry.web.jsonpath. Regenerating the registry resolved the third original failure.UPDATE core.settings sfails nearsin the existing mirror query); successful persistence is not claimed for that check. That SQL query is unchanged by the display fixes. Port 8181 is refreshed and its displayed values are checked again.cargo build --release --locked --bin kubuno-core.git diff --checkpasses.The shared/native baseline changes and the web catalogue/display changes are kept in separate commits for review.
Container test image
56f5a15ffe6ef233eeafebdc280f9fda401a8583git.cdsfellows.com/kudjo/kubuno-core:pr-1git.cdsfellows.com/kudjo/kubuno-core:pr-1-56f5a15fsha256:e239f70f97b1319d2cd70370621ab381fdd9ad3700158e4b839ede887045375dlinux/amd64; Core-only; runtime UID/GID99:100./data; container port:8080.kubuno marketplace:metadataCLI are included. Build provenance is in/usr/share/kubuno/build.jsonand the metadata contract in/usr/share/kubuno/marketplace-metadata.md.To preview module-owned text, mount a directory read-only, containing
mail/module.tomlfrom the Mail commit above, and setKUBUNO_MARKETPLACE_METADATA_DIRto its container path. Refresh Marketplace after editing a valid manifest. Its ID/version must match the selected catalog listing. Without this option or an updated catalog, existing descriptions remain unchanged.This tag follows PR #1's translation branch. The separate package-management PR #2 is not included. Test with a separate data volume if your current instance is running that branch.