Commit Graph

7566 Commits

Author SHA1 Message Date
Peter Steinberger
1c71124ada fix: expand linux service PATH handling 2026-01-23 19:16:41 +00:00
Robby
d167ad9e9c fix(linux): add user bin directories to systemd service PATH for skill installation (#1512)
* fix(linux): add user bin directories to systemd service PATH

Fixes #1503

On Linux, the systemd service PATH was hardcoded to only include system
directories (/usr/local/bin, /usr/bin, /bin), causing binaries installed
via npm global with custom prefix or node version managers to not be found.

This adds common Linux user bin directories to the PATH:
- ~/.local/bin (XDG standard, pip, etc.)
- ~/.npm-global/bin (npm custom prefix)
- ~/bin (user's personal bin)
- Node version manager paths (nvm, fnm, volta, asdf)
- ~/.local/share/pnpm (pnpm global)
- ~/.bun/bin (Bun)

User directories are added before system directories so user-installed
binaries take precedence.

🤖 AI-assisted (Claude Opus 4.5 via Clawdbot)
📋 Testing: Existing unit tests pass (7/7)

* test: add comprehensive tests for Linux user bin directory resolution

- Add dedicated tests for resolveLinuxUserBinDirs() function
- Test path ordering (extraDirs > user dirs > system dirs)
- Test buildMinimalServicePath() with HOME set/unset
- Test platform-specific behavior (Linux vs macOS vs Windows)

Test count: 7 → 20 (+13 tests)

* test: add comprehensive tests for Linux user bin directory handling

- Test Linux user directories included when HOME is set
- Test Linux user directories excluded when HOME is missing
- Test path ordering (extraDirs > user dirs > system dirs)
- Test platform-specific behavior (Linux vs macOS vs Windows)
- Test buildMinimalServicePath() with HOME in env

Covers getMinimalServicePathParts() and buildMinimalServicePath()
for all Linux user bin directory edge cases.

Test count: 7 → 16 (+9 tests)
2026-01-23 19:06:14 +00:00
Peter Steinberger
9f5cee9493 fix(exec-approvals): stabilize allowlist ids (#1521) 2026-01-23 19:00:45 +00:00
Peter Steinberger
72d505caed fix: surface gateway slash commands in TUI 2026-01-23 18:58:41 +00:00
Peter Steinberger
d2f845ed0e fix: forward unknown TUI slash commands 2026-01-23 18:41:02 +00:00
Peter Steinberger
6b88bb7ac6 fix: add per-channel markdown table conversion (#1495) (thanks @odysseus0) 2026-01-23 18:39:25 +00:00
Peter Steinberger
84288d059a test: move gateway server coverage to e2e 2026-01-23 18:34:33 +00:00
Peter Steinberger
817084de60 test: move auto-reply directive coverage to e2e 2026-01-23 18:34:33 +00:00
Peter Steinberger
04a323bb5b test: consolidate auto-reply unit coverage 2026-01-23 18:34:33 +00:00
Peter Steinberger
7129952819 test: dedupe CLI onboard auth cases 2026-01-23 18:34:33 +00:00
Peter Steinberger
1e0fbeb291 test: trim async waits in webhook tests 2026-01-23 18:34:33 +00:00
Peter Steinberger
885b9f4fbc test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
Peter Steinberger
228c3cf31f test: speed up default test env 2026-01-23 18:34:33 +00:00
Peter Steinberger
1c51871903 fix: normalize session lock path 2026-01-23 18:34:33 +00:00
George Zhang
4490e8f0f0 feat(telegram): convert markdown tables to bullet points (#1495)
Tables render poorly in Telegram (pipes stripped, whitespace collapses).
This adds a 'tableMode' option to markdownToIR that converts tables to
nested bullet points, which render cleanly on mobile.

- Add tableMode: 'flat' | 'bullets' to MarkdownParseOptions
- Track table state during token rendering
- Render tables as bullet points with first column as row labels
- Apply bold styling to row labels for visual hierarchy
- Enable tableMode: 'bullets' for Telegram formatter

Closes #TBD
2026-01-23 18:00:51 +00:00
George Zhang
e0f62ed11a daemon: prefer symlinked paths over realpath for stable service configs (#1505)
When installing the LaunchAgent/systemd service, the CLI was using
fs.realpath() to resolve the entry.js path, which converted stable
symlinked paths (e.g. node_modules/clawdbot) into version-specific
paths (e.g. .pnpm/clawdbot@X.Y.Z/...).

This caused the service to break after pnpm updates because the old
versioned path no longer exists, even though the symlink still works.

Now we prefer the original (symlinked) path when it's valid, keeping
service configs stable across package version updates.
2026-01-23 11:52:26 +00:00
Peter Steinberger
9e1ce76cfb fix: restart gateway after update by default 2026-01-23 11:50:19 +00:00
Peter Steinberger
a42f924a14 chore: speed up tests and update opencode models 2026-01-23 11:36:32 +00:00
Peter Steinberger
d5a382a8d9 fix: stabilize ci tests 2026-01-23 09:52:22 +00:00
Peter Steinberger
c9c6284127 docs: prefer fast install smoke for release 2026-01-23 09:18:15 +00:00
Peter Steinberger
7efba70960 Merge pull request #1492 from svkozak/fix-discord-accountId
Discord: preserve accountId in message actions (refs #1489)
2026-01-23 09:15:54 +00:00
Peter Steinberger
d6d36df9a0 Merge origin/main into fix-discord-accountId 2026-01-23 09:15:44 +00:00
Sergii Kozak
82baf58263 Discord Actions: Update tests for optional config parameter 2026-01-23 01:11:54 -08:00
Peter Steinberger
c7c17fab59 fix: always offer TUI hatch 2026-01-23 09:07:43 +00:00
Peter Steinberger
62a3e08012 test: fix discord action mocks 2026-01-23 09:06:04 +00:00
Peter Steinberger
3a7dae227a docs: update changelog for #1492 2026-01-23 09:06:04 +00:00
Peter Steinberger
1118b98947 fix: honor accountId in message actions 2026-01-23 09:06:04 +00:00
Sergii Kozak
e9791cdbfa Discord: preserve accountId in message actions (refs #1489) 2026-01-23 09:06:04 +00:00
Peter Steinberger
91f43e554a ci: speed up install smoke on PRs 2026-01-23 09:05:15 +00:00
Peter Steinberger
be3cb5776c fix: keep core tools when allowlist is plugin-only 2026-01-23 09:02:17 +00:00
Peter Steinberger
5535f0a134 docs: add exe.dev ops note 2026-01-23 09:01:02 +00:00
Peter Steinberger
d9cd6e4c17 chore: update appcast for 2026.1.22 2026-01-23 08:59:04 +00:00
Sergii Kozak
b629fe6ded Discord: honor accountId across channel actions (refs #1489) 2026-01-23 00:50:50 -08:00
Peter Steinberger
9961d6765b fix: preserve PNG alpha fallback (#1491) (thanks @robbyczgw-cla) 2026-01-23 08:45:50 +00:00
Robby
74380873c7 fix(media): preserve alpha channel for transparent PNGs (#1473) 2026-01-23 08:43:01 +00:00
Peter Steinberger
aad7fe5d4f docs: note SPARKLE_PRIVATE_KEY_FILE in profile 2026-01-23 08:25:20 +00:00
Peter Steinberger
f7432c75d7 chore: sync plugin versions for 2026.1.22 2026-01-23 08:18:55 +00:00
Peter Steinberger
df8da7b88e fix: allow windows spawn in test parallel 2026-01-23 07:52:04 +00:00
Sergii Kozak
b683a3c933 Discord: preserve accountId in message actions (refs #1489) 2026-01-22 23:51:58 -08:00
Peter Steinberger
a01d5aa9a7 docs: fix 2026.1.21 changelog placement 2026-01-23 07:51:40 +00:00
Peter Steinberger
01bb95c039 test: split vitest into unit and gateway 2026-01-23 07:34:57 +00:00
Peter Steinberger
36d5748061 test: consolidate pi-tools shards 2026-01-23 07:34:57 +00:00
Peter Steinberger
7d8c92dbad test: speed up history and cron suites 2026-01-23 07:34:57 +00:00
Ian Hildebrand
a8f4b0a076 fix: support direct token and provider in auth apply commands (#1485) 2026-01-23 07:27:52 +00:00
Peter Steinberger
bc34d22972 test: streamline slow suites 2026-01-23 07:26:19 +00:00
Peter Steinberger
b1e9cc7841 docs: note vitest worker cap 2026-01-23 07:26:19 +00:00
Peter Steinberger
e98f97b5ee fix: log config update in copilot auth 2026-01-23 07:23:52 +00:00
Hiren Patel
2cf551b153 [AI Assisted] Usage: add Google Antigravity usage tracking (#1490)
* Usage: add Google Antigravity usage tracking

- Add dedicated fetcher for google-antigravity provider
- Fetch credits and per-model quotas from Cloud Code API
- Report individual model IDs sorted by usage (top 10)
- Include comprehensive debug logging with [antigravity] prefix

* fix: refine antigravity usage tracking (#1490) (thanks @patelhiren)

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-23 07:17:59 +00:00
Peter Steinberger
6272315b69 fix: stop gateway before uninstall 2026-01-23 07:17:42 +00:00
Peter Steinberger
de455683af Revert "fix: improve GitHub Copilot integration"
This reverts commit b69e70668d.
2026-01-23 07:14:00 +00:00