Peter Steinberger
2424404fb4
docs: add transcript hygiene reference
2026-01-23 01:34:21 +00:00
Peter Steinberger
17a09cc721
Merge pull request #1472 from czekaj/fix/logs-follow-spinner
...
fix: suppress spinner in logs --follow mode
2026-01-23 01:29:30 +00:00
Peter Steinberger
279f799388
fix: harden Mattermost plugin gating ( #1428 ) (thanks @damoahdominic)
2026-01-23 01:23:23 +00:00
Peter Steinberger
52b6bf04af
fix: improve tool summaries
2026-01-23 01:00:24 +00:00
Lucas Czekaj
76a42da676
fix: suppress spinner in logs --follow mode
...
The progress spinner was being shown for each gateway RPC call during
log tailing, causing repeated spinner frames (◇ │) to appear every
polling interval.
Add a `progress` option to `callGatewayFromCli` and disable the spinner
during follow mode polling to keep output clean.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 16:58:42 -08:00
Peter Steinberger
51a9053387
feat: add OpenProse plugin skills
2026-01-23 00:49:40 +00:00
Peter Steinberger
db0235a26a
fix: gate transcript sanitization by provider
2026-01-23 00:42:45 +00:00
Peter Steinberger
fac21e6eb4
Merge pull request #1428 from bestparents/feat/mattermost-channel
...
feat: add Mattermost channel support
2026-01-23 00:24:47 +00:00
Peter Steinberger
e872f5335b
fix: allow chained exec allowlists
...
Co-authored-by: Lucas Czekaj <1464539+czekaj@users.noreply.github.com>
2026-01-23 00:11:58 +00:00
Peter Steinberger
a23e272877
Merge pull request #1440 from robbyczgw-cla/fix/token-count-after-compaction
...
fix: update token count display after compaction
2026-01-23 00:10:46 +00:00
Peter Steinberger
870bfa94ed
fix: skip tool id sanitization for openai responses
2026-01-22 23:51:59 +00:00
Peter Steinberger
d297e17958
refactor: centralize control ui avatar helpers
2026-01-22 23:41:36 +00:00
Peter Steinberger
6a25e23909
fix: tui local shell consent UX ( #1463 )
...
- add local shell runner + denial notice + tests
- docs: describe ! local shell usage
- lint: drop unused Slack upload contentType
- cleanup: remove stray Swabble pins
Thanks @vignesh07.
Co-authored-by: Vignesh Natarajan <vigneshnatarajan92@gmail.com>
2026-01-22 23:38:44 +00:00
Vignesh Natarajan
dc66527114
tui: clarify local shell exec consent prompt
2026-01-22 23:26:01 +00:00
Vignesh Natarajan
110b5dafee
tui: keep trimming for normal submits; only raw ! triggers bash
2026-01-22 23:26:01 +00:00
Vignesh Natarajan
5fd699d0bf
tui: add local shell execution for !-prefixed lines
2026-01-22 23:26:01 +00:00
Dominic Damoah
01579aa7d7
Merge branch 'main' into feat/mattermost-channel
2026-01-22 18:17:40 -05:00
Peter Steinberger
42cd8a02bb
Merge pull request #1447 from jdrhyne/fix/slack-filetype-deprecation
...
fix(slack): remove deprecated filetype field from files.uploadV2 [AI]
2026-01-22 23:16:26 +00:00
Peter Steinberger
814e9a500e
feat: add manual onboarding flow alias
2026-01-22 23:09:28 +00:00
Peter Steinberger
da3a141c58
refactor: require session state for directive handling
2026-01-22 22:42:46 +00:00
Peter Steinberger
c0c8ee217f
fix: clarify session_status model-use guidance
2026-01-22 22:42:37 +00:00
Peter Steinberger
411ce7e231
fix: surface concrete ai error details
2026-01-22 22:24:25 +00:00
Peter Steinberger
b709898fb3
Merge pull request #1461 from ameno-/fix/node-daemon-run
...
Fix node daemon command
2026-01-22 22:02:19 +00:00
Peter Steinberger
482fcd2f2c
fix: resolve control UI avatar URLs ( #1457 ) (thanks @dlauer)
2026-01-22 21:58:46 +00:00
Peter Steinberger
6c7f224ce1
Merge pull request #1457 from dlauer/fix/avatar-relative-url-validation
...
fix(ui): allow relative URLs in avatar validation
2026-01-22 21:57:27 +00:00
Peter Steinberger
1ef2de1276
fix: cover missing session key model switch persist ( #1465 ) (thanks @robbyczgw-cla)
2026-01-22 21:41:05 +00:00
Peter Steinberger
60cbf97079
Merge pull request #1464 from alfranli123/fix/session-memory-suppress-confirmation
...
fix(session-memory): suppress user-visible confirmation message
2026-01-22 21:40:15 +00:00
Robby
784ea4f7d5
test: add unit tests for model switch persist behavior
...
Tests verify:
- Success message shown when session state available
- Error message shown when sessionEntry missing
- Error message shown when sessionStore missing
- No model message when no /model directive
Covers edge cases for #1435 fix.
2026-01-22 20:40:41 +00:00
Robby
f07a58965e
fix: only show model switch success when persist succeeds ( fixes #1435 )
...
Previously, the /model command would display 'Model set to X' even when
the session state wasn't actually persisted (when sessionEntry, sessionStore,
or sessionKey were missing). This caused confusion as users saw success
messages but the model didn't actually change.
This fix:
- Tracks whether the model override was actually persisted
- Only shows success message when persist happened
- Shows a clear error message when persist fails
AI-assisted: Claude Opus 4.5 via Clawdbot
Testing: lightly tested (code review, no runtime test)
2026-01-22 20:31:06 +00:00
Al
773dad256e
fix(session-memory): suppress user-visible confirmation message
...
The session-memory hook saves session context to memory files when /new is run,
which is useful internal housekeeping. However, the confirmation message that
was displayed to users (showing the file path) leaked implementation details.
This change removes the user-visible message while keeping the console.log
for debugging purposes. The hook continues to save session context silently.
2026-01-22 15:22:20 -05:00
Dave Lauer
ffca65d15f
fix(gateway): resolve local avatars to URL in HTML injection and RPC
...
The frontend fix alone wasn't enough because:
1. serveIndexHtml() was injecting the raw avatar filename into HTML
2. agent.identity.get RPC was returning raw filename, overwriting the
HTML-injected value
Now both paths resolve local file avatars (*.png, *.jpg, etc.) to the
/avatar/{agentId} endpoint URL.
2026-01-22 15:16:31 -05:00
Ameno Osman
654b6a943b
fix(node): use node run for node daemon
2026-01-22 11:15:51 -08:00
Robby
768d5ccafe
style: fix formatting
2026-01-22 17:47:52 +00:00
Dominic Damoah
8b3cb373d4
fix: remove unused originatingChannel variable
...
Remove unused originatingChannel variable from runPreparedReply function that was assigned but never referenced.
2026-01-22 12:11:05 -05:00
Dominic Damoah
495a39b5a9
refactor: extract mattermost channel plugin to extension
...
Move mattermost channel implementation from core to extensions/mattermost plugin. Extract config schema, group mentions, normalize utilities, and all mattermost-specific logic (accounts, client, monitor, probe, send) into the extension. Update imports to use plugin SDK and local modules. Add channel metadata directly in plugin definition instead of using getChatChannelMeta. Update package.json with channel and install configuration.
2026-01-22 12:02:30 -05:00
Jonathan Rhyne
47e440f73a
fix(slack): remove deprecated filetype field from files.uploadV2
...
Slack's files.uploadV2 API no longer supports the filetype field and logs
deprecation warnings when it's included. Slack auto-detects the file type
from the file content, so this field is unnecessary.
This removes the warning:
[WARN] web-api:WebClient filetype is no longer a supported field in files.uploadV2.
2026-01-22 08:33:13 -05:00
Matt mini
57e81d3c24
Fix: Support path and filePath parameters in message send action
...
The message tool accepts path and filePath parameters in its schema,
but these were never converted to mediaUrl, causing local files to
be ignored when sending messages.
Changes:
- src/agents/tools/message-tool.ts: Convert path/filePath to media with file:// URL
- src/infra/outbound/message-action-runner.ts: Allow hydrateSendAttachmentParams for "send" action
Fixes issue where local audio files (and other media) couldn't be sent
via the message tool with the path parameter.
Users can now use:
message({ path: "/tmp/file.ogg" })
message({ filePath: "/tmp/file.ogg" })
2026-01-22 13:15:48 +01:00
Peter Steinberger
019726f2d1
fix: guard invalid avatar bootstrap text
2026-01-22 11:37:29 +00:00
Peter Steinberger
36a2584ac7
fix: allowlist match without local exec resolution
2026-01-22 10:29:36 +00:00
Peter Steinberger
cadaf2c835
feat: add sessions preview rpc and menu prewarm
2026-01-22 10:21:50 +00:00
Peter Steinberger
e389bd478b
fix: keep backslashes in quoted exec paths
2026-01-22 09:58:24 +00:00
Robby
0873351401
fix: update token count display after compaction ( #1299 )
2026-01-22 09:58:07 +00:00
Peter Steinberger
7a283f86a8
fix: omit skills section in minimal prompt
2026-01-22 09:32:49 +00:00
Peter Steinberger
646ea6ef0b
test: use absolute exec path for allowlist
2026-01-22 09:20:38 +00:00
Peter Steinberger
4c8806ad38
Merge pull request #1431 from robbyczgw-cla/fix/subagent-skills-inheritance
...
fix: include skills in minimal prompt mode for subagents
2026-01-22 09:02:28 +00:00
Peter Steinberger
0824bc0236
test: isolate exec allowlist env
2026-01-22 08:58:55 +00:00
Peter Steinberger
0e17e55be9
fix: cache usage cost summary
2026-01-22 08:51:22 +00:00
Peter Steinberger
54e0fc342e
fix: wrap cli banner tagline
2026-01-22 08:50:06 +00:00
Peter Steinberger
f2606a17ba
chore: update a2ui bundle hash
2026-01-22 08:48:09 +00:00
Peter Steinberger
1a4fade2f7
fix: honor Windows Path casing
2026-01-22 08:33:52 +00:00
Peter Steinberger
e344b7df9c
fix: preserve antigravity thinking block types
2026-01-22 08:31:07 +00:00
Robby
256fdcb3cf
fix: include skills in minimal prompt mode for subagents
2026-01-22 08:28:55 +00:00
Peter Steinberger
acdfbee4f9
fix: detect antigravity claude by provider
2026-01-22 08:26:08 +00:00
Peter Steinberger
ff69a9bd9c
fix: sanitize antigravity thinking signatures
2026-01-22 08:17:49 +00:00
Dominic Damoah
91278d8b4e
Merge branch 'main' into feat/mattermost-channel
2026-01-22 03:11:53 -05:00
Peter Steinberger
b748b86b23
fix: canonicalize allowlist paths on Windows
2026-01-22 08:07:55 +00:00
Peter Steinberger
1a8b106f34
style: format agent workspace and prompts
2026-01-22 08:05:55 +00:00
Peter Steinberger
388d302472
fix: carry reply tags across streamed chunks
2026-01-22 08:01:34 +00:00
Peter Steinberger
e0c19607b7
fix: allow MEDIA local paths with spaces
2026-01-22 07:51:09 +00:00
Dominic Damoah
fe77d3eb56
Merge branch 'main' into feat/mattermost-channel
2026-01-22 02:49:17 -05:00
Peter Steinberger
230211fe26
fix: resolve Windows exec paths with extensions
2026-01-22 07:46:50 +00:00
Peter Steinberger
0f4e0cbe5f
test: cover unpaired telegram dm native commands
2026-01-22 07:44:35 +00:00
Peter Steinberger
bc8e5ad6b3
fix: stabilize avatar tests on Windows
2026-01-22 07:24:12 +00:00
Lucas Czekaj
4b3e9c0f33
fix(exec): align node exec approvals ( #1425 )
...
Thanks @czekaj.
Co-authored-by: Lucas Czekaj <lukasz@czekaj.us>
2026-01-22 07:22:43 +00:00
Peter Steinberger
0d37a92c16
fix: remove duplicate loadConfig import
2026-01-22 07:08:13 +00:00
Peter Steinberger
8544df36b8
feat: extend Control UI assistant identity
2026-01-22 07:08:13 +00:00
Robby
3125637ad6
feat(webui): add custom assistant identity support
...
Adds the ability to customize the assistant's name and avatar in the Web UI.
Configuration options:
- config.ui.assistant.name: Custom name (replaces 'Assistant')
- config.ui.assistant.avatar: Emoji or letter for avatar (replaces 'A')
Also reads from workspace IDENTITY.md as fallback:
- Name: field sets the assistant name
- Emoji: field sets the avatar
Priority: config > IDENTITY.md > defaults
Closes #1383
2026-01-22 07:07:53 +00:00
Peter Steinberger
ad6d048934
feat: add update wizard and guard elevated defaults
2026-01-22 07:06:19 +00:00
Peter Steinberger
d19a0249f8
fix: align rolling logs to local time
2026-01-22 07:02:52 +00:00
Peter Steinberger
b573231cd1
fix: prevent exec approval resolve race
2026-01-22 07:01:27 +00:00
AJ
862f34ade7
fix: read account_id from Codex CLI auth for workspace billing
2026-01-22 07:01:10 +00:00
Peter Steinberger
8a20f44228
fix: improve gateway ssh auth handling
2026-01-22 06:54:08 +00:00
Peter Steinberger
d430a3a5c7
chore: update a2ui bundle hash
2026-01-22 06:40:02 +00:00
Peter Steinberger
319b4d02a0
fix: load workspace templates from docs
2026-01-22 06:39:28 +00:00
Peter Steinberger
b63175d822
Merge remote-tracking branch 'origin/main' into feature/agent-avatar-support
2026-01-22 06:27:45 +00:00
Peter Steinberger
6539c09a93
Merge remote-tracking branch 'origin/main' into feature/agent-avatar-support
2026-01-22 06:03:56 +00:00
Peter Steinberger
23ea4a21e0
fix: skip elevated defaults when not allowed
2026-01-22 06:03:23 +00:00
Peter Steinberger
34686027b1
fix: inherit model overrides for thread sessions
2026-01-22 06:03:23 +00:00
Peter Steinberger
36cfe75a0b
test: relax canvas host reload timing
2026-01-22 05:54:00 +00:00
Peter Steinberger
d425f1ebea
test: align envelope timestamp expectations ( #1329 ) (thanks @dlauer)
2026-01-22 05:51:42 +00:00
Peter Steinberger
8580b85f0b
fix: subagents list uses command session
2026-01-22 05:43:50 +00:00
Peter Steinberger
a2981c5a2c
feat: add elevated ask/full modes
2026-01-22 05:41:11 +00:00
Peter Steinberger
a59ac5cf6f
feat: add agent identity avatars ( #1329 ) (thanks @dlauer)
2026-01-22 05:37:15 +00:00
Peter Steinberger
5567bceb66
fix: restore daemon subcommand alias
2026-01-22 05:33:47 +00:00
Peter Steinberger
e0896de2bf
feat: surface repo root in runtime prompt
2026-01-22 05:20:42 +00:00
Peter Steinberger
0f8d0f37fd
Merge pull request #1419 from jamesgroat/fix/chrome-restore-prompt
...
Browser: suppress Chrome restore prompt
2026-01-22 05:17:01 +00:00
Peter Steinberger
4dca662a5d
chore(canvas): update a2ui bundle hash
2026-01-22 04:51:39 +00:00
Peter Steinberger
f02960df26
fix: avoid whatsapp config resurrection
2026-01-22 04:49:56 +00:00
Peter Steinberger
b60db040e2
test: align envelope timestamps with local tz
2026-01-22 04:49:41 +00:00
Peter Steinberger
13dab38a26
fix: retry lobster spawn on windows
2026-01-22 04:31:25 +00:00
James Groat
fd597a796b
Browser: suppress Chrome restore prompt
2026-01-21 21:27:34 -07:00
Peter Steinberger
ff3d8cab2b
feat: preflight update runner before rebase
2026-01-22 04:19:33 +00:00
Peter Steinberger
5424b4173c
fix: localize system event timestamps
2026-01-22 04:15:39 +00:00
Peter Steinberger
30a8478e1a
fix: default envelope timestamps to local
2026-01-22 04:10:06 +00:00
Peter Steinberger
2fc926ab1c
Merge pull request #1329 from dlauer/feature/agent-avatar-support
...
feat: add avatar support for agent identity
2026-01-22 04:09:00 +00:00
Peter Steinberger
1ac1e72a47
Merge pull request #1204 from cpojer/reminders
...
Improve `cron` reminder tool description.
2026-01-22 04:06:50 +00:00
Peter Steinberger
9450873c1b
fix: align exec approvals default agent
2026-01-22 04:05:54 +00:00
Peter Steinberger
5fb6a0fd32
fix: map OpenCode Zen models to correct APIs
2026-01-22 04:02:53 +00:00
Peter Steinberger
a2bea8e366
feat: add agent avatar support ( #1329 ) (thanks @dlauer)
2026-01-22 04:00:07 +00:00
Peter Steinberger
2d583e877b
fix: default exec approvals to main agent ( #1417 ) (thanks @czekaj)
2026-01-22 03:58:53 +00:00