Commit Graph
127 Commits
Author SHA1 Message Date
GeekMr ba2e7eb756 feat(updater): add native Windows ARM64 installer 2026-09-24 14:11:16 +08:00
kuddev 89be8316b2 docs: finalize 1.9.1 release notes and regression evidence 2026-09-24 13:15:52 +08:00
kuddev b216310634 docs: include macOS links and update flow in 1.9.1 notes 2026-09-24 12:14:15 +08:00
kuddev 4e4c27ca33 release: prepare 1.9.1 versions and bilingual notes 2026-09-24 11:15:10 +08:00
kuddev 17fea2d422 docs(release): record the final 1.9.0 asset checksums 2026-09-22 22:38:14 +08:00
kuddev 102b9dc58a release: finalize Pebrel 1.9.0 notes and drop the ARM64 diagnostic probes
Align the 1.9.0 notes and CHANGELOG entry with the 1.8.2 format (prefixed
bilingual entries), record the session-breaker fix and the sponsor page,
and date the entry to the release day. Remove the ARM64 diagnostics
workflow and its two probe scripts from the release tree; the CI workaround
script stays because the release workflow runs it.
2026-09-22 21:14:58 +08:00
kuddev 2de347f57a release: prepare 1.9.0 notes and native Windows ARM64 packages 2026-09-21 22:47:29 +08:00
kuddev 8564334d66 Integrate complete 1.9.0 desktop changes and Windows session recovery
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.
2026-09-21 19:25:35 +08:00
kuddev e0e180c2ac Merge current main into the 1.9.0 installation candidate
Retain the merged Markdown caret, selection and popup fixes and their pinned component revision alongside the session and highlight repairs. Update bilingual release notes for the integrated changes.
2026-09-21 16:04:07 +08:00
kuddev 02b373e0b2 docs(release): align 1.9.0 checksum layout with the changelog contract 2026-09-21 15:12:59 +08:00
kuddev 7f195e809c chore(release): prepare Pebrel 1.9.0 for installation testing
Synchronize product crate versions, local dependency constraints, lockfiles, Windows resources and installer defaults. Add bilingual changes and verified contributor credits before CI packaging.
2026-09-21 15:08:43 +08:00
kuddev 407639e898 Merge main and bound notification retention for duration settings 2026-09-19 23:38:46 +08:00
kuddev bb2dc13956 Merge main and scope terminal design records
Move the pending activity, input and SSH authentication decisions into their
module-owned notes under the current governance contract. Import the shutdown
draft type directly after the incoming drag-preview cleanup removes its parent
import.
2026-09-19 21:01:03 +08:00
kuddev e00b075752 docs(ssh): clarify native agent cancellation limits 2026-09-19 20:23:26 +08:00
kuddev 446d09cdc1 docs(governance): layer agent rules and causal notes 2026-09-19 20:21:56 +08:00
kuddev 95d11dfac2 refactor(ssh): isolate native agent transports from authentication policy
Move native endpoint selection, connections and discovery deadlines to the
platform adapter. Keep identity ranking, signing and fallback policy in the
SSH session module, with one reusable agent wire fixture for both layers.

Run fallback behavior and portable multiline-input regressions on every OS.
Remove unnecessary Windows guards from the platform-independent remote hook
installer. Preserve the existing platform conditional budget and coverage.
2026-09-19 19:35:53 +08:00
kuddev 28b41acd69 fix(ssh): restore system agent authentication in auto mode
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.
2026-09-19 19:20:29 +08:00
kuddev bcbae7c5da fix(terminal): unify agent activity and restore multiline input
Keep hook authority separate from screen observations and shell completion.
Install owned native and remote bridges, preserve durable session recovery,
and support Shift+Enter for byte-stream clients without changing native keys.

Addresses #199.
2026-09-19 18:43:55 +08:00
kuddev 0fe0485a0b docs(release): complete 1.8.2 credits, issue links and checksums 2026-09-17 23:02:55 +08:00
kuddev 65e67bbc0f release: integrate reviewed shell selection and prepare Pebrel 1.8.2 2026-09-17 22:13:47 +08:00
kuddev 610de74f12 feat(commands): trim builtin recipes and persist user deletions 2026-09-16 18:46:57 +08:00
kuddev e12188f8a6 docs(commands): assign a unique decision record for command groups 2026-09-16 17:46:10 +08:00
kuddev 24b278a4fc feat(commands): persist groups and support drag and menu membership changes 2026-09-16 17:23:48 +08:00
kuddev c8eccf8ccc docs(release): record verified 1.8.1 package checksums 2026-09-16 10:55:03 +08:00
kuddev 86128e4309 merge: include completion isolation and scrolling controls in 1.8.1
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.
2026-09-15 23:39:20 +08:00
kuddev a8e64baf21 chore(release): prepare 1.8.1 metadata and release contracts
Synchronize package versions and bilingual notes with verified issue references.
Allow releases without PR contributors to omit that section, with positive and
negative format coverage as requested by the maintainer.

Keep native update process operations and default-shell resolution inside the
platform boundary. Preserve transaction authority in the updater and tighten
the platform condition budget to the measured 484.
2026-09-15 23:38:21 +08:00
kuddev 61e18b24a3 feat(settings): add scrollback limits and wheel speed controls [skip ci] 2026-09-15 23:12:53 +08:00
kuddev 12f0ef278f fix(updater): preserve workspaces through verified installation handoff
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.
2026-09-15 22:41:58 +08:00
kuddev a02cf48fee merge: integrate completion isolation with current main [skip ci]
Preserve the current main updates together with active SSH/WSL completion
ownership and native PowerShell predictions. Renumber the completion ADR
after the existing font ownership decision.
2026-09-15 16:25:54 +08:00
kuddev d265595163 fix(completion): isolate active connections and preserve native predictions [skip ci]
Track completion history, candidates and async directory results by the active
SSH/WSL connection, and restore the parent shell when the connection returns.
Use shared ownership rules in both UI adapters and report expanded arguments
from shell execution hooks. Preserve user PSReadLine prediction settings.

Add regression coverage for context transitions, stale results and actual
Windows ConPTY transport. Validate native SSH, WSL, local PowerShell and SSH
from PowerShell, including cross-environment negatives and native predictions.

History deletion and migration remain outside this change.
2026-09-15 16:15:37 +08:00
kuddev 2229de571a merge: integrate saved workspace fixes after 1.8.0
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.
2026-09-15 10:06:03 +08:00
kuddev fa9219fbf1 chore: save remaining workspace integration and comment edits
Apply the resolved custom theme to connection overlays and retain the pending source and documentation comment cleanup.
2026-09-15 09:49:11 +08:00
kuddev 6275b6435a feat(theme): save and edit custom theme snapshots
Commit the theme library, preview editor, foreground picker, import and export, and shared settings integration. Preserve built-in themes and apply saved custom snapshots consistently to terminal colors, typography and window appearance.
2026-09-15 09:45:17 +08:00
kuddev 96d4cf0179 fix(windows): reclaim terminal resources and retain font owners
Persist the pending ConPTY lifetime, process snapshot and native font ownership fixes. Keep lifecycle regression tests and the Windows memory stress tool together with the ownership contracts.
2026-09-15 09:44:00 +08:00
AnxForever 70b90f1880 feat(gpui): open a folder in a chosen shell from the Explorer menu
Right-clicking a folder has always opened the configured default shell —
usually PowerShell — with no way to ask for a WSL distribution instead.

- `--shell <id>` takes the same ids the `shell` setting uses (`pwsh`, `cmd`,
  `wsl:Ubuntu`, or an imported profile's settings id) and applies to the
  first tab this process creates. It carries an id rather than a path so
  every launch re-resolves the executable.
- The id travels both startup paths: the cold start (`run_shell` →
  `WorkspaceStartup::NewTerminal`), and the resident hand-off, which is the
  common case on Windows. `tab.new`/`window.create` gained an optional
  `shell` field, so clicking the menu while Pebrel is already running adds a
  tab to the existing window instead of starting a second process.
- An explicit request never silently degrades. An unresolvable id fails
  (`invalid_shell`, or a startup error before any window opens), and a
  `wsl:<distro>` id that the registry no longer lists still launches
  `wsl.exe -d <distro>`, leaving the complaint to the distribution itself.
  The `shell` setting keeps its documented fallback to the platform default.
- The winit shell rejects a shell request instead of ignoring it, so the
  caller falls back to a cold GPUI start and still gets the requested shell.

The resolution lives in a new `workspace::shell_launch` module: `main.rs` has
to validate `--shell` before it opens a window, and none of it needs
`NebulaWorkspace` state — `workspace.rs` is also at its line budget, which
this keeps from growing (`architecture/file-budgets.txt`).

The installer registers one context-menu entry per registered WSL
distribution (`PebrelWsl<n>`, skipping `docker-desktop*`) and the uninstaller
reclaims them by key prefix plus the command line it wrote. `--shell` is
passed before `--working-directory`: a drive-root `%V` ends in `\"`, which
would swallow the rest of the line if the directory came first. Both the
string and the order are pinned by installer assertions.

Docs (runtime API schema + control API) and shell completions are updated.
2026-09-14 23:07:38 +08:00
kuddev d2306b91ad ci: grant restricted runners access to their own pipes and refresh caches 2026-09-14 21:54:11 +08:00
kuddev 1c77d21722 ci: preserve native caches and correct Windows token access 2026-09-14 21:30:45 +08:00
kuddev c5af789bc8 test(windows): run native conformance with an ordinary user token 2026-09-14 21:06:34 +08:00
kuddev 69f400fa19 ci: separate compiled caches and reuse complete native validation 2026-09-14 20:52:33 +08:00
kuddev 948a427280 ci: reduce native test compilation and artifact upload overhead 2026-09-14 20:35:37 +08:00
kuddev 8760eef788 merge: include verified settings, session and reader updates in 1.8.0 2026-09-14 20:32:46 +08:00
kuddev 792771a938 release: prepare 1.8.0 and parallel native validation 2026-09-14 20:23:56 +08:00
kuddev 0e8beb74ac merge: integrate verified desktop and file search fixes 2026-09-14 20:05:14 +08:00
kuddev a84ae0c2de fix(files): bound search memory and reuse warm caches
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.
2026-09-14 19:54:50 +08:00
kuddev 167d817767 fix(gpui): bound wallpaper memory and preserve extended backgrounds
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.
2026-09-14 18:02:16 +08:00
kuddev bd48ea6dbb merge: include committed terminal controls in local preview 2026-09-14 08:46:45 +08:00
kuddev c18252cca5 fix(gpui): preserve settings tabs and improve terminal controls
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.
2026-09-13 21:59:08 +08:00
kuddev edb4b1d660 Merge remote-tracking branch 'origin/main' into review-fix/pr126 2026-09-13 20:59:48 +08:00
Nash Aschenbath f909516dbf feat(notifications): configure in-app notification duration 2026-09-13 20:15:22 +08:00
Nash Aschenbath 9a4663eaeb fix(reader): keep selected text visible under highlight 2026-09-13 15:26:11 +08:00