Repository navigation
refactor(i18n): show the pane menu's move to another device in Fluent messages - #938
Merged
Merged
Conversation
… messages The move's progress line, the review's "what runs there" line, and the warnings a finished move flashes were English: the progress came from `Step::label`, the review from herdr-remote's `describe`, and the warnings were strings herdr-remote formatted. Failures went through `to_string()`. herdr-remote now reports warnings as a typed `teleport::Warning`, with an English `Display` kept for logs, and the session-only review exposes the resume it runs instead of describing it. The app renders steps, pane lines, and warnings through `teleport/text.rs`, which the Teleport dialog already used, so both moves share one set of messages. Errors in the move and in the Teleport dialog go through `localize()`, and the dialog's poll result keeps the typed error instead of a `String`. `menu/mute.rs` and `menu/page.rs` show no text and are marked migrated, so every file in `menu/` is now covered. An en-XA leak test covers the move's review, progress, failure, and every warning's flash.
Owner
Author
|
|
[Medium impact] This PR appears safe to merge. SummaryMoves the pane menu’s progress, review lines, errors, and warnings into Fluent messages.
Diagram%%{init: {'theme': 'neutral'}}%%
flowchart LR
Move[Pane move or Teleport worker] --> Warning[Typed Warning]
Warning --> Logs[English Display for logs]
Warning --> Text[teleport::text::warning]
Text --> Fluent[Fluent message and localized cause]
Fluent --> Flash[Warning flash]
Reviews (1) · Last reviewed commit: "refactor(i18n): show the pane menu's mov..." · Reviewed by Greptile |
This was referenced Nov 1, 2026
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.
Summary
Part of Phase 2 of
docs/i18n.md(string migration), following #880's patterns. This covers the last ofmenu/and the pane menu's move to another device, whose Teleport steps, review lines, and warnings were still English.Depends on #937, which makes
mainbuild again after #905. This PR targets that branch so the diff shows only this change. GitHub retargets it tomainonce #937 merges.Step::label, and its "what runs there" line used herdr-remote'sdescribe. Both now go throughteleport/text.rs(step,pane), which the Teleport dialog already used, so both moves shareteleport.ftl. herdr-remote's Englishdescribefunctions are gone.SessionReview::resume()exposes the work and action instead.String. It now reports ateleport::Warningenum, keeping its EnglishDisplayfor logs.text::warningshows each variant through ateleport-warning-*message, with$errorfromlocalize(). This changes both the pane move's flash and the Teleport dialog's.CarriedandOutcomeloseClone/PartialEq, which nothing but one test used, since the warnings now hold their typed causes.localize()instead ofto_string(). The dialog'spollreturnedResult<Outcome, String>and now keepsteleport::Error.menu/mute.rsandmenu/page.rsshow no text and are marked// i18n: migrated. Every non-test file inmenu/is now covered.pane_menu/carry/tests/en_xa.rscovers the review (shell into a new worktree, an agent resumed in a fast-forwarded space, a program missing there, session only), progress at several steps, the failure, and the flash for every warning variant.docs/i18n.md: "What is left" drops themenu/bullet. It now names themenu/views that still pass errors throughto_string(); follow-up PRs switch those tolocalize().English reads as before.
Screenshots
None captured. The move dialog only opens for a pane on a host with another connected, scriptable device, reached by right-clicking the pane. I did not post synthetic input on the shared display to get there. The en-XA leak test above covers each stage headlessly. en-XA and en-XB native captures are left to the QA list.
QA
just formatjust cion12e19247a(macOS arm64): passed, 16,286 Rust tests, 0 failed. check-i18n: 3,616 messages in 154 files valid and usedWarningvariant. The Teleport dialog's existing en-XA test still passesjust lint-linux/lint-windowswere not run: no platformcfggate changed. The new test sits in the carry tests, already gated to Linux and macOS.🤖 Generated with Claude Code
https://claude.ai/code/session_01BFavh6qHGnTNP5nJXgXoKN