Commit Graph

603 Commits

Author SHA1 Message Date
can1357 94a813788f chore: bump version to 16.0.4 2026-06-17 09:44:33 +02:00
can1357 2ccbd0bbea fix: skipped oversized spans while continuing BFS summary unfolding
- Changed `select_folded_spans` to skip an unfold candidate that exceeded `unfold_limit` and continue processing the remaining BFS queue instead of breaking.
- Added a regression test in `summary.rs` proving a large `<style>` raw-text span no longer starves sibling HTML sections from unfolding.
- Updated the summary unfold-ceiling setting description to document that overflowed candidates stay folded while BFS continues.
2026-06-17 09:24:19 +02:00
can1357 8eeb707387 chore: bump version to 16.0.3 2026-06-17 01:58:36 +02:00
can1357 dc14689fc1 chore: bump version to 16.0.2 2026-06-16 15:33:47 +02:00
can1357 ce005fbb45 Merge PR #2693: feat(ast): add Emacs Lisp tree-sitter support
Add the tree-sitter-elisp grammar plus language wiring, highlight mapping, and .emacs/.el detection. Native side verified via cargo (pi-ast elisp tests + pi-natives alias test).
2026-06-16 14:52:39 +02:00
0xff26b9a8 d4b01d3a48 fix(tui): handle VS Code keypad digit input 2026-06-16 18:55:23 +08:00
ryjm c2a14a0afc fix(ast): infer extensionless Emacs init files 2026-06-15 18:58:55 -07:00
ryjm 18f11f5bfc feat(ast): add Emacs Lisp tree-sitter support
Register tree-sitter-elisp in the shared AST language registry so
.el files infer the emacs-lisp grammar across blockRangeAt,
summarizeCode, astGrep/astEdit, and native aliases.

This fixes edit-tool block operations on top-level Emacs Lisp forms
instead of returning unsupported-language block errors.

- Add canonical emacs-lisp aliases and .el extension inference.
- Teach summaries to fold Lisp forms without grouping arbitrary lists.
- Map .el rendering and highlighting aliases through coding-agent/native.
- Cover defun, ERT, use-package, with-eval-after-load, pcase,
  summary, astMatch, astEdit, and edit-tool insertion paths.
- Document the language and update package changelogs.
2026-06-15 18:41:24 -07:00
can1357 e24f789de4 chore: bump version to 16.0.1 2026-06-15 21:30:30 +02:00
can1357 44f9867e0e chore: bump version to 16.0.0 2026-06-15 17:27:48 +02:00
roboomp b371a16e9e fix(tool): normalized drive aliases in globs
Applied MSYS and WSL drive alias root parsing before brush pathname expansion reads directories, preserving backslash-rooted Windows paths.

Fixes #2634
Closes #2635
2026-06-15 13:45:04 +02:00
roboomp 0533240ada fix(tool): preserved rooted windows paths
Restricted MSYS and WSL drive alias normalization to forward-slash roots so native Windows root-relative paths like \d\logs stay on the current drive.

Fixes #2634
2026-06-15 13:44:44 +02:00
roboomp 2f8e523173 fix(tool): normalized windows drive aliases
Mapped MSYS and WSL drive aliases before bash cwd validation and brush filesystem resolution so cd, stat-style tests, and tool cwd handling agree on Windows.

