Reimplement workspace auto-naming with default-language support - #6764
Closed
austinywang wants to merge 47 commits into
Closed
austinywang wants to merge 47 commits into
austinywang wants to merge 47 commits into
Conversation
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.
Summary
Reimplements workspace auto-naming around a deterministic language path and a more reliable naming pipeline.
Default-language behavior
automation.autoNamingLanguage, defaulting toauto.autoresolves in the app from the user's first system preferred language (NSLocale.preferredLanguages) withLocale.currentas fallback, producing both a human language name and a BCP-47 tag.en,ja, orfr-FR.workspace.set_auto_titleprobe response asauto_naming_language_nameandauto_naming_language_tag.Write the title in <language> (<tag>) only.There is no longer any reliance on the model inferring the conversation language.Pipeline rewrite
workspace.set_auto_title, default-off behavior, and.usertitles winning over.autotitles.Tests and validation
Added behavior coverage for:
autosystem-locale resolution and explicit override resolution..usertitle rejection over.auto.automation.autoNamingLanguage.Local validation run:
python3 -m json.tool Resources/Localizable.xcstringspython3 -m json.tool web/messages/en.jsonpython3 -m json.tool web/messages/ja.jsonpython3 -m json.tool web/data/cmux.schema.jsongit diff --check HEAD~2..HEADNo local build or test run was performed per instruction not to build until explicitly requested.
Localization
Updated EN and JA localization for the new Settings language picker, new auto-naming status messages, search aliases, and schema messages.
Need help on this PR? Tag
/codesmithwith what you need. Autofix is disabled.Summary by cubic
Reimplements workspace auto-naming with default-language support, a serialized pipeline, and a safer subprocess runner. Adds a “Naming Language” setting and hardens timeouts, idempotent no-op applies, and progress accounting for better reliability.
New Features
automation.autoNamingLanguage(defaultauto) resolved from system; Settings offers “Follow System,” English, and Japanese;cmux.jsonandweb/data/cmux.schema.jsonaccept any BCP‑47 tag. Theworkspace.set_auto_titleprobe returns the resolved language name/tag; prompts enforce that language (English fallback for old probes).Bug Fixes
probe_failed,extraction_failed,apply_failed); exponential backoff viafailureCountcapped bymaxFailureBackoff.surfaceId; the app resolves the writable panel from a requested panel ID or tab surface ID and returns the correct current title to prevent misapplied titles.CMUX_PUSH_RATE_LIMIT_IDfromenvorprocess.envwith clearer not‑found logging.Written for commit 02db824. Summary will update on new commits.
Summary by CodeRabbit
New Features
Bug Fixes
Chores