Skip to content

MulmoClaude

v0.9.3 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 24d LLM Frameworks
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Summary

AI summary

Broad release touches Highlights, Internal, Cascade publishes, and favourite.

Full changelog

Highlights

  • Writable remote custom views on the mobile companion — LLM-generated mobile-targeted views (phase 3), update/delete over Firestore (phase 4), and inlined workspace image thumbnails so the phone never has to reach localhost (phase 5).
  • Chat UI recovers from missed pub/sub events — three complementary fixes so the "考え中…" indicator can never stick mid-turn (immediate isRunning=false on session_finished, usePubSub().onReconnect() catch-up, document.visibilitychange handler for Safari's silent tab throttling).
  • Safari no longer freezes on Opus 4.8 degenerate-repetition output — cap the string fed into marked() at 100k chars in the text-response view, show a truncation banner + preview slice. Full raw text still reachable via Copy. Localised across all 8 locales.
  • ?selected=<id> deep-link respects the user's saved view — no longer force-switches to calendar view and writes "calendar" into localStorage.
  • Role icons de-collided with the pin star — General → auto_awesome, Debug → bug_report, unknown-role fallback → smart_toy. PinToggle's ★ (favourite) stays.
  • Chat-index scheduler skips unchanged sessions — CLI call rate drops from O(sessions × 24) to O(actually-touched sessions × 24) per day.
  • billing-clients-worklog recipe reconciles pre-existing data — mandatory reconcile step + slug-contract enforcement + collision detection prevents "setup looks done but ref links break" on legacy worklog data.
  • New launcher-sync CI gate — root ↔ launcher ↔ plugin peerDependencies audited on every PR (root cause of #1920).

📦 npm: [email protected]
📖 Full changelog: docs/CHANGELOG.md


Added

  • Remote custom views — phase 3 (#1932) — collection views can now specify target: "mobile"; desktop shows a phone-frame preview; getRemoteView handler ships mobile-optimised views over the Firestore command channel.
  • Remote custom views — phase 4 (#1933) — mutateRemoteView handler for update/delete, with derived-field resolution + clone-safe preview pages.
  • Remote custom views — phase 5 (#1938) — workspace image thumbnails inlined via sharp; the phone never has to reach localhost for image bytes.

Changed

  • launcher-sync CI gate — strict lockstep (#1927) — invariants 4/5 added: launcher range lower bound == workspace source (strict), and gui-chat-protocol peer dep major.minor == launcher pin major.minor.
  • bin/mulmoclaude.js reads version from package.json (#1925) — hardcoded version string is gone; --version always matches the shipped package.json.
  • Chat-index scheduler skips unchanged sessions (#1930, tracking #1929) — only sessions whose jsonl mtime is newer than the last index get re-processed.
  • billing-clients-worklog recipe reconciles pre-existing data (#1941, tracking #1626) — mandatory reconcile step + slug-contract enforcement + collision detection.
  • Session role icons (#1942, tracking #1684) — General → auto_awesome, Debug → bug_report, unknown-role fallback → smart_toy.

Fixed

  • Chat UI silently loses events mid-turn (#1934, tracking #1915).
  • Safari freezes on model degenerate-repetition output (#1936, tracking #1863).
  • ?selected=<id> deep-link no longer forces calendar view (#1939, tracking #1675).
  • sharp was missing from launcher dependencies (#1938) — first thumbnail request would ERR_MODULE_NOT_FOUND.
  • CodeQL false-positive in remote-view sessionId sanitisation (#1937).
  • chat-index scheduler interval relaxed to 6h (#1931).

Internal

  • Root ↔ launcher ↔ plugin peer dep sync gate (#1923) — every PR now audited for three invariants; catches the #1920 class of bug at PR time.
  • CHANGELOG.md for 0.9.2 (#1926) — retroactive entry documenting the 30 PRs shipped in 0.9.2.
  • Chore release identity rolled back to 0.9.3 (#1945) — earlier chore(release) commits had preemptively bumped the launcher to 0.9.4 without publishing; rolled back to 0.9.3 so the actual npm publish gets the natural next-after-0.9.2 identity instead of skipping a number.

Cascade publishes

  • @mulmoclaude/core 0.7.0 → 0.7.1 → 0.8.0 → 0.8.1
  • @mulmoclaude/collection-plugin 0.6.0 → 0.7.0
  • @mulmobridge/client 0.1.4 → 0.1.5

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track MulmoClaude

Get notified when new releases ship.

Sign up free

About MulmoClaude

All releases →

Related context

Earlier breaking changes

  • v1.1.1 Moves Google token store to ~/.config/mulmo/google-token.json
  • v0.6.4 `General` role split into lean `General` and new `Personal` role; Encore seed role pinned to Personal.

Beta — feedback welcome: [email protected]