$ the-wire · showcase
OpenClaw unifies Apple offline databases, drops media placeholders
By RepoJournal · Filed · About OpenClaw
OpenClaw refactored its Apple offline client databases and aligned its channel producers with the media-placeholder contract.
Apple offline client databases are unified into a single store, consolidating previously separate caches. The refactor removes dead cache APIs and meets native storage gates, with macOS test isolation fixes folded into the same change. No API behavior changes are reported, but this is groundwork for future offline feature work on Apple platforms [1].
Channel producers Discord, Feishu, and MSTeams no longer mint `<media:kind>` placeholder bodies; primary bodies now carry captions only, and native resources emit ordered structured facts with type-only facts for failures or rejections. Discord stickers now travel as native kind "sticker", which the commit notes is not MIME-derivable. This is batch 2 of a program that started in a prior batch, so producers now align on one contract [2].
The steered-message lifecycle in the UI was an "implicit state machine spread across five chat modules, with chip states encoded in loosely coupled optional fields"; it now lives as a typed state machine with structural types including `steered-chip.ts`, defining a `SteeredChip` union where in-flight requires `sendState "steering"` [3].
Non-interactive onboarding reruns previously reset gateway bind, auth, and Tailscale fields to defaults, or dropped stored credentials and transport settings. Field-preserving logic now treats CLI inputs as field-level updates, so operators can correct one option without clobbering network and auth config [4]. Separately, `openclaw doctor` no longer reads an entire heartbeat transcript into memory with `fs.readFileSync`; it streams scans in chunks, which the PR notes addresses large JSONL transcripts common after long heartbeat-only ownership [5]. Docs received multiple automated mirror syncs and a translation refresh with no manual content changes [6][7][8][9][10].
Action items
- → If you run non-interactive onboarding, verify gateway settings persist after your next rerun openclaw/openclaw [plan]
- → Test channel integrations for Discord, Feishu, and MSTeams against the new media-caption body contract openclaw/openclaw [plan]
- → Monitor `openclaw doctor` performance on large transcripts; expected improvement from streamed scans openclaw/openclaw [monitor]
References
- [1] refactor(apple): unify offline client databases (#111598) ↗ openclaw/openclaw
- [2] feat(channels): batch 2 producers drop media placeholder bodies (#111665) ↗ openclaw/openclaw
- [3] refactor(ui): extract the steered-message lifecycle into a typed state machine (#111610) ↗ openclaw/openclaw
- [4] fix(onboard): preserve gateway settings on rerun ↗ openclaw/openclaw
- [5] fix(doctor): stream heartbeat transcript scans without full-file reads ↗ openclaw/openclaw
- [6] chore(sync): mirror docs from openclaw/openclaw@bc76bb893379c21fd86134e5ca5521833a69daa7 ↗ openclaw/docs
- [7] chore(sync): mirror docs from openclaw/openclaw@200653bd60c840566f0c134c98d8684c02c6a0e6 ↗ openclaw/docs
- [8] chore(sync): mirror docs from openclaw/openclaw@6d39d3cf0baadcda55c42b9fe9add408d4ce9e6c ↗ openclaw/docs
- [9] chore(sync): mirror docs from openclaw/openclaw@7d4dccf959789331bc12cad908376ba12a3955ed ↗ openclaw/docs
- [10] chore(i18n): refresh translations ↗ openclaw/docs