Fixes #2634
2026-06-15 13:44:44 +02:00
can1357 789d4f6948 chore: bump version to 15.13.3 2026-06-15 12:47:58 +02:00
can1357 b7b1b54f6a chore: bump version to 15.13.2 2026-06-15 08:49:41 +02:00
can1357 6c48b6224d chore: bump version to 15.13.1 2026-06-15 04:36:40 +02:00
can1357 880983c0d8 style(pi-shell): apply rustfmt to children fallback 2026-06-14 23:31:19 +02:00
can1357 f41b1e35f3 fix(pi-shell): scan /proc for children when CONFIG_PROC_CHILDREN is absent
Some Kata/microVM guest kernels (e.g. the CI runner's 6.18.x) are built
without CONFIG_PROC_CHILDREN, so /proc/<pid>/task/<tid>/children does not
exist. The Linux children() relied on it with no fallback, making
children()/live_descendants() return empty and silently turning shell
cancellation cleanup into a no-op inside such containers.

Fall back to scanning /proc and grouping by parent pid (the same primitive
the macOS path already uses) when no children file is readable; kernels
with the file keep the cheap per-task fast path. Also fixes
process::tests::descendants_includes_freshly_spawned_child under Kata CI.
2026-06-14 23:24:03 +02:00
can1357 72f76280c9 test(pi-shell): tolerate PID-namespaced getsid(0) in session tests
Same containerized-CI issue as the pi-natives wrapper test: in a PID
namespace the host process's session leader lives outside the namespace,
so getsid(0) returns 0 (not -1). Relax the host_sid > 0 sanity asserts in
embedded_external_command_runs_in_its_own_session and
embedded_pipeline_stage_runs_in_its_own_session to host_sid >= 0; the
child-session invariants (own session, distinct from host) are unchanged.
2026-06-14 23:24:03 +02:00
can1357 3f5cc41f91 test(pi-natives): tolerate PID-namespaced getsid(0) in session test
Inside a container PID namespace (the Kata microVM CI runner), the host
process's session leader lives outside the namespace, so getsid(0) returns
0 via task_session_vnr — not an error. The assert host_sid > 0 was too
strict and panicked with 'getsid(0) failed: Success (os error 0)'. Relax
to host_sid >= 0 (only -1 is a real failure); the meaningful invariant
(child detaches into its own session: child_sid == child_pid, distinct
from host) is unchanged.
2026-06-14 23:07:53 +02:00
can1357 7e8122000a chore: bump version to 15.13.0 2026-06-14 18:21:59 +02:00
can1357 2b436f222a chore: update changelogs 2026-06-14 18:21:35 +02:00
can1357 03871d247d fix(pi-natives): dropped const qualifier from napi tokio runtime installer
- Changed `omp_install_tokio_runtime` in `crates/pi-natives/src/lib.rs` from `pub const fn` to `pub fn`.
- Added `#[allow(clippy::missing_const_for_fn)]` to silence the missing-const suggestion for the binding function.
2026-06-14 18:17:40 +02:00
can1357 b0a00fdb5d chore: reformat 2026-06-14 18:13:48 +02:00
can1357 b9d523e3f0 Merge PR #2379: fix(pi-iso): satisfy clippy for projfs and block-clone 2026-06-14 17:44:19 +02:00
can1357 ce6ac9a9d2 Merge PR #2384: fix(pi-shell): satisfy clippy in process.rs 2026-06-14 17:29:38 +02:00
can1357 219e41810b Merge PR #2383: test(pi-shell): gate Unix wait tests; use cmd /C nohup on Windows 2026-06-14 17:29:37 +02:00
can1357 72e8bc6c8c Merge remote-tracking branch 'origin/farm/d2ef4392/fix-linux-native-addon-load-hang' 2026-06-14 17:26:32 +02:00
oldschoola 3f60beda7c fix(pi-iso): satisfy clippy for projfs and block-clone on Windows 2026-06-14 17:24:00 +02:00
oldschoola e60498f1f3 fix(pi-shell): satisfy clippy in process.rs on Windows 2026-06-14 17:23:40 +02:00
oldschoola 8ac68b731f test(pi-shell): gate Unix job-control tests and fix nohup on Windows 2026-06-14 17:22:49 +02:00
roboomp f4216501c4 fix(natives): avoided linux addon load hang
Kept the custom Tokio worker probe on Windows only so Linux source-built addons do not spawn probe threads during Bun module initialization.

Added an import-time regression test and changelog entry for the Linux native addon load path.

Fixes #2553
2026-06-14 08:36:43 +00:00
can1357 4a2417c92f fix(pi-shell): fixed here-document chains to avoid segmented minimizer re-run failures
- Marked heredoc redirects as unsafe for chain segmentation so commands with here-docs run via the single execution path instead of being replayed.
- Added regression tests in minimizer and shell modules covering quoted, escaped, and chained here-doc pipelines.
- Recorded the fix in the natives changelog for multi-command quoted/escaped heredoc handling.
2026-06-14 08:55:35 +02:00
can1357 2ef7b7929b fix(pi-ast): fixed block range resolution for blank-line-starting declarations
- Updated `block_range_at` to query a one-column span from `col` to `col + 1` instead of a zero-width point, preventing zero-width separator nodes from trapping resolution to enclosing scopes.
- Added regression tests for Swift computed properties and top-level declarations after blank lines so the resolver now returns the expected block boundaries.
- Documented the fix in the package changelog under the `Fixed` section for native tooling block-range operations.
2026-06-14 08:06:48 +02:00
luk 50ca4cad2c fix(pi-natives): avoid deadlock by deferring tokio runtime install
(cherry picked from commit c1a1cb6149e73b345919dd4cf629b0d9ac74fb57)
2026-06-14 07:48:12 +02:00
can1357 19766762cd chore: bump version to 15.12.6 2026-06-14 02:35:06 +02:00
can1357 cc35258e0e style(natives): apply rustfmt to lib.rs imports and doc comments 2026-06-14 02:34:28 +02:00
can1357 9a26a945a7 fix: dropped unavailable forced toolChoice and added runtime fallback recovery
- Validated queued toolChoice against active tools in agent and coding-agent sessions.
- Rejected queued forced choices with reason "unavailable" when selected tools were inactive.
- Dropped provider toolChoice payloads when requested function tools were not offered.
- Probed Tokio worker-thread support and fell back to current-thread runtime creation.
2026-06-14 01:32:47 +02:00
can1357 e14f7effa7 fix: remove flakey test 2026-06-13 22:14:34 +02:00
can1357 eac1d21f93 chore: bump version to 15.12.5 2026-06-13 21:51:43 +02:00
can1357 15b5c1397f chore: bump version to 15.12.4 2026-06-13 18:04:39 +02:00
can1357 b921b67db7 fix(pi-shell): fixed quoted heredoc execution without trailing newline
- Added `ensure_trailing_newline_for_heredoc` to normalize commands by appending a newline for heredoc inputs missing one.
- Applied the helper in both one-shot and streaming shell execution paths before invoking `run_string`.
- Added a regression test for quoted heredocs at EOF in Unix and documented the fix in the natives changelog.
2026-06-13 14:38:36 +02:00
can1357 2e5b0b5757 fix(brush-core-vendored): fixed async background PID targeting for nohup wrapper
- Added a transparent_background_wrapper flag to builtin registrations and a helper constructor.
- Updated async background job creation to classify transparent wrapper builtins and launch the unwrapped command as the tracked job.
- Marked nohup as a transparent background wrapper and added a test asserting `nohup cmd &` exposes a child PID in `$!`.
2026-06-12 22:37:01 +02:00
can1357 db421bb2ef chore: bump version to 15.12.3 2026-06-12 18:13:09 +02:00
can1357 7975ebea8c chore: bump version to 15.12.2 2026-06-12 17:03:05 +02:00
can1357 ba27bbd3a3 chore: bump version to 15.12.1 2026-06-12 16:27:14 +02:00
can1357 89e0801a5d chore: bump version to 15.12.0 2026-06-12 15:50:06 +02:00
can1357 961e7c10d3 feat(utils): added isMacosMallocStackLoggingEnvName() function
- Added isMacosMallocStackLoggingEnvName() function to identify MallocStackLogging and MallocStackLoggingNoCompact variables. Updated filterProcessEnv() and Bun.env initialization to skip these variables during environment filtering. Added test case to verify malloc stack logging toggles are dropped instead of forwarded.
2026-06-12 15:46:52 +02:00
can1357 e13ad3805f chore: bump version to 15.11.8 2026-06-12 12:16:34 +02:00
can1357 a8e1f636f6 refactor(minimizer): applied #[must_use] annotations and simplified minimizer parsing internals
- Applied #[must_use] annotations across minimizer and process APIs to flag ignored return values.
- Replaced direct serde_json field reads with typed Value helper calls in several filters.
- Simplified filter parsing with chained if-let guards, rfind checks, and related cleanup.
- Updated minimizer tests and fixtures to build outputs via write! and fmt::Write.
2026-06-12 12:16:18 +02:00