Commit Graph

66940 Commits

Author SHA1 Message Date
Vincent Koc
09a159c913 refactor(config): remove dead quota maintenance facade 2026-06-19 10:25:50 +08:00
Vincent Koc
eedb6678f1 fix(e2e): extend kitchen rpc watchdog 2026-06-19 04:21:10 +02:00
Vincent Koc
459bcd6198 fix(e2e): clean npm update guest scripts 2026-06-19 04:20:42 +02:00
Vincent Koc
1bbc3b6cb6 refactor(config): remove dead async session target resolver 2026-06-19 10:19:41 +08:00
Vincent Koc
6325a8b5f4 fix(e2e): clean Parallels guest temp scripts 2026-06-19 04:13:03 +02:00
Vincent Koc
5805af9dc4 fix(e2e): defer codex live profile exports 2026-06-19 04:09:10 +02:00
Vincent Koc
42bcb3ecb0 refactor(config): remove dead session schema exports 2026-06-19 10:08:24 +08:00
Thomas Krohnfuß
b48238aa88 feat(commands): add /name to rename the current session from chat (#88581)
* Add /name chat command to rename the current session

Adds a `/name <title>` slash command so users can name or rename the
current session directly from any chat channel, instead of only through
the web/admin session manager. This keeps parallel sessions easy to tell
apart from within the chat flow.

Behaviour:
- `/name <title>` sets the session label, reusing the canonical
  `parseSessionLabel` validation (trim, non-empty, max 512 chars) and the
  same cross-store uniqueness rule enforced by the web `sessions.patch`
  path, so chat naming behaves identically to the session manager.
- `/name` with no argument shows the current name plus a locally derived
  `deriveSessionTitle` suggestion without mutating anything (no LLM).
- Only authorized senders can rename (rejectUnauthorizedCommand), matching
  /goal. The label surfaces everywhere sessions.list is shown (TUI, web,
  CLI, MCP).

The handler resolves the session via resolveSessionStoreEntry so renames
land on the canonical entry even when the store still holds a legacy or
case-folded key alias, and excludes those aliases from the uniqueness scan
to avoid false conflicts. Failed renames skip the store write.

Registers the command in commands-registry.shared.ts and the handler in
loadCommandHandlers, documents it in docs/tools/slash-commands.md, and adds
unit tests covering rename, no-arg suggestion, duplicate-label rejection,
unauthorized senders, disabled text commands, and persisted-name re-read.

Part of the chat-native session naming feature (follows the web in-chat
rename PR). Relates to openclaw#85502 and openclaw#54397.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(name): seed native sessions and persist renames via canonical key

Address Codex review on PR #88581:
- Fall back to the in-memory params.sessionEntry when the store has no row
  yet, so a brand-new native slash session can be named from its first
  /name command instead of failing with 'no active session to name'.
- Persist the rename through resolved.normalizedKey and drop legacy/
  case-folded alias keys (mirroring persistResolvedSessionEntry) so the
  canonical entry is updated and sessions.list stops surfacing the stale
  alias row.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(name): emit session metadata changes

Route successful /name renames through the shared command session metadata seam so subscribed session lists receive sessions.changed like /goal.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(commands): add /name to rename the current session from chat

* fix(docs): document the /name slash command

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Agent <agent@example.com>
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-06-19 10:04:28 +08:00
Vincent Koc
dc980273e3 fix(e2e): align live timeout wrappers 2026-06-19 04:01:43 +02:00
Vincent Koc
74f90885f3 fix(release): unblock beta validation 2026-06-19 10:01:28 +08:00
Vincent Koc
236a0c8fe0 test(auto-reply): inline dead group mention fixture 2026-06-19 10:01:17 +08:00
Vincent Koc
b306745f64 fix(e2e): forward plugin lifecycle poll interval 2026-06-19 03:56:03 +02:00
Stellar鱼
20dd2be0f2 fix(agents): skip auth gate for CLI-owned transport (#88551)
* fix(agents): skip fallback auth gate for CLI runtimes

* fix(agents): skip auth gate for CLI-owned transport

* fix(agents): skip auth gate for CLI-owned transport

---------

Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-06-19 09:54:15 +08:00
Vincent Koc
5b030418c1 refactor(sessions): drop dead transcript tree wrappers 2026-06-19 09:47:31 +08:00
Vincent Koc
a74ce6f20c fix(e2e): forward plugin sweep runtime knobs 2026-06-19 03:46:19 +02:00
Vincent Koc
10f0588ee3 fix(e2e): align codex live turn timeouts 2026-06-19 03:43:44 +02:00
Vincent Koc
39297fb0ad refactor(config): drop dead baseline and node wrappers 2026-06-19 09:41:52 +08:00
Vincent Koc
3914a3638c fix(e2e): forward kitchen sink fixture wait knob 2026-06-19 03:39:04 +02:00
Vincent Koc
2ef0589b76 fix(e2e): forward onboard gateway wait knobs 2026-06-19 03:30:17 +02:00
Vincent Koc
01e562113b fix(e2e): forward doctor switch timeouts 2026-06-19 03:21:28 +02:00
Vincent Koc
410a95269a fix(e2e): pass posix update agent timeouts 2026-06-19 03:19:41 +02:00
Vincent Koc
2c6bf1a5d8 fix(e2e): forward codex media log limit 2026-06-19 03:12:33 +02:00
Vincent Koc
ccc1ad4c74 refactor(auto-reply): remove stale tool meta helpers 2026-06-19 09:11:42 +08:00
Vincent Koc
f19cae6d1d test(ci): cover chat tools helper routing 2026-06-19 09:10:35 +08:00
Vincent Koc
8c3185d55c fix(e2e): forward bundled upgrade limits 2026-06-19 03:06:36 +02:00
Vincent Koc
a0d9f9ea45 fix(e2e): forward bundled plugin runtime limits 2026-06-19 03:02:01 +02:00
Vincent Koc
dd5febe2aa fix(config): preserve raw snapshots after materialization 2026-06-19 09:01:54 +08:00
Vincent Koc
943511674c fix(config): preserve raw snapshots after materialization 2026-06-19 09:01:03 +08:00
Vincent Koc
c33cec04d9 refactor(agents): remove stale file transcript rewrite 2026-06-19 08:57:00 +08:00
Vincent Koc
c9605779ef fix(doctor): warn on volatile SQLite state (#94725)
* fix(doctor): warn on volatile SQLite state

* fix(doctor): resolve symlinked state paths
2026-06-19 08:56:37 +08:00
Vincent Koc
c79f1e5441 fix(e2e): forward package assertion limits 2026-06-19 02:49:47 +02:00
Vincent Koc
15e101137d fix(e2e): forward live plugin scan limit 2026-06-19 02:48:30 +02:00
Vincent Koc
900a834c60 refactor(daemon): remove stale launchd helpers 2026-06-19 08:45:50 +08:00
Vincent Koc
9765f7333a fix(e2e): forward live plugin dump limit 2026-06-19 02:42:10 +02:00
Vincent Koc
1fb11ab306 fix(e2e): forward browser cdp snapshot limit 2026-06-19 02:40:09 +02:00
Vincent Koc
01b919aeff refactor(doctor): remove stale legacy path listers 2026-06-19 08:39:31 +08:00
Vincent Koc
c654641e0c refactor(channels): remove stale setup adapter lookup 2026-06-19 08:33:04 +08:00
Vincent Koc
d04cedb9fe fix(e2e): forward gateway network client limits 2026-06-19 02:30:53 +02:00
Vincent Koc
ba69d4fb03 test(ci): cover installer timeout normalization 2026-06-19 08:29:07 +08:00
Hani Koshaji
73241d39f6 fix(skills/1password): stop forcing tmux for desktop app auth (#52540) (#81825)
* fix(skills/1password): stop forcing tmux for desktop app auth (#52540)

The bundled skill currently mandates that every `op` invocation run inside
a fresh tmux session. That guidance is wrong on every desktop-app-integration
setup (macOS/Windows/Linux) because the 1Password app exposes the CLI over
a per-user Unix domain socket the gateway exec env can reach but tmux
subshells generally cannot — wrapping in tmux produces "1Password CLI
couldn't connect to the 1Password desktop app" failures.

Rewrite the skill to detect auth mode first and only use tmux for the one
case where it actually helps:

- Service account (`OP_SERVICE_ACCOUNT_TOKEN`): direct exec, no signin.
- Desktop app integration: direct exec, never tmux. Note the macOS socket
  location (`~/Library/Group Containers/2BUA8C4S2C.com.1password/t/`) so
  agents can recognize the failure mode.
- Standalone interactive signin: tmux is the right tool because it
  preserves the per-shell session token written by `op signin`.

Update Guardrails and the get-started reference accordingly. Drop the
blanket 'do not run op outside tmux' rule.

Fixes #52540

* fix(skills/1password): correct desktop-app IPC wording and signin example

Address PR #75090 review:

- Replace the blanket 'per-user Unix domain socket' description with
  per-platform wording: XPC via the 1Password Browser Helper on macOS,
  a Unix domain socket on Linux, a named pipe on Windows. Keep the macOS
  group-container path as a symptom indicator only, not as a transport
  claim. Mirror the same correction in the get-started reference and the
  changelog entry.
- Fix the standalone-signin tmux example: `op signin` was being sent as
  a plain command, so its eval-style export was printed but never applied.
  Subsequent `op whoami` and `op vault list` calls would fail because
  the OP_SESSION_* env var was never set. Wrap the call in
  `eval "$(op signin ...)"` so the session token is exported into the
  tmux pane environment as the surrounding text describes.

Same direct-exec direction; tighter and more accurate.

* docs(1password): clarify Windows standalone signin

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* fix(skills/1password): repair auth-mode guidance

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-06-19 08:26:56 +08:00
Vincent Koc
c770c7b084 refactor(channels): remove stale setup reload helpers 2026-06-19 08:25:38 +08:00
Dallin Romney
e12cf72b17 Standardize QA coverage IDs on dotted names (#94702)
* fix: standardize qa coverage ids

* test: avoid qa coverage id assertion spread
2026-06-18 17:25:26 -07:00
JackWu
e9e44bf83c fix(scripts): avoid mutating tracked auth-monitor template during setup (#53920)
* fix(scripts): render auth monitor unit before install

Render the auth monitor service into temporary files instead of editing the tracked template. Quote the generated ExecStart safely, including spaces and literal dollars, then atomically install the rendered unit.

* fix(scripts): avoid mutating tracked auth-monitor template during setup

* fix(scripts): avoid mutating tracked auth-monitor template during setup

* fix(scripts): avoid mutating tracked auth-monitor template during setup

---------

Co-authored-by: JackWuGlobal <JackWuGlobal@users.noreply.github.com>
Co-authored-by: openclaw-clownfish[bot] <280122609+openclaw-clownfish[bot]@users.noreply.github.com>
2026-06-19 08:24:16 +08:00
Vincent Koc
843b1d6fbb fix(e2e): forward install session limits 2026-06-19 02:21:10 +02:00
Vincent Koc
09b56592d2 fix(e2e): forward code-mode client limits 2026-06-19 02:19:27 +02:00
Vincent Koc
701687efa3 fix(e2e): validate install e2e wrapper knobs 2026-06-19 02:15:58 +02:00
Vincent Koc
d8cc16a3e2 Merge branch 'main' of https://github.com/openclaw/openclaw
* 'main' of https://github.com/openclaw/openclaw: (82 commits)
  fix(e2e): validate chat tools body limit
  fix(e2e): honor chat tools body limit
  fix(e2e): validate chat tools timeout
  fix(e2e): give cleanup smoke build heap headroom
  fix(e2e): validate plugin lifecycle limits
  refactor(auto-reply): add lifecycle storage seams (#93685)
  fix: preserve pending subagent completion announces (#94349)
  fix(e2e): validate plugin log limits before setup
  fix(e2e): validate codex media timeout
  fix(e2e): validate fixture log limits
  fix(e2e): validate cleanup log limits
  fix(e2e): validate docker log limits
  fix(live): validate docker pids limits
  fix(e2e): validate docker pids limits
  test: fold channel message flows into qa e2e (#93174)
  fix(e2e): validate docker build limits
  Prevent Codex thread rotation from losing next-step context (#94093)
  fix(e2e): validate fixture cleanup interval
  fix(agents): correct claw-score validation workflow
  fix(e2e): validate log tail limits
  ...
2026-06-19 08:14:35 +08:00
Vincent Koc
7f894ba2be fix(e2e): validate chat tools body limit 2026-06-19 02:07:32 +02:00
Vincent Koc
e5de09f96a fix(e2e): honor chat tools body limit 2026-06-19 01:59:12 +02:00
Vincent Koc
2a0e63d12b fix(e2e): validate chat tools timeout 2026-06-19 01:51:19 +02:00