Skip to content

Tags: amirlehmam/wmux

Tags

v0.7.12

Toggle v0.7.12's commit message
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>

v0.7.11

Toggle v0.7.11's commit message
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>

v0.7.10

Toggle v0.7.10's commit message
wmux v0.7.10 — fix long-paste byte loss

v0.7.9

Toggle v0.7.9's commit message
feat(updater): notify of new GitHub releases via in-app badge (v0.7.9)

The existing electron-updater wiring fails silently because our portable-zip
release flow doesn't ship a latest.yml manifest. Add a lightweight notify-only
path: poll the GitHub /releases/latest REST endpoint at startup (5s delay) and
every 6h, broadcast new versions to all renderers via IPC, render a green
pulsing badge in the titlebar. Click opens the GitHub release page in the
default browser via shell.openExternal — URL whitelisted to github.com.

This unblocks awareness of new versions without requiring NSIS + signing,
which we still want long-term once SignPath OSS quota lands.

v0.7.8

Toggle v0.7.8's commit message
fix(terminal): route Ctrl+V through xterm paste so bracketed-paste ma…

…rkers reach Claude Code (v0.7.8)

Ctrl+V was writing the clipboard directly to the PTY, bypassing xterm's
bracketed-paste wrapping. Claude Code therefore saw each newline as Enter
and only the first line of a long paste landed (no [Pasted text #N] placeholder).

Use terminal.paste() instead — it consults bracketedPasteMode and emits
through onData (already wired to PTY), so the text arrives wrapped in
\x1b[200~ ... \x1b[201~ when the foreground app has the mode enabled.

v0.7.7

Toggle v0.7.7's commit message
fix(terminal): honor user's Default Shell setting on new terminals (v…

…0.7.7)

The Default Shell preference (Settings → Workspace → Shell) was written to
the store but never read on the spawn path: PaneWrapper passed
workspace.shell (always '' for the initial session) into useTerminal, which
forwarded the empty string to the main process. resolveShell() in
pty-manager.ts then fell back to the system default (pwsh → powershell →
cmd), silently ignoring the user's WSL/cmd/bash choice.

useTerminal now resolves the effective shell with the chain:
  workspace.shell  →  workspacePrefs.defaultShell  →  main-process default.
Read via useStore.getState() at PTY-creation time so changing the
preference doesn't re-spawn live PTYs — the new default applies only to
terminals opened afterward, matching user expectation.

Fixes #5

v0.7.6

Toggle v0.7.6's commit message
wmux v0.7.6

v0.7.5

Toggle v0.7.5's commit message
fix(render): hide inactive workspace panes (v0.7.5)

Explicit `visibility: visible` on the active surface layer overrode
the parent workspace div's `visibility: hidden`, so switching sessions
left the previous workspace painting on top of the new one. Gate the
surface-layer visibility on isWorkspaceActive so inactive workspaces
inherit hidden correctly.

v0.7.4

Toggle v0.7.4's commit message
fix(terminal): re-focus xterm textarea on workspace switch (v0.7.4)

When switching workspaces, React state focusedPaneId updated correctly but
xterm.js's hidden textarea was never re-focused, so document.activeElement
stayed on the previous (now-hidden) workspace's textarea and keystrokes
appeared to hit nothing — the "frozen session" bug.

useTerminal now takes a focused prop and calls term.focus() inside the
visibility-change effect once refresh() has repainted the canvas.

Also wires the titlebar Settings button that was unhooked.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

v0.7.3

Toggle v0.7.3's commit message
chore(brand): refresh logo across app + site, bump to v0.7.3

Swap the old "w" mark for the new green terminal-window logo
everywhere it surfaces: Electron window icon, Windows taskbar/.exe
icon (multi-resolution ICO: 16/32/48/64/128/256), React titlebar
component, and wmux.org favicon + nav logo.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>