Peter Steinberger
f2b04e7ff4
docs: clarify mac mini + imessage ssh
2026-01-24 13:11:31 +00:00
Peter Steinberger
3cfb10d179
docs: add mac mini faq
2026-01-24 13:11:31 +00:00
Peter Steinberger
7d30ffd2d4
fix: harden outbound mirroring normalization
2026-01-24 12:57:58 +00:00
Peter Steinberger
3ce03936bd
build: refresh control-ui dist + release docs
2026-01-24 12:51:32 +00:00
Peter Steinberger
129b405337
docs: clarify node host sizing
2026-01-24 12:50:22 +00:00
Peter Steinberger
4988dcd6eb
docs: add node vs ssh faq
2026-01-24 12:48:29 +00:00
Peter Steinberger
6ae794bb1c
fix: align bluebubbles outbound group sessions
2026-01-24 12:23:26 +00:00
Peter Steinberger
dd6fba317e
chore: tune fly deployment defaults
2026-01-24 11:58:25 +00:00
Peter Steinberger
dd5375883a
fix: normalize session keys and outbound mirroring
2026-01-24 11:57:11 +00:00
Peter Steinberger
26147b37f4
fix: resolve session ids in session tools
2026-01-24 11:09:11 +00:00
Peter Steinberger
b3182cdc94
docs: fix redirects and help links
2026-01-24 10:21:05 +00:00
Peter Steinberger
e606ca1841
fix: avoid Discord /tts conflict
2026-01-24 09:58:06 +00:00
Peter Steinberger
227f7cf761
docs: consolidate faq under help
2026-01-24 09:49:38 +00:00
Peter Steinberger
e92b05f2cb
feat: default TTS model overrides on ( #1559 ) (thanks @Glucksberg)
...
Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com>
2026-01-24 09:42:32 +00:00
Peter Steinberger
aae71ab3af
docs: restore faq and fix redirect
2026-01-24 09:39:24 +00:00
Peter Steinberger
ad7cfceff0
docs(fly): update guide with deployment lessons
...
- Increase recommended memory to 2GB (512MB/1GB OOM)
- Add OOM symptoms (SIGABRT, v8 allocation errors)
- Fix lock file path (/data/gateway.*.lock)
- Add complete config example with failover, auth, bindings
- Document Discord token from env var vs config
- Add machine update commands for command/memory changes
- Add config writing tips (echo+tee, sftp caveats)
Learned from FLAWD deployment debugging.
2026-01-24 09:36:54 +00:00
Peter Steinberger
a3f5fefaeb
docs: move cross-context faq to troubleshooting
2026-01-24 09:36:44 +00:00
Peter Steinberger
3cfa7b4511
docs: expand heartbeat visibility config examples
2026-01-24 09:31:04 +00:00
Peter Steinberger
1b37c54f9f
fix: document tools invoke + honor main session key ( #1575 ) (thanks @vignesh07)
2026-01-24 09:29:32 +00:00
Peter Steinberger
d6eeb609ad
docs: add cross-context messaging faq
2026-01-24 09:28:59 +00:00
Peter Steinberger
440b8e1905
docs: add oauth refresh troubleshooting
2026-01-24 09:21:15 +00:00
Peter Steinberger
6669be2afa
fix: document heartbeat visibility controls ( #1452 ) (thanks @dlauer)
2026-01-24 09:07:03 +00:00
Peter Steinberger
668cd829b5
fix: gate openai reasoning downgrade on model switches ( #1562 ) (thanks @roshanasingh4)
2026-01-24 08:16:42 +00:00
Peter Steinberger
310d06ca27
fix: harden gateway lock validation ( #1572 ) (thanks @steipete)
2026-01-24 08:15:07 +00:00
Peter Steinberger
b4b767e7ae
docs(fly): comprehensive deployment guide with real-world learnings
...
Based on actual Flawd deployment experience:
- Proper fly.toml configuration with all required settings
- Step-by-step guide following exe.dev doc format
- Troubleshooting section with common issues and fixes
- Config file creation via SSH
- Cost estimates
2026-01-24 08:15:07 +00:00
Peter Steinberger
9313ac2d64
docs(fly): add configuration guidance for bind mode, memory, and troubleshooting
2026-01-24 08:15:07 +00:00
Peter Steinberger
15ae7d2672
feat: add Fly.io deployment support
...
- Add fly.toml configuration for Fly.io deployment
- Add docs/platforms/fly.md with deployment guide
- Uses London (lhr) region by default
- Includes persistent volume for data storage
2026-01-24 08:15:07 +00:00
Peter Steinberger
70a4b1046b
feat: move TTS into core ( #1559 ) (thanks @Glucksberg)
2026-01-24 08:00:44 +00:00
Peter Steinberger
6ee24fe6cc
fix: guard tool allowlists with warnings
2026-01-24 07:38:42 +00:00
Glucksberg
dc9c9d63fa
fix: address code review findings for plugin command API
...
Blockers fixed:
- Fix documentation: requireAuth defaults to true (not false)
- Add command name validation (must start with letter, alphanumeric only)
- Add reserved commands list to prevent shadowing built-in commands
- Emit diagnostic errors for invalid/duplicate command registration
Other improvements:
- Return user-friendly message for unauthorized commands (instead of silence)
- Sanitize error messages to avoid leaking internal details
- Document acceptsArgs behavior when arguments are provided
- Add notes about reserved commands and validation rules to docs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 06:28:22 +00:00
Glucksberg
5f95fc6ac8
feat: add plugin command API for LLM-free auto-reply commands
...
This adds a new `api.registerCommand()` method to the plugin API, allowing
plugins to register slash commands that execute without invoking the AI agent.
Features:
- Plugin commands are processed before built-in commands and the agent
- Commands can optionally require authorization
- Commands can accept arguments
- Async handlers are supported
Use case: plugins can implement toggle commands (like /tts_on, /tts_off)
that respond immediately without consuming LLM API calls.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 06:28:22 +00:00
Peter Steinberger
ad0777754d
perf: stabilize system prompt time
2026-01-24 06:24:04 +00:00
Peter Steinberger
6a4d478791
fix: ignore identity template placeholders
2026-01-24 05:35:50 +00:00
Peter Steinberger
67b9b0ef1f
fix: honor tools.exec ask/security in approvals
2026-01-24 04:53:44 +00:00
Peter Steinberger
e74768b428
feat: add node browser proxy routing
2026-01-24 04:21:47 +00:00
JustYannicc
31ddfbb47d
feat(heartbeat): skip API calls when HEARTBEAT.md is effectively empty ( #1535 )
...
* feat: skip heartbeat API calls when HEARTBEAT.md is effectively empty
- Added isHeartbeatContentEffectivelyEmpty() to detect files with only headers/comments
- Modified runHeartbeatOnce() to check HEARTBEAT.md content before polling the LLM
- Returns early with 'empty-heartbeat-file' reason when no actionable tasks exist
- Preserves existing behavior when file is missing (lets LLM decide)
- Added comprehensive test coverage for empty file detection
- Saves API calls/costs when heartbeat file has no meaningful content
* chore: update HEARTBEAT.md template to be effectively empty by default
Changed instruction text to comment format so new workspaces benefit from
heartbeat optimization immediately. Users still get clear guidance on usage.
* fix: only treat markdown headers (# followed by space) as comments, not #TODO etc
* refactor: simplify regex per code review suggestion
* docs: clarify heartbeat empty file behavior (#1535 ) (thanks @JustYannicc)
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-24 04:19:01 +00:00
Peter Steinberger
5909f66b7a
feat: add system cli
2026-01-24 04:03:07 +00:00
Peter Steinberger
25eb5ac794
docs: add channels list usage troubleshooting
2026-01-24 03:44:44 +00:00
Peter Steinberger
7bb7a63330
fix: update docker gateway command
2026-01-24 03:24:28 +00:00
Peter Steinberger
b9cbce9f4b
fix: publish llm-task docs and harden tool
2026-01-24 01:44:51 +00:00
Peter Steinberger
2cecf28971
fix: honor wildcard tool allowlists
2026-01-24 01:30:44 +00:00
Peter Steinberger
77bb342301
fix: refine bedrock discovery defaults ( #1543 ) (thanks @fal3)
2026-01-24 01:18:33 +00:00
Alex Fallah
212b602921
feat: add dynamic Bedrock model discovery
...
Add automatic discovery of AWS Bedrock models using ListFoundationModels API.
When AWS credentials are detected, models that support streaming and text output
are automatically discovered and made available.
- Add @aws-sdk/client-bedrock dependency
- Add discoverBedrockModels() with caching (default 1 hour)
- Add resolveImplicitBedrockProvider() for auto-registration
- Add BedrockDiscoveryConfig for optional filtering by provider/region
- Filter to active, streaming, text-output models only
- Update docs/bedrock.md with auto-discovery documentation
2026-01-24 01:15:06 +00:00
Peter Steinberger
8636ef2ad6
docs: extend cron vs heartbeat guide
2026-01-24 00:42:56 +00:00
justyannicc
53dc2c35f8
docs: add cron vs heartbeat decision guide
...
- New docs/automation/cron-vs-heartbeat.md with complete guidance
- Cross-links from heartbeat.md and cron-jobs.md
- Updated AGENTS.md template with practical guidance
- Added navigation entry in docs.json
2026-01-24 00:42:56 +00:00
AJ (@techfren)
9ee98c5377
docs: remove misplaced Google Docs Editor from showcase ( #1547 )
...
- Was incorrectly placed in Voice & Phone section
- Not a Clawdbot project (Claude Code skill)
- No valid link available
2026-01-24 00:42:48 +00:00
Peter Steinberger
367f48ce51
feat: add tlon channel plugin
2026-01-24 00:25:39 +00:00
Peter Steinberger
5cb73668a9
docs: add Comcast SSL troubleshooting note
2026-01-24 00:01:20 +00:00
Peter Steinberger
36c770e78f
docs: remove channel unify checklist
2026-01-23 23:37:04 +00:00
Peter Steinberger
38b757687a
docs: add channel unification checklist
2026-01-23 23:32:14 +00:00
Peter Steinberger
750dc7191c
chore: bump version to 2026.1.23
2026-01-23 22:14:56 +00:00
Peter Steinberger
571257b972
fix: handle gateway slash command replies in TUI
2026-01-23 19:48:22 +00:00
Peter Steinberger
08d11149a0
feat: add models status auth probes
2026-01-23 19:28:55 +00:00
Peter Steinberger
1c71124ada
fix: expand linux service PATH handling
2026-01-23 19:16:41 +00:00
Peter Steinberger
9f5cee9493
fix(exec-approvals): stabilize allowlist ids ( #1521 )
2026-01-23 19:00:45 +00:00
Peter Steinberger
6b88bb7ac6
fix: add per-channel markdown table conversion ( #1495 ) (thanks @odysseus0)
2026-01-23 18:39:25 +00:00
Peter Steinberger
9e1ce76cfb
fix: restart gateway after update by default
2026-01-23 11:50:19 +00:00
Peter Steinberger
c9c6284127
docs: prefer fast install smoke for release
2026-01-23 09:18:15 +00:00
Peter Steinberger
be3cb5776c
fix: keep core tools when allowlist is plugin-only
2026-01-23 09:02:17 +00:00
Peter Steinberger
aad7fe5d4f
docs: note SPARKLE_PRIVATE_KEY_FILE in profile
2026-01-23 08:25:20 +00:00
Peter Steinberger
de455683af
Revert "fix: improve GitHub Copilot integration"
...
This reverts commit b69e70668d .
2026-01-23 07:14:00 +00:00
Peter Steinberger
eeda206294
docs: update media auto-detect
2026-01-23 05:47:16 +00:00
Peter Steinberger
0892eefa2b
docs: expand slack replyToModeByChatType examples
2026-01-23 05:38:28 +00:00
Peter Steinberger
a1878d0d3c
feat: add slack replyToModeByChatType overrides
2026-01-23 05:38:28 +00:00
Stefan Galescu
aa3972d93d
feat(slack): add dm-specific replyToMode configuration ( #1442 )
...
Adds support for separate replyToMode settings for DMs vs channels:
- Add channels.slack.dm.replyToMode for DM-specific threading
- Keep channels.slack.replyToMode as default for channels
- Add resolveSlackReplyToMode helper to centralize logic
- Pass chatType through threading resolution chain
Usage:
```json5
{
channels: {
slack: {
replyToMode: "off", // channels
dm: {
replyToMode: "all" // DMs always thread
}
}
}
}
```
When dm.replyToMode is set, DMs use that mode; channels use the
top-level replyToMode. Backward compatible when not configured.
2026-01-23 05:13:23 +00:00
Peter Steinberger
4b7726fed7
fix: harden BlueBubbles voice memos ( #1477 ) (thanks @Nicell)
2026-01-23 04:38:08 +00:00
Peter Steinberger
8890f8511c
fix: repair docs redirects
2026-01-23 03:13:12 +00:00
Peter Steinberger
487cd76a97
feat: extend lobster tool run args
2026-01-23 03:09:59 +00:00
Peter Steinberger
ffd4488518
docs: fix lobster links
2026-01-23 02:51:33 +00:00
Peter Steinberger
b69e70668d
fix: improve GitHub Copilot integration
2026-01-23 02:51:33 +00:00
Peter Steinberger
744a4e4fb2
docs: simplify OpenProse install
2026-01-23 01:37:54 +00:00
Peter Steinberger
d02e0e7a0f
docs: expand mattermost intro
2026-01-23 01:35:50 +00:00
Peter Steinberger
a30a1b73c4
docs: add mattermost redirect
2026-01-23 01:35:15 +00:00
Peter Steinberger
ea95941c40
docs: add transcript hygiene reference
2026-01-23 01:34:21 +00:00
Peter Steinberger
fa69a633f6
docs: link Lobster and OpenProse
2026-01-23 01:29:17 +00:00
Peter Steinberger
3b9dfac62f
fix: harden Mattermost plugin gating ( #1428 ) (thanks @damoahdominic)
2026-01-23 01:23:23 +00:00
Peter Steinberger
2b7b69c8e6
docs: remove OpenProse telemetry mentions
2026-01-23 01:20:30 +00:00
Peter Steinberger
32537c6b2d
docs: expand OpenProse guide
2026-01-23 01:08:55 +00:00
Peter Steinberger
2576cb47c1
fix: improve tool summaries
2026-01-23 01:00:24 +00:00
Peter Steinberger
deb6581c08
feat: add OpenProse plugin skills
2026-01-23 00:49:40 +00:00
Peter Steinberger
b5c7918620
Merge pull request #1428 from bestparents/feat/mattermost-channel
...
feat: add Mattermost channel support
2026-01-23 00:24:47 +00:00
Peter Steinberger
2e76f35026
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
eaf9cfed3c
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
Peter Steinberger
6e246c978d
docs: clarify node service commands
2026-01-22 23:22:56 +00:00
Peter Steinberger
dae8eea0b7
docs: fix remaining node ws references
2026-01-22 23:22:56 +00:00
Dominic Damoah
d3a0acd8b1
Merge branch 'main' into feat/mattermost-channel
2026-01-22 18:17:40 -05:00
Peter Steinberger
c52c2faed6
docs: align node transport with gateway ws
2026-01-22 23:10:09 +00:00
Peter Steinberger
fb42de9070
feat: add manual onboarding flow alias
2026-01-22 23:09:28 +00:00
Peter Steinberger
270e014d3e
feat(macos): add attach-only launchd override
2026-01-22 23:08:56 +00:00
Peter Steinberger
0698b0db8f
docs: refresh nodes + pairing docs
2026-01-22 22:02:06 +00:00
Peter Steinberger
1eacf6a4a3
docs: clarify bootstrap memory absence
2026-01-22 10:48:07 +00:00
Peter Steinberger
0b219312e5
docs: explain unpinning model auth profiles
2026-01-22 09:38:47 +00:00
Peter Steinberger
ae14204f41
fix: sanitize antigravity thinking signatures
2026-01-22 08:17:49 +00:00
Dominic Damoah
8af1af5802
Merge branch 'main' into feat/mattermost-channel
2026-01-22 03:11:53 -05:00
Peter Steinberger
2adc1533c1
style: format agent workspace and prompts
2026-01-22 08:05:55 +00:00
Dominic Damoah
f873523e1b
Merge branch 'main' into feat/mattermost-channel
2026-01-22 02:49:17 -05:00
Peter Steinberger
3dc5a0e2f0
docs: note node-gyp workaround for sharp
2026-01-22 07:09:20 +00:00
Peter Steinberger
c5e29f395f
feat: extend Control UI assistant identity
2026-01-22 07:08:13 +00:00
Vignesh
bfeea66f7a
Merge pull request #1427 from vignesh07/docs/lobster-org-url
2026-01-21 23:07:39 -08:00
Peter Steinberger
d8706307c9
feat: add update wizard and guard elevated defaults
2026-01-22 07:06:19 +00:00
Peter Steinberger
4b26ba61a7
fix: align rolling logs to local time
2026-01-22 07:02:52 +00:00
Vignesh Natarajan
fe7768a88b
docs: update lobster repo url
2026-01-21 22:55:49 -08:00
Peter Steinberger
2d2a040795
Merge remote-tracking branch 'origin/main' into feature/agent-avatar-support
2026-01-22 06:03:56 +00:00
Peter Steinberger
c260b5d585
feat: add elevated ask/full modes
2026-01-22 05:41:11 +00:00
Peter Steinberger
5bc4841918
feat: add agent identity avatars ( #1329 ) (thanks @dlauer)
2026-01-22 05:37:15 +00:00
Peter Steinberger
c5025bd120
feat: surface repo root in runtime prompt
2026-01-22 05:20:42 +00:00
Peter Steinberger
3c6b9c11bd
docs: add control ui dev gatewayUrl note
2026-01-22 05:05:30 +00:00
Peter Steinberger
55a8db8e4d
docs: fix npm prefix guidance
2026-01-22 04:31:25 +00:00
Peter Steinberger
100b690e20
docs: add /model allowlist troubleshooting note
2026-01-22 04:28:57 +00:00
Peter Steinberger
b8122ba647
feat: preflight update runner before rebase
2026-01-22 04:19:33 +00:00
Peter Steinberger
f9d746eadd
docs: clarify prompt injection guidance
2026-01-22 04:19:33 +00:00
Peter Steinberger
54d667f194
fix: localize system event timestamps
2026-01-22 04:15:39 +00:00
Peter Steinberger
69aad2d1b2
fix: default envelope timestamps to local
2026-01-22 04:10:06 +00:00
Peter Steinberger
82cec75f25
fix: align exec approvals default agent
2026-01-22 04:05:54 +00:00
Peter Steinberger
2c28fca67d
feat: add agent avatar support ( #1329 ) (thanks @dlauer)
2026-01-22 04:00:07 +00:00
Peter Steinberger
c2b25dac8e
fix: msteams attachments + plugin prompt hints
...
Co-authored-by: Christof <10854026+Evizero@users.noreply.github.com>
2026-01-22 03:37:29 +00:00
Peter Steinberger
1333c0b37d
docs: expand lobster guides
2026-01-22 03:25:13 +00:00
Peter Steinberger
c39e71013d
Merge pull request #1152 from vignesh07/feat/lobster-plugin
...
feat: Add optional lobster plugin tool (typed workflows, approvals/resume)
2026-01-22 02:34:05 +00:00
Peter Steinberger
ca67b686ac
feat(signal): add typing + read receipts
2026-01-22 02:04:59 +00:00
Peter Steinberger
567415d38f
chore: bump version to 2026.1.21
2026-01-22 01:59:16 +00:00
Zach Knickerbocker
66810207e2
feat: configurable heartbeat session
2026-01-22 01:36:28 +00:00
Peter Steinberger
e16601b92c
fix: unify exec approval ids
2026-01-22 00:59:29 +00:00
Peter Steinberger
8dbf803b1b
fix: remove setup-token run option in onboarding
2026-01-22 00:42:04 +00:00
Peter Steinberger
e49887e1d0
fix: warn on unset gateway.mode
2026-01-22 00:21:08 +00:00
Peter Steinberger
e9245837ea
fix: enforce secure control ui auth
2026-01-21 23:58:42 +00:00
Dominic Damoah
1d34352691
feat: add Mattermost channel support
...
Add Mattermost as a supported messaging channel with bot API and WebSocket integration. Includes channel state tracking (tint, summary, details), multi-account support, and delivery target routing. Update documentation and tests to include Mattermost alongside existing channels.
2026-01-21 18:40:56 -05:00
Peter Steinberger
fed5586a2a
docs: clarify mac packaging guidance
2026-01-21 23:27:40 +00:00
Peter Steinberger
3161a0ea0a
feat: tighten exec allowlist gating
2026-01-21 21:45:50 +00:00
Peter Steinberger
97311de136
docs: add showcase video
2026-01-21 20:53:55 +00:00
Peter Steinberger
7efa487150
fix: add explicit tailnet gateway bind
2026-01-21 20:36:09 +00:00
Peter Steinberger
582b4a9a34
docs: simplify heartbeat active hours example
2026-01-21 20:33:23 +00:00
Peter Steinberger
b0b96fe731
feat: add heartbeat active hours
2026-01-21 20:30:37 +00:00
Peter Steinberger
3cbd187a13
feat: make nodes run exec-style
2026-01-21 20:25:12 +00:00
Peter Steinberger
112ba5de4b
feat: add auth-aware cache defaults
2026-01-21 20:23:39 +00:00
Peter Steinberger
d89894365d
fix: restore 1h cache ttl option
2026-01-21 20:00:32 +00:00
Peter Steinberger
496eea9412
docs: clarify cache-ttl pruning window
2026-01-21 20:00:32 +00:00
Peter Steinberger
b47d8624ff
feat: add cache-ttl pruning mode
2026-01-21 19:46:24 +00:00
Echo
ba1f1f1e5d
feat(sessions): add channelIdleMinutes config for per-channel session idle durations ( #1353 )
...
* feat(sessions): add channelIdleMinutes config for per-channel session idle durations
Add new `channelIdleMinutes` config option to allow different session idle
timeouts per channel. For example, Discord sessions can now be configured
to last 7 days (10080 minutes) while other channels use shorter defaults.
Config example:
sessions:
channelIdleMinutes:
discord: 10080 # 7 days
The channel-specific idle is passed as idleMinutesOverride to the existing
resolveSessionResetPolicy, integrating cleanly with the new reset policy
architecture.
* fix
* feat: add per-channel session reset overrides (#1353 ) (thanks @cash-echo-bot)
---------
Co-authored-by: Cash Williams <cashwilliams@gmail.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-21 19:10:31 +00:00
Peter Steinberger
b22e8c8154
docs(discord): mention wildcard channel defaults
2026-01-21 18:21:24 +00:00
Peter Steinberger
6350065f68
docs: align gateway service naming
2026-01-21 17:45:26 +00:00
Peter Steinberger
2fe0342fd3
fix: normalize abort signals for fetch
2026-01-21 17:29:46 +00:00
Peter Steinberger
4792b69087
docs: clarify bluebubbles message ids
2026-01-21 17:20:03 +00:00
Peter Steinberger
fcff0604c7
fix: harden bluebubbles short ids and fetch wrapper ( #1369 ) (thanks @tyler6204)
2026-01-21 17:09:15 +00:00
Peter Steinberger
f1ef4181fc
docs: add FAQ entry for tool_use input error
2026-01-21 16:56:26 +00:00
Peter Steinberger
2d743b3a14
docs: update node CLI references
2026-01-21 16:48:42 +00:00
Peter Steinberger
330f61968a
fix: narrow configure model allowlist for Anthropic OAuth
2026-01-21 11:00:28 +00:00
Peter Steinberger
8ad322c145
fix: make session memory indexing async
2026-01-21 10:39:00 +00:00
Peter Steinberger
1b207ed6c4
feat: improve exec approvals defaults and wildcard
2026-01-21 09:55:10 +00:00
Peter Steinberger
2edc97aa62
docs: add npm files check to release checklist
2026-01-21 08:10:53 +00:00
Peter Steinberger
567464851c
feat: align update channel installs
2026-01-21 06:00:54 +00:00