Vincent Koc
462b96b33f
docs(channels/msteams): remove ampersands from headings
2026-05-06 09:31:55 -07:00
Vincent Koc
ec8283e3e5
docs: typography hygiene across 9 pages (cli/channels)
2026-05-06 08:55:00 -07:00
the sun gif man
d4b4660026
config: stop automatic writes and guard Nix mutators ( #78047 )
...
Keep startup-derived plugin enablement, gateway auth tokens, control UI origins, and owner-display secrets runtime-only instead of persisting them into openclaw.json.
Refuse config writers, mutating update/plugin lifecycle commands, and doctor repair/token generation in Nix mode with agent-first nix-openclaw guidance.
Verification:
- pnpm check
- pnpm build
- pnpm test -- src/config/io.write-config.test.ts src/config/mutate.test.ts src/config/io.owner-display-secret.test.ts src/gateway/server-startup-config.recovery.test.ts src/gateway/startup-auth.test.ts src/gateway/startup-control-ui-origins.test.ts src/cli/plugins-cli.install.test.ts src/cli/plugins-cli.policy.test.ts src/cli/plugins-cli.uninstall.test.ts src/cli/plugins-cli.update.test.ts src/cli/update-cli.test.ts src/auto-reply/reply/commands-plugins.install.test.ts src/auto-reply/reply/commands-plugins.test.ts src/commands/onboarding-plugin-install.test.ts src/commands/doctor.runs-legacy-state-migrations-yes-mode-without.e2e.test.ts src/commands/doctor/shared/codex-route-warnings.test.ts src/commands/doctor/repair-sequencing.test.ts src/agents/auth-profile-runtime-contract.test.ts src/auto-reply/reply/agent-runner-execution.test.ts
- GitHub CI green on 05a2c71b90
Co-authored-by: Codex <noreply@openai.com >
2026-05-06 14:43:32 +02:00
Vincent Koc
852b9e7246
docs(channels/line): fix smart apostrophe
2026-05-05 23:53:36 -07:00
Peter Steinberger
5e05052bb9
fix(line): require wildcard for open dm policy
2026-05-06 07:35:46 +01:00
Peter Steinberger
8cc762daff
fix(feishu): keep topic sessions stable
...
Fixes Feishu native topic starter routing by hydrating a missing topic thread ID before session resolution.\n\nCloses #78262 .
2026-05-06 07:30:27 +01:00
Vincent Koc
6921a47562
docs: typography hygiene across 6 pages (channels/nodes/mac platforms)
2026-05-05 23:11:28 -07:00
Vincent Koc
f505c84285
docs: typography hygiene across 7 high-traffic pages
2026-05-05 22:16:37 -07:00
Vincent Koc
1ded8de5a9
docs: audit and fix 3 pages (typography across help/channels)
2026-05-05 21:28:47 -07:00
Ayaan Zaidi
814b125f11
fix(telegram): separate progress drafts from final replies
2026-05-06 09:27:08 +05:30
Ayaan Zaidi
e27f179361
fix(telegram): verify final stream edit landed
2026-05-06 09:27:08 +05:30
Vincent Koc
4ee234f8ee
docs: typography hygiene across 6 pages
...
Replaced 66 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.
- docs/channels/mattermost.md: 12 chars
- docs/tools/plugin.md: 11 chars
- docs/providers/xai.md: 11 chars
- docs/plugins/building-plugins.md: 11 chars
- docs/concepts/streaming.md: 11 chars
- docs/concepts/model-providers.md: 11 chars
2026-05-05 20:45:39 -07:00
Vincent Koc
f4a63940cc
docs: typography hygiene across 6 pages
...
Replaced 74 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.
- docs/gateway/opentelemetry.md: 13 chars
- docs/channels/msteams.md: 13 chars
- docs/tools/skills.md: 12 chars
- docs/start/setup.md: 12 chars
- docs/nodes/location-command.md: 12 chars
- docs/concepts/context-engine.md: 12 chars
2026-05-05 20:34:37 -07:00
Vincent Koc
ae9f779e5f
docs: typography hygiene + 1 in-body H1 removal across 6 pages
...
Replaced 84 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.
- docs/gateway/tools-invoke-http-api.md: 14 chars; removed the
duplicate '# Tools Invoke (HTTP)' H1 (Mintlify renders title from
frontmatter; the in-body H1 with parens produced a brittle anchor).
- docs/tools/browser-control.md: 14 chars
- docs/security/formal-verification.md: 14 chars
- docs/gateway/configuration-reference.md: 14 chars
- docs/concepts/agent.md: 14 chars
- docs/channels/qa-channel.md: 14 chars
2026-05-05 20:26:16 -07:00
Vincent Koc
861a593921
docs: typography hygiene across 5 pages
...
Replaced 75 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.
- docs/plugins/skill-workshop.md: 15 chars
- docs/gateway/pairing.md: 15 chars
- docs/gateway/configuration.md: 15 chars
- docs/concepts/oauth.md: 15 chars
- docs/channels/bluebubbles.md: 15 chars
2026-05-05 20:14:18 -07:00
Vincent Koc
7a39551685
docs: typography hygiene + 2 in-body H1 removals across 5 pages
...
Replaced 92 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.
- docs/channels/feishu.md: 19 chars; removed the duplicate
'# Feishu / Lark' H1 (Mintlify renders title from frontmatter; the
in-body H1 with a slash produced a brittle anchor).
- docs/gateway/bonjour.md: 18 chars; removed the duplicate
'# Bonjour / mDNS discovery' H1.
- docs/channels/matrix.md: 19 chars
- docs/tools/browser.md: 18 chars
- docs/automation/standing-orders.md: 18 chars
2026-05-05 19:54:53 -07:00
Vincent Koc
4395f1dd66
docs: typography hygiene + drop one in-body H1 across 5 pages
...
Replaced 98 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules.
- docs/plugins/sdk-migration.md: 20 chars
- docs/help/testing.md: 20 chars
- docs/automation/tasks.md: 20 chars
- docs/plugins/sdk-channel-plugins.md: 19 chars
- docs/channels/yuanbao.md: 19 chars; removed the duplicate '# Yuanbao'
H1 (Mintlify renders title from frontmatter).
2026-05-05 19:46:32 -07:00
Vincent Koc
b9f711089a
docs: typography hygiene + drop one in-body H1 across 5 pages
...
Replaced 138 typography characters (curly quotes, apostrophes, em/en
dashes, non-breaking hyphens) with ASCII equivalents per
docs/CLAUDE.md heading and content hygiene rules so grep, copy-paste,
and Mintlify search hit clean tokens.
- docs/reference/AGENTS.default.md: 29 chars, plus removed the
duplicate '# AGENTS.md - OpenClaw Personal Assistant (default)' H1
(Mintlify renders title from frontmatter; the in-body H1 with
parens and a bare hyphen produced a brittle anchor).
- docs/help/testing-live.md: 29 chars
- docs/tools/image-generation.md: 28 chars
- docs/channels/index.md: 27 chars
- docs/tools/video-generation.md: 25 chars
2026-05-05 19:25:16 -07:00
Val Alexander
36df0d93b9
fix: repair iOS LAN pairing
...
Fix iOS LAN/setup-code pairing policy for #47887 .
- Allow explicit private LAN and .local plaintext ws:// setup/manual connects where policy allows it.
- Keep public hosts, .ts.net, and Tailscale CGNAT plaintext fail-closed.
- Prefer explicit passwords over stale bootstrap tokens in Swift and TypeScript gateway clients.
- Update setup-code/device-pair coverage, docs, and changelog with source credit for #65185 .
Verification:
- pnpm install
- git diff --check origin/main..HEAD
- pnpm exec oxfmt --check --threads=1 src/gateway/client.ts src/gateway/client.test.ts src/pairing/setup-code.ts src/pairing/setup-code.test.ts extensions/device-pair/index.ts extensions/device-pair/index.test.ts
- pnpm format:docs:check
- pnpm test src/gateway/client.test.ts src/pairing/setup-code.test.ts extensions/device-pair/index.test.ts
- cd apps/shared/OpenClawKit && swift test --filter 'DeepLinksSecurityTests|GatewayNodeSessionTests'
- pnpm lint:swift passes with the existing TalkModeRuntime.swift type-body-length warning
Blocked locally:
- iOS app-target xcodebuild tests require unavailable watchOS 26.4 runtime here.
- Testbox check:changed previously failed because the image lacks swiftlint; local swiftlint passes.
2026-05-05 21:07:19 -05:00
Peter Steinberger
ceca7fdfda
docs: document channel message plugin api
2026-05-06 01:46:42 +01:00
hcl
d193d15f17
fix(plugins): explain source-only package diagnostics ( #77835 ) ( #77842 )
2026-05-05 17:43:13 -07:00
Peter Steinberger
b31774749c
docs: consolidate moved docs pages
...
Consolidate moved docs pages, add redirects, and update glossary labels.
2026-05-05 17:38:21 +01:00
Vincent Koc
5a0d6c7ad8
fix(gateway): keep reset and refresh paths responsive ( #77701 )
...
* fix(hooks): keep session memory slugging off reset hot path
* fix(hooks): run session memory capture asynchronously
* fix(cli): avoid stuck gateway command exits
* fix(gateway): cache empty read-only model catalog
* fix(doctor): stop stale TUI clients for WhatsApp responsiveness
2026-05-05 00:59:13 -07:00
Vincent Koc
e03fe1e289
fix(telegram): reuse preview for long text finals ( #77658 )
...
* fix(telegram): reuse preview for long text finals
* test(qa): cover long telegram finals
* fix(qa): satisfy extension lint
* fix(qa): keep telegram long final fixture to two chunks
* test(telegram): cover three chunk finals
* fix(telegram): force long final preview boundary
2026-05-04 21:19:44 -07:00
Peter Steinberger
a91c17c426
fix: explain missing git during plugin install
2026-05-05 05:14:09 +01:00
Vincent Koc
04b7e4894d
docs(channels): add Socket vs HTTP comparison and explain shared URL fields
...
The Slack docs jumped straight from intro into the Quick Setup tabs
without telling readers when to pick each transport. Add a Choosing
Socket Mode or HTTP Request URLs section above Quick Setup with a
concern-by-concern table (public URL, outbound network, tokens, dev
laptops, scaling, multi-account, slash command transport, signing,
recovery) plus a Note pointing at the right default for each shape.
Also add an Info block under the HTTP Quick Setup manifest explaining
why the manifest carries three url fields (slash_commands[].url,
event_subscriptions.request_url, interactivity.request_url) — Slack's
manifest schema requires them spelled out separately even though
OpenClaw routes by payload type, and slash commands silently no-op
without their url field in HTTP mode.
2026-05-04 18:30:29 -07:00
Vincent Koc
b062bb670d
docs(channels): inline Slack manifest into Quick Setup with Recommended/Minimal variants
...
The Quick Setup steps in docs/channels/slack.md previously sent users to
the `#manifest-and-scope-checklist` anchor lower on the page to copy the
manifest, breaking the copy-paste flow. Pull the manifest inline as a
Mintlify <CodeGroup> for both Socket Mode and HTTP Request URLs tabs and
add a Minimal variant for workspaces that restrict scopes (drops
files:*, reactions:*, pins:*, mpim:*, emoji:read, usergroups:read while
keeping DMs, channel/group history, mentions, App Home, and slash
commands). Recommended matches extensions/slack/src/setup-shared.ts.
Existing Manifest and scope checklist section stays as the canonical
per-scope reference.
Cross-link from docs/concepts/qa-e2e-automation.md so QA maintainers see
the production manifest reference, while keeping the QA Driver/SUT pair
of manifests inline (the lane intentionally needs two distinct apps so
its shape is different from a single-app production install).
2026-05-04 18:16:15 -07:00
Pavan Kumar Gondhi
ea75cd8971
Gate zalouser startup name matching [AI] ( #77411 )
...
* fix: gate zalouser startup name matching
* addressing codex review
* docs: add changelog entry for PR merge
2026-05-04 22:47:19 +05:30
Peter Steinberger
585ce38015
fix(telegram): stabilize topic dispatch runtime
2026-05-04 08:25:09 +01:00
Val Alexander
b2efd19648
fix(ios): harden gateway pairing setup
...
Harden iOS gateway setup-code pairing by rejecting non-loopback plaintext ws:// setup URLs before bootstrap token issuance, consolidating iOS setup parsing, and adding QR scan support from Settings.
Verification:
- pnpm test extensions/device-pair/index.test.ts
- swift test --package-path apps/shared/OpenClawKit --filter DeepLinksSecurityTests
- XcodeBuildMCP OpenClawLogicTests/DeepLinkParserTests
- targeted SwiftLint for touched iOS/OpenClawKit files
- pnpm exec oxfmt --check --threads=1 extensions/device-pair/index.ts extensions/device-pair/index.test.ts
- git diff --check origin/main...HEAD
- GitHub PR checks green on 58e5e60a5c
2026-05-04 02:11:47 -05:00
Peter Steinberger
fa689295c6
fix: resolve small triage issues
2026-05-04 07:38:42 +01:00
Val Alexander
21ac476904
fix(telegram): stabilize reply dispatch runtime
...
Summary:
- Add a stable provider-dispatcher dist entry and legacy alias coverage for stale reply-dispatch chunks.
- Make Telegram reasoning stream previews transient after final delivery and harden visible-send reasoning sanitization.
- Document transient /reasoning stream behavior and credit @BunsDev in the changelog.
Verification:
- pnpm test src/agents/tools/message-tool.test.ts src/infra/tsdown-config.test.ts test/scripts/runtime-postbuild.test.ts extensions/telegram/src/bot-message-dispatch.test.ts src/plugin-sdk/channel-streaming.test.ts src/plugin-sdk/channel-entry-contract.test.ts
- OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test src/channels/plugins/module-loader.test.ts src/plugin-sdk/channel-entry-contract.test.ts
- pnpm exec oxfmt --check --threads=1 <changed files>
- git diff --check
- pnpm build
- GitHub PR checks for b8b7a91834
2026-05-04 01:07:57 -05:00
Jesse Merhi
9c3b7b7b15
docs: clarify IRC managed proxy coverage ( #76822 )
...
Summary:
- The PR adds a changelog note plus IRC and network-proxy documentation stating that IRC raw TCP/TLS egress is outside operator-managed forward proxy routing and should be disabled unless direct egress is approved.
- Reproducibility: not applicable. for this docs-only PR. Source inspection establishes the documented premise ... kets while managed proxy routing covers normal HTTP/WebSocket paths and documents raw-socket bypass limits.
Automerge notes:
- PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-7682…
Validation:
- ClawSweeper review passed for head 7dde35adb9 .
- Required merge gates passed before the squash merge.
Prepared head SHA: 7dde35adb9
Review: https://github.com/openclaw/openclaw/pull/76822#issuecomment-4366671907
Co-authored-by: jesse-merhi <79823012+jesse-merhi@users.noreply.github.com >
Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com>
2026-05-04 00:52:47 +00:00
Peter Steinberger
2493ab1978
docs: clarify tool-only Discord replies
2026-05-04 01:37:22 +01:00
Peter Steinberger
c3f5c20f2c
fix(cli): retry admin device approval after ownership denial
2026-05-04 00:41:55 +01:00
Vincent Koc
0bf19f540d
fix(docs): validate strict channel json fences
2026-05-03 15:44:44 -07:00
Vincent Koc
f275e9d4b9
fix(docs): make slack manifest snippets parseable
2026-05-03 15:28:27 -07:00
Vincent Koc
9ae93179e2
fix(docs): validate channel config snippets
2026-05-03 15:23:07 -07:00
Vincent Koc
d57b16ff81
fix(tlon): expose group invite allowlist
2026-05-03 15:15:58 -07:00
Vincent Koc
d3ee67b420
fix(googlechat): correct group setup example
2026-05-03 14:54:35 -07:00
Peter Steinberger
c33e578554
feat: add channel progress drafts
...
Adds unified progress-draft streaming for chat channels, with docs and per-channel regressions.
2026-05-03 22:01:08 +01:00
Vincent Koc
c5488ea577
fix(telegram): expose media group flush config
2026-05-03 12:12:53 -07:00
Peter Steinberger
52257fd05e
docs: clarify Discord bot mentions
2026-05-03 20:11:55 +01:00
Vincent Koc
03e35b1d83
fix(feishu): honor block streaming config
2026-05-03 11:42:13 -07:00
Vincent Koc
fa98d01aa1
fix(discord): skip disabled native command cleanup
2026-05-03 11:03:02 -07:00
Peter Steinberger
2805bbd3d7
feat(commands): add side alias for btw
2026-05-03 18:22:20 +01:00
Peter Steinberger
6becfcb275
test(telegram): cover visible error fresh final
2026-05-03 16:53:06 +01:00
Peter Steinberger
e2c8db2cad
fix(telegram): warn on selected quote tool progress
2026-05-03 16:24:38 +01:00
GodsBoy
b336efdd9c
docs(telegram, streaming): note replyToMode and toolProgress mutual exclusion
...
Document that channels.telegram.streaming.preview.toolProgress requires
channels.telegram.replyToMode: 'off'. Quote-reply requires the final message
reference at send time, which is incompatible with preview-edit streaming, so
the two features are mutually exclusive on Telegram.
Adds:
- Note callout in docs/channels/telegram.md after the existing toolProgress
guidance, explaining the exclusion and how to restore visibility.
- Cross-link bullet in docs/concepts/streaming.md pointing to the Telegram
channel doc for the full note.
Surfaces a doc/runtime gap that has been silent since v2026.4.22.
2026-05-03 16:24:38 +01:00
Peter Steinberger
686585eccf
docs(telegram): clarify polling startup network notes ( #76768 )
2026-05-03 16:21:41 +01:00