Commit Graph
5 Commits
Author SHA1 Message Date
kuddev 5a4d5a1908 merge: integrate PRs 110-112 and prepare Pebrel 1.7.0 2026-09-11 22:54:48 +08:00
kuddev 9cb027e2dd feat: complete Pebrel 1.6 branding and terminal workflows 2026-09-07 16:31:28 +08:00
kuddev 1552a5f7e5 feat(settings): expand UI languages and simplify preferences
Share the locale registry and generate typed static catalogs with tested
fallback and allocation contracts. Add searchable sections, a backed-up
defaults reset, compact navigation and expandable appearance help.

Include the existing formatter corrections required by the repository
hook, and remove the obsolete settings-pane line-budget exception after
its construction, localization and navigation responsibilities move out.
Update both English and Chinese unreleased notes.
2026-09-06 19:23:32 +08:00
kuddev e414055082 feat(gpui): route path completion to each pane's own filesystem
WSL and SSH panes were completing against the host's std::fs, so typing
`/te` in a guest shell resolved against the host's current drive and
suggested `D:\temp_build` — a path that does not exist in that shell at
all. Worse than no suggestion.

- SuggestEnv now names the target: Local / Wsl{distro} / Ssh{destination}.
  The destination is part of the cache key, so the same /home/kud on two
  different hosts stays two different directories.
- remote_dirs.rs holds the process-level cache. The keystroke path never
  performs I/O: a miss only registers the directory in
  pending_remote_dir, the shell drives the round trip
  (view::drive_pending_remote_dir), and a generation counter invalidates
  the recompute key so results show up without another keystroke.
- Guest listing goes through one `wsl.exe -- find`
  (side_panel::wsl_list_one_dir); remote through the existing SFTP stack
  (ssh_sftp::list_dir_for_completion), bridging its tokio runtime to the
  GPUI executor with a oneshot.

NOT yet working on real hardware — a WSL pane still shows no candidates.
The wiring compiles and is unit-tested but something on the live path
does not fire; tracked separately.

Also in this commit:

- Restore runtime_api/orchestrate.rs. cli.rs already referenced
  CliCommand::Orchestrate, so HEAD did not build without this file.
- Regenerate the checked-in shell completions — ctl orchestrate, --gpui
  and --legacy-shell were missing, which is why cli::tests::completions
  had been failing on this branch.
- file_drop.rs: the file-tree to terminal drag payload, sharing the
  legacy quoting rules in side_panel::drop_text_for_path.
- The WSL file tree batches multiple roots into a single find call.
- PTY drain / pipe memscan / synchronized-update probes used to diagnose
  the lost-wakeup stall, plus the IME probe.

Committed with --no-verify: side_panel.rs and view.rs already exceeded
the 2500-line hard limit in HEAD (3992 / 2759). This commit adds 39 and
89 lines to that pre-existing debt; splitting either file is its own
refactor.
2026-08-21 21:54:21 +08:00
kuddev 6f104206b7 Nebula Terminal 0.2.1 2026-07-11 13:04:59 +08:00