Commit Graph
547 Commits
Author SHA1 Message Date
galact-byte 2cac13b35b Merge branch 'main' into fix/windows-cmd-interrupt 2026-09-19 19:41:12 +08:00
unifanandkuddev 5d473572f9 feat(terminal): support markdown links and cross-platform local file opening (#204)
* 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>
2026-09-19 19:32:13 +08:00
c3f79d6a0e fix(gpui): keep outline rows single-line so long headings cannot overlap (#191)
A heading label in the reader's outline wrapped once it exceeded the panel
width. The row's height is fixed during layout measurement, and the
horizontal available width of that scroll layer is not reliable there, so
the second line was painted outside its row box and landed on the next
heading's title. It only appeared with a narrow details panel and long
numbered headings.

Labels now use `truncate()`, so an outline row is always exactly one line
tall and its height no longer depends on the heading text. The full label
stays reachable through the row tooltip and the existing "copy heading"
context menu.

`Tooltip` now comes from the GPUI shell prelude, keeping third-party entry
points in the controlled list instead of importing `gpui_component` at the
call site.

`focus_tests` covers the contract: with the details panel at its minimum
width, the longest heading's row must be as tall as the shortest one's.

Co-authored-by: tataraDM <2201325624@qq.com>
Co-authored-by: Kuddev <christianmazel230@gmail.com>
2026-09-19 18:54:24 +08:00
galact 80cf48943d fix: restore Ctrl+C handling for Windows terminal children 2026-09-19 03:13:30 +08:00
Kuddev 75dc0b9481 Merge pull request #192 from Kuddev/docs/release-182-metadata-20260917
docs(release): complete 1.8.2 contributors, issue links and checksums
2026-09-17 23:07:24 +08:00
kuddev 0fe0485a0b docs(release): complete 1.8.2 credits, issue links and checksums 2026-09-17 23:02:55 +08:00
Kuddev b0248119ff Merge pull request #189 from Kuddev/release/1.8.2
release: prepare Pebrel 1.8.2 with reviewed Shell selection
2026-09-17 22:34:25 +08:00
kuddev 65e67bbc0f release: integrate reviewed shell selection and prepare Pebrel 1.8.2 2026-09-17 22:13:47 +08:00
Kuddev c9cbfa6398 Merge pull request #183 from Kuddev/review/bugfix-merge-20260917
fix: prevent premature completion notifications and Windows console popups
2026-09-17 12:55:57 +08:00
kuddev bfa5d47339 test: verify notification guards and hidden Windows child processes 2026-09-17 12:31:59 +08:00
AnxForever 25cac197d5 fix(gpui): stop screen silence from toasting "turn complete"
The screen watchdog downgrades `Working -> Done` after the pane's screen has
been static for 5 ticks (it samples at 1 Hz), and that transition used to
notify unconditionally. But a static screen is not evidence that the agent
stopped: Claude Code prints nothing while it thinks, and a long command such
as a full build writes nothing for minutes. The result was a "回合完成" toast
while the task was still running.

The screen is only a fallback for when the hook never arrives. When hooks are
live, the agent CLI's own `TurnDone` is the authoritative terminal state, so
keep the screen-derived transition (the sidebar dot still updates) but stay
silent about it. Clients without hooks keep the old behaviour, where the
screen really is the only evidence.

This is the notification half of the problem. The other half is that
`active_background_tasks` never fires for Claude Code — its `Stop` payload
carries no `background_tasks` field — so the guard at the top of the
`TurnDone` arm is dead code for that CLI. Left as-is for now.
2026-09-17 12:19:36 +08:00
kuddev cfd2d64c05 Merge PR #143: hide background console children on Windows 2026-09-17 12:13:00 +08:00
kuddev 6862d44958 Merge PR #142: account for all active background tasks 2026-09-17 12:11:35 +08:00
Kuddev c48dffd213 Merge pull request #175 from Kuddev/fix/shell-script-crlf-20260916
fix(shell): prevent CRLF syntax errors in WSL prompt integration
2026-09-17 10:15:45 +08:00
Kuddev d61314b53e Merge branch 'main' into fix/shell-script-crlf-20260916 2026-09-17 10:12:53 +08:00
Kuddev 798b2b68d2 Merge pull request #172 from Kuddev/ci/pr-tests-windows-arm64-20260916
ci: run every PR test suite and add native Windows ARM64
2026-09-16 21:19:08 +08:00
kuddev b265c03349 Merge current main into PR test workflow changes 2026-09-16 20:57:00 +08:00
kuddev a7ba241eb5 ci: align preview runtime checks with native launch requirements 2026-09-16 20:55:25 +08:00
kuddev 572efd616b fix(shell): normalize embedded scripts before WSL injection 2026-09-16 20:54:19 +08:00
Kuddev 86086c4323 Merge pull request #173 from Kuddev/fix/git-bash-input-20260916
fix: erase wrapped Git Bash input without leaving two characters
2026-09-16 20:36:13 +08:00
kuddev 326c545b32 test: exercise update cancellation independently of installer availability 2026-09-16 20:16:37 +08:00
kuddev b211db7423 Merge remote-tracking branch 'origin/main' into ci/pr-tests-windows-arm64-20260916 2026-09-16 20:08:59 +08:00
kuddev 6c8a56207c Merge remote-tracking branch 'origin/main' into fix/git-bash-input-20260916 2026-09-16 20:08:32 +08:00
Kuddev 71dbf0ee73 Merge pull request #171 from Kuddev/fix/1.8.2-bugs-and-settings
Fix tab transfers and SSH sessions; improve command management and settings
2026-09-16 20:06:16 +08:00
kuddev e538ee57a2 docs: clarify the Server 2019 desktop compatibility target 2026-09-16 19:57:53 +08:00
kuddev b353104c07 fix(bash): keep wrapped input aligned in byte-oriented locales 2026-09-16 19:47:50 +08:00
kuddev facd48c1b2 ci: test every pull request and add native Windows ARM64 coverage 2026-09-16 19:40:32 +08:00
kuddev 15c18e697c fix(ci): keep native icons within the existing Windows boundary 2026-09-16 19:11:20 +08:00
kuddev 87bfa759af merge: record the verified SSH resize merge from main 2026-09-16 18:48:44 +08:00
kuddev 610de74f12 feat(commands): trim builtin recipes and persist user deletions 2026-09-16 18:46:57 +08:00
Kuddev dcf7f3bb8c Merge pull request #166 from AlanWanco/fix/ssh-resize
fix(ssh): keep terminal grid in sync on resize
2026-09-16 18:42:50 +08:00
kuddev 97c111f54f merge: align the reviewed SSH PR test fixture with the local fix 2026-09-16 18:21:51 +08:00
Kuddev 2d21913200 Merge branch 'main' into fix/ssh-resize 2026-09-16 18:15:30 +08:00
kuddev dfde57a130 merge: integrate SSH grid resize for local regression verification 2026-09-16 18:12:58 +08:00
Kuddev 737edbb06a test(ssh): stabilize dialog hit targets and format resize regression 2026-09-16 18:12:57 +08:00
kuddev 4ada47bb78 merge: integrate verified Windows file reveal fix 2026-09-16 18:05:36 +08:00
Kuddev 2bbb1d2514 Merge pull request #168 from Traveritas/fix/reveal-select-quoting
fix(file-tree): reveal paths with spaces in the correct folder (Windows)
2026-09-16 18:02:12 +08:00
kuddev 1a7b0158db test(ssh): keep dialog hit targets stable during simulated clicks 2026-09-16 17:56:50 +08:00
kuddev e12188f8a6 docs(commands): assign a unique decision record for command groups 2026-09-16 17:46:10 +08:00
kuddev 27668353d0 feat(settings): unify keymap search and show short choices as segments 2026-09-16 17:24:52 +08:00
kuddev 24b278a4fc feat(commands): persist groups and support drag and menu membership changes 2026-09-16 17:23:48 +08:00
kuddev 95bc190e3b fix(ssh): resolve Windows config paths and own connection-test trust prompts 2026-09-16 17:22:51 +08:00
kuddev 699ff5d216 fix(commands): give the multiline editor a stable input height 2026-09-16 17:20:49 +08:00
kuddev 0016cf4b48 fix(windows): synchronize taskbar and pinned shortcut icons 2026-09-16 17:18:41 +08:00
kuddev fb5abdc1c6 fix(tabs): preserve SSH identity and defer window-close persistence 2026-09-16 17:15:48 +08:00
kuddev 2298ee3ca8 style(search): format the worker contention assertion 2026-09-16 17:10:50 +08:00
Traveritas 8b622559d9 fix(file-tree): reveal paths with spaces in the correct folder
explorer.exe parses its command line without CommandLineToArgvW rules:
quoting the whole "/select,<path>" argument makes it truncate at the
first space and fall back to the deepest existing ancestor directory.
Pass /select,"<path>" via raw_arg so only the path is quoted.

The legacy shell hand-rolled the same argument; route it through
platform::file_manager so the construction stays in one authority.

Fixes #167
2026-09-16 15:48:26 +08:00
stota1320 c7d436967f fix(ssh): keep terminal grid in sync on resize 2026-09-16 15:15:35 +08:00
Kuddev bfba1668cb Merge pull request #161 from Kuddev/docs/release-181-checksums-20260916
docs(release): record verified 1.8.1 package checksums
2026-09-16 10:57:22 +08:00
kuddev c8eccf8ccc docs(release): record verified 1.8.1 package checksums 2026-09-16 10:55:03 +08:00