Commit Graph

4276 Commits

Author SHA1 Message Date
Peter Steinberger
89d982e12c Merge pull request #578 from p6l-richard/feature/identity-based-message-prefix
fix(messages): derive messagePrefix from identity.name
2026-01-09 15:40:52 +00:00
Peter Steinberger
06411d0fdc fix: derive prefixes from routed identity (#578) (thanks @p6l-richard) 2026-01-09 16:39:32 +01:00
Peter Steinberger
eaa74ae109 Merge pull request #558 from carlulsoe/mobile-ui-improvements
feat(ui): improve mobile responsiveness [AI-assisted]
2026-01-09 15:39:19 +00:00
Peter Steinberger
aefaa86cf5 fix: honor slack reply threading (#574, thanks @bolismauro) 2026-01-09 15:38:43 +00:00
Peter Steinberger
0a72616090 fix: stabilize windows CI (#558) (thanks @carlulsoe) 2026-01-09 16:37:58 +01:00
Mauro Bolis
9352c0e781 fix: honor slack reply threading 2026-01-09 15:35:54 +00:00
Peter Steinberger
c54af0658f feat(status): add claude.ai usage fallback 2026-01-09 15:34:58 +00:00
Peter Steinberger
bfdbf0ed2a fix(status): surface provider usage errors 2026-01-09 15:34:58 +00:00
Kit
761acc5b7a feat(ui): improve mobile responsiveness
- Add @media (max-width: 600px) breakpoint for mobile-specific styles
- Compact header: smaller title, hidden subtitle, minimal status pill
- Horizontal scrollable nav: all items in one row, swipeable
- Hide redundant page titles on mobile
- Hide docs button on mobile (saves space)
- Smaller theme toggle icons
- Tighter spacing on cards, stats, forms
- Better chat layout: full-width session selector, compact compose
- Single-column log entries on small screens

Desktop layout remains unchanged.

Co-authored-by: Carl Ulsoe <34673973+carlulsoe@users.noreply.github.com>
2026-01-09 16:32:55 +01:00
Richard Poelderl
5a63621a38 feat(messages): also derive responsePrefix from identity.name
When identity.name is configured and responsePrefix is not explicitly set,
automatically default responsePrefix to [identity.name].

This means users only need to set their identity once:
  { identity: { name: "MyBot" } }

And outbound messages will automatically be prefixed with [MyBot].
2026-01-09 16:31:20 +01:00
Richard Poelderl
fcadcd38c4 feat(messages): derive messagePrefix from identity.name
When identity.name is configured, use it for the default messagePrefix
instead of hardcoded '[clawdbot]'. Falls back to 'clawdbot' if not set.

This allows users to customize how their bot identifies itself in messages
by setting identity.name in their config or IDENTITY.md.
2026-01-09 16:31:01 +01:00
Peter Steinberger
19d5471f65 refactor: consolidate schema scrub + test harness 2026-01-09 16:27:28 +01:00
Peter Steinberger
1f0df6dfe7 feat: add TUI bootstrap start 2026-01-09 16:25:29 +01:00
Josh Palmer
f79bb7fc94 🤖 codex: fix duplicate agentDir (no-issue) 2026-01-09 16:23:34 +01:00
Emanuel Stadler
7702698d61 Chore: ignore .vscode 2026-01-09 15:21:30 +00:00
Peter Steinberger
6671a2a126 feat: add dev workspace templates 2026-01-09 16:13:41 +01:00
Peter Steinberger
e8edc4c9ca Merge pull request #569 from bjesuiter/ui-build-default-to-relative-path
fix(ui): default to relative paths for control UI assets
2026-01-09 14:47:46 +00:00
Peter Steinberger
d13496161c test: make withTempHome cross-platform 2026-01-09 15:47:26 +01:00
Peter Steinberger
527678f5ac docs: add dev gateway flow 2026-01-09 15:47:22 +01:00
Peter Steinberger
6ae541d6e7 Merge pull request #577 from clawdbot/fix/node-bridge-keepalive
fix: harden node bridge keepalive
2026-01-09 14:46:59 +00:00
Peter Steinberger
752e07b24b docs: changelog for keepalive hardening (#577) 2026-01-09 15:46:45 +01:00
Peter Steinberger
6160f7faa5 fix: harden node bridge keepalive 2026-01-09 15:46:45 +01:00
Peter Steinberger
547903c324 fix: auto-create dev config for dev profile 2026-01-09 15:45:11 +01:00
Peter Steinberger
5e149efdc8 Merge pull request #567 from erikpr1994/fix/gemini-schema-sanitization
fix(agents): remove unsupported JSON Schema keywords for Cloud Code Assist API
2026-01-09 14:44:38 +00:00
Peter Steinberger
27732d25e5 Merge pull request #570 from azade-c/feat/sessions-label
feat(sessions): expose label in sessions.list and support label lookup in sessions_send
2026-01-09 14:44:23 +00:00
Peter Steinberger
1d7dd5ae80 fix: keep build green after main rebase (#570) (thanks @azade-c) 2026-01-09 15:40:36 +01:00
Peter Steinberger
2dc562a830 test: stabilize Windows test env (#567) (thanks @erikpr1994) 2026-01-09 15:40:02 +01:00
Peter Steinberger
db14740cc6 ci: sanitize CI test output 2026-01-09 15:39:16 +01:00
Peter Steinberger
87c85feea2 fix(status): show usage for token auth profiles 2026-01-09 14:36:46 +00:00
Peter Steinberger
7fea1a68a6 style(models): biome format auth order 2026-01-09 14:36:46 +00:00
Peter Steinberger
daec88f7e9 docs: document auth profile selection 2026-01-09 14:36:46 +00:00
Peter Steinberger
4b0d9786ad fix: quiet telegram getUpdates errors 2026-01-09 15:35:39 +01:00
Peter Steinberger
d19992d328 style: format cli files 2026-01-09 15:34:41 +01:00
Peter Steinberger
1ab7066c67 fix: sanitize Windows test output 2026-01-09 15:32:55 +01:00
Peter Steinberger
18d0640b3e fix: restore openUrl import 2026-01-09 15:32:55 +01:00
Peter Steinberger
0383a6cf36 fix: unblock CI on main (#569) (thanks @bjesuiter) 2026-01-09 15:32:55 +01:00
Peter Steinberger
7eba5be1f3 fix: land #569 (thanks @bjesuiter) 2026-01-09 15:32:55 +01:00
Benjamin Jesuiter
6d73ffa229 fix(ui): default to relative paths for control UI assets
Changes the default base path from "/" to "./" so the control UI works
correctly when served under a custom basePath (e.g., /jbclawd/).

Previously, assets were referenced with absolute paths like /assets/...,
which failed when the UI was served under a subpath. With relative paths
(./assets/...), the browser resolves them relative to the HTML location,
making the UI work regardless of the configured basePath.
2026-01-09 15:32:55 +01:00
Peter Steinberger
1dba0b66c2 chore: regen protocol models (#570) (thanks @azade-c) 2026-01-09 15:32:49 +01:00
Peter Steinberger
311fd3b065 fix: sessions label lookup and persistence (#570) (thanks @azade-c) 2026-01-09 15:32:49 +01:00
Azade
385e8c3f99 test(sessions): add tests for sessions_send label lookup
- Test finding session by label
- Test error when label not found
- Test error when neither sessionKey nor label provided
2026-01-09 15:32:49 +01:00
Azade
3d40e40589 feat(sessions): expose label in sessions.list and support label lookup in sessions_send
- Add `label` field to session entries and expose it in `sessions.list`
- Display label column in the web UI sessions table
- Support `label` parameter in `sessions_send` for lookup by label instead of sessionKey

- `sessions.patch`: Accept and store `label` field
- `sessions.list`: Return `label` in session entries
- `sessions_spawn`: Pass label through to registry and announce flow
- `sessions_send`: Accept optional `label` param, lookup session by label if sessionKey not provided
- `agent` method: Accept `label` and `spawnedBy` params (stored in session entry)

- Add `label` column to sessions table in web UI

- Changed session store writes to merge with existing entry (`{ ...existing, ...new }`)
  to preserve fields like `label` that might be set separately

We attempted to implement label persistence "properly" by passing the label
through the `agent` call and storing it during session initialization. However,
the auto-reply flow has multiple write points that overwrite the session entry,
and making all of them merge-aware proved unreliable.

The working solution patches the label in the `finally` block of
`runSubagentAnnounceFlow`, after all other session writes complete.
This is a workaround but robust - the patch happens at the very end,
just before potential cleanup.

A future refactor could make session writes consistently merge-based,
which would allow the cleaner approach of setting label at spawn time.

```typescript
// Spawn with label
sessions_spawn({ task: "...", label: "my-worker" })

// Later, find by label
sessions_send({ label: "my-worker", message: "continue..." })

// Or use sessions_list to see labels
sessions_list() // includes label field in response
```
2026-01-09 15:32:49 +01:00
Peter Steinberger
e9c4e4c22f Merge pull request #575 from clawdbot/blacksmith-migration-8b9ed6d 2026-01-09 14:31:53 +00:00
Peter Steinberger
8376509eec docs: emphasize setup-token 2026-01-09 15:29:50 +01:00
Peter Steinberger
0f17c2af94 docs: prefer setup-token for Anthropic 2026-01-09 15:27:49 +01:00
Peter Steinberger
55f01a0491 fix: honor gateway --dev flag 2026-01-09 15:25:51 +01:00
Peter Steinberger
384f43bb5e fix: rebase onto main + restore build/lint (#567) (thanks @erikpr1994) 2026-01-09 15:23:41 +01:00
Peter Steinberger
7a820aa7ad test: sanitize Windows CI vitest runner output (#567) (thanks @erikpr1994) 2026-01-09 15:19:49 +01:00
Peter Steinberger
915d11f7b6 test: harden Windows CI output sanitization (#567) (thanks @erikpr1994) 2026-01-09 15:19:49 +01:00
Peter Steinberger
dabc03c7ed test: sanitize Windows CI buffer output (#567) (thanks @erikpr1994) 2026-01-09 15:19:49 +01:00