Shakker
baffa57c00
revert: restore progress draft behavior
2026-05-08 11:33:08 +01:00
Shakker
acb3b09e2a
fix: keep progress draft labels visible
2026-05-08 11:23:59 +01:00
Ayaan Zaidi
99850d17ad
docs(telegram): document reply-chain cache
2026-05-08 13:08:46 +05:30
Peter Steinberger
d29201fe4f
docs: clarify BlueBubbles to imsg migration
2026-05-08 06:49:37 +01:00
Peter Steinberger
8dcc2ff1d2
fix(discord): prefer latest voice auto-join channel
2026-05-08 05:35:51 +01:00
Bek
737e5707f1
docs: clarify Slack thread sessions ( #79221 )
2026-05-07 23:36:37 -04:00
Omar Shahine
df069f7b02
fix(imessage): surface silent group-allowlist drops at default log level ( #79190 )
...
Merged via squash.
Prepared head SHA: 6454366a62
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Reviewed-by: @omarshahine
2026-05-07 20:09:05 -07:00
Omar Shahine
e259751ec9
feat(imessage): private-API support via imsg JSON-RPC [AI-assisted] ( #78317 )
...
Merged via squash.
Prepared head SHA: b7d336b296
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Co-authored-by: omarshahine <10343873+omarshahine@users.noreply.github.com >
Reviewed-by: @omarshahine
2026-05-07 19:20:18 -07:00
Peter Steinberger
164ecfd7c8
fix: show web search queries in progress drafts
2026-05-08 02:03:12 +01:00
Peter Steinberger
accf774591
fix: make channel progress labels rolling
2026-05-08 02:03:12 +01:00
Peter Steinberger
ef29c85a48
fix: improve Discord progress draft rendering
2026-05-08 02:03:12 +01:00
Peter Steinberger
b75e5c50bf
docs: document OpenAI realtime voices
2026-05-08 01:07:46 +01:00
Peter Steinberger
36835592df
feat: log discord voice transcripts
2026-05-07 22:17:42 +01:00
Vincent Koc
0fca665497
docs(imessage): document bluebubbles deprecation
2026-05-07 13:12:00 -07:00
Vincent Koc
91ed1604b0
docs(imessage): make imsg the supported setup path
2026-05-07 12:53:01 -07:00
Vincent Koc
07bf572f35
chore(channels): delete bluebubbles plugin package
2026-05-07 12:53:00 -07:00
Harris Ali
79d9b95e67
docs(msteams): document replyStyle resolution precedence and thread context preservation ( #78835 )
...
The existing replyStyle section explains the Posts-vs-Threads tradeoff but
doesn't document how the value is actually resolved at send-time, nor what
happens to thread-root context across configurations. Operators who hit
unexpected top-level posts (e.g., requireMention=false setups, long-running
agents whose proactive sends fall outside the live Bot Framework turn) have
no docs-side anchor for understanding which knob to flip.
Add two subsections under Reply Style:
1. Resolution precedence — channel > team > global > implicit default,
plus the requireMention-derived implicit default.
2. Thread context preservation — describes that replyStyle=thread re-attaches
the original thread root on outbound (live and proactive paths after
#78387 ), with the threadId/activityId fallback for legacy stored refs.
Calls out the deliberate "no thread suffix" behavior for replyStyle=top-level.
Pure documentation change, no behavior or surface impact.
2026-05-07 18:09:46 +10:00
Peter Steinberger
5aefe6abd6
feat: stream elevenlabs tts into discord voice
2026-05-07 06:47:31 +01:00
Vincent Koc
6e5ba8b047
fix(discord): smooth voice capture prompts
2026-05-06 22:30:36 -07:00
Peter Steinberger
1c2832526f
fix: prevent discord voice self-feedback
2026-05-07 05:37:17 +01:00
Peter Steinberger
a4d7206558
fix(discord): audit voice channel permissions
2026-05-07 04:47:35 +01:00
Peter Steinberger
4647400c22
fix(discord): default to progress previews
2026-05-06 22:02:52 +01:00
Peter Steinberger
63dc7321ef
docs(imessage): deprecate bluebubbles for new setups
2026-05-06 21:58:21 +01:00
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