Integrate the Android client with native desktop pairing, remote terminal and SSH/SFTP sessions, keyboard controls, file reading and Agent conversations. Preserve authenticated connection ownership and per-device input permissions.
Validation: all ten required GitHub checks passed, including five native test platforms and both macOS release workspace checks.
- New `ctrl_wheel_font_zoom` runtime setting, on by default, persisted and
covered by the reset keys.
- Terminal appearance gains a switch for it, plus a search keyword.
- With the setting off, the Ctrl+wheel gesture is ignored as a whole: the
font size does not change and the terminal does not scroll.
- Plain wheel scrolling and the Ctrl+= / Ctrl+- / Ctrl+0 shortcuts are
unaffected.
Translate the 719 message ids that were missing from ja-JP.json so the
Japanese catalog covers every id in en-US.json. Keys follow the en-US
order and named placeholders are unchanged. The existing translations
are unchanged, and no English text was copied in to pad coverage.
Complete the Traditional Chinese catalog and align Taiwan UI terminology. Preserve message IDs and placeholders, correct the search coverage wording, and label backup contents consistently.
Localize GPUI workspace controls, split actions, file panels, and close confirmations using existing typed messages and application language.
Add 57 English/Chinese message entries and focused i18n regressions. Keep close confirmations in the existing closing lifecycle module.
Retain the scoped contribution from PR #133 without adding global language state, translation macros, or legacy-shell migrations.
Include cloud settings, panel sizing, command groups, Agent integration settings and runtime input fixes from main. Bind native Codex recovery to the live pane process and preserve verified IDs; add CMD recovery choices and an explicit exit path when identity discovery fails.
Add the working-directory action to tab and terminal-selection menus, and
reuse it in the command palette. Copy the shell-reported local/guest path,
disable unavailable paths, and show the existing clipboard feedback.
Selection copying keeps the original text, including prompt glyphs.
Move palette availability and row filtering into the existing palette
module so this change does not grow the workspace orchestrator.
* feat(terminal): support markdown links and cross-platform local file opening
Support terminal Ctrl+Click navigation for Markdown links and local paths across Windows, macOS, and Linux. Addresses https://github.com/Kuddev/pebrel/issues/203.
- Improve DEFAULT_HINT_REGEX: use [a-z] for smart-case insensitivity, ASCII word boundaries for drive letters, balanced nested parentheses in Markdown links, and exclusion of CJK punctuation.
- Release terminal lock before filesystem/network I/O when opening hints to prevent UI freezing on slow/remote drives.
- Pass pane and AnswerReader cwd to resolve relative paths, with localized warning toast when cwd is absent.
- Support generic protocol URIs and explicit OSC 8 hyperlinks without rigid whitelist blocking.
- Support Unix hostname resolution (gethostname, HOST, HOSTNAME) for file:// URIs without corrupting percent characters in raw disk paths.
- Integrate with platform::file_manager as the single authoritative file opener, with fallback to file reveal and failure visibility in both GPUI toasts and legacy shell toasts.
* fix(links): preserve hint actions and move file opening off UI threads
---------
Co-authored-by: kuddev <kuddev@users.noreply.github.com>
Try explicit keys, the system agent, and then resolved keys before password
methods. Share discovery, identity selection, certificate/RSA signing and
fatal transport handling between formal and test connections. Keep strict
modes isolated and place draft passwords in the selected authentication plan.
Bound agent discovery, preserve interactive signing time, and drop failed or
cancelled signing transports before they can enter the session pool. Cover
agent-only login, fallback, native pipe deadlines, signing failures, selectors
and independent jump/target identities with isolated protocol and SSH tests.
Addresses #202.
kimi's [[hooks]] entries allow only event/matcher/command/timeout,
and its command is a shell string rather than claude's exec form, so
the installer writes a double-quoted, forward-slashed helper path
(the #80 lesson) with one entry per subscribed event. The merge
follows the codex toml_edit discipline: idempotent, heals stale
helper paths in place, keeps a one-time .pebrel-bak, refuses malformed
or unexpectedly shaped files, and never scaffolds a missing
KIMI_CODE_HOME directory. Boot self-heal, the config watcher,
setup-ai install/remove and the announcement toast now cover kimi.
Preserve the committed memory and scrolling work from local main together with
update recovery and the default font rollback. Resolve terminal initialization
at its new lifecycle owner and keep native WSL lookup in the platform layer.
Document the seven history limits, wheel-speed settings, allocation tradeoffs
and connection-specific completion behavior in both release-note languages.
Persist native AI recovery targets and per-pane launch contexts without treating
command submission as provider confirmation. Keep window partitions and the
active window in the durable session snapshot for immediate and scheduled updates.
Coordinate draft approval, snapshot writes, helper readiness, process exit and
installation with a committed transaction. Reverify packages and retain recovery
state on failure. Isolate acceptance installers from production integrations and
reject same-version setup that leaves the executable unchanged.
Validation: Windows GPUI suite 1552 passed; settings 55 passed; i18n 20 passed;
9 native helper scenarios; 77 installer migration checks and 41 static invariants.
Full interactive packaged upgrade acceptance remains separate.
Combine custom themes, updater proxies and native resource fixes with the published release source. Preserve independent interface and CJK fonts, selection visibility, saved-session startup and all existing release checks. Remove the retired terminal-view size exception after the capability extraction brought it below the standard limit.
Resolve Windows system and environment proxies consistently for each update request, including redirects and exclusions. Support HTTP and SOCKS5 proxies and show actionable localized download failures.
Search filenames on demand with bounded caches and streamed uncached paths.
Cancel obsolete queries, release view-owned results, and execute WSL find directly.
Cover repeated folder and panel cycles with allocation and memory regressions.
Load and downsample background images asynchronously within explicit budgets,
reuse image resources through window resizing, and retire replaced GPU images.
Preserve the original extended-background scrim and opaque text while sharing
fit and alignment rules between renderers. Cover budgets, stale requests,
resource reuse, geometry, and surface opacity with regression tests.
Keep the top Settings tab available until explicitly closed and route numbered
tab shortcuts through workspace actions before terminal input. Preserve custom
shortcut overrides and restore focus when reselecting the current tab.
Add opt-in mouse focus, configurable inactive-pane dimming, Shell and SSH
launcher context menus, and administrator Shell launch inside a new Pebrel
window with isolated control-plane discovery and session persistence.
Refresh Claude artwork and add Trae CLI and Oh My Pi branding. Document the
user-visible behavior in the bilingual Unreleased changelog.
Validation: 337 GPUI tests, 109 platform/runtime/Agent tests, 47 settings tests,
14 i18n contract tests, product compilation, and architecture checks passed.
Interactive UAC and visual acceptance remain manual.