Tags: amirlehmam/wmux
Tags
fix(settings): persist default shell across restarts (v0.7.18) - Fix #12: workspacePrefs (defaultShell, placement, auto-reorder) had no persistence layer, so any value the user picked in Settings was lost on the next launch — the "Default shell" toggle felt broken even when it saved into state during the session. Adds a scoped localStorage layer for just this slice (key: wmux-workspace-prefs); failures are swallowed so sandboxed/locked storage can't break the renderer boot. - Annotates the .workspace-row--active rule (fix for #10 landed via #11) so the next person doesn't reintroduce !important and break custom workspace colors again. Bumps version to 0.7.18.
fix(v0.7.16): idle status during thinking, PS1 path crash, theme load…
…ing fallback
- claude-observer: split on \r AND \n — thinking spinner updates in-place via
carriage return so split('\n') was blind to all thinking activity; also added
generic /^.{0,4}[A-Z][a-z]{3,}ing[…\.]+/ pattern covering all 200+ Claude
Code verbs (Cogitating, Symbioting, Brewing, etc.)
- pty-manager: existsSync check before sourcing PS1 script — graceful fallback
instead of hard crash when shell-integration is missing from install dir
- theme-loader: dual-path fallback in loadBundledThemes — tries resourcesPath
first, falls back to __dirname-relative path so themes always load
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(sidebar): restore v0.7.11 idle logic, keep expanded patterns Reverted isDoneAt TTL experiment — the always-idle bug was caused by missing shell-integration in the release zip (elevate.exe crash in CI), not by stuck isDone state. Without shell-integration, shellState is never 'running' so claudeIsIdle always returns false regardless of isDone. Kept: expanded tool patterns (⏩ ▸ ◆ bullets, LSP/Task tools, ⎿ reset) Reverted: isDoneAt timestamp, 60s TTL check in claudeIsIdle Bump to 0.7.15. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(release): remove untracked elevate.exe from extraResources elevate.exe is not in git, causing electron-builder to crash and produce incomplete zips (no themes, no shell-integration, no icon). This was the root cause of all three user-reported bugs in v0.7.12/0.7.13. Bump to 0.7.14 for clean release. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(sidebar): repair always-idle status regression - Add isDoneAt timestamp to ClaudeActivity so isDone has a 60s TTL (prevents stale true from permanently showing 'Idle') - Expand tool detection patterns to cover alternate bullet chars (⏩ ▸ ◆) and LSP/Task tools — so isDone resets reliably on new tool use - Add ⎿ tool-result lines as a reset trigger for isDone - claudeIsIdle now checks isDoneAt TTL + always evaluates hookActivity staleness - Bump version to 0.7.13 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(release): embed icon in exe, add missing resources to build - Add rcedit step in CI release.yml to embed icon.ico + version metadata into wmux.exe so it shows the wmux icon in Windows Search and taskbar - Add wmux-orchestrator and elevate.exe to electron-builder extraResources so they are included in the release zip - Fix PowerShell integration path via env var (WMUX_PS1_SCRIPT) instead of inline dot-source with spaces — avoids node-pty quoting issues on paths containing spaces (e.g. OneDrive - Pulsa) - Bump version to 0.7.12 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
fix(ci): add files/directories to build config and --publish never to… … fix electron-builder packaging Adding build.publish without build.files caused electron-builder to create an ASAR that excluded dist/main/ (compiled TypeScript entry point). Added explicit files glob and directories.output=release to match the zip step. Also pass --publish never so electron-builder does not attempt to upload artifacts itself. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>