Added
- Lock a tab to keep it from being closed by accident: its close button becomes a lock, and Ctrl/Cmd+W, middle-click, the tab menu, "Close all" on a host and "Disconnect all" leave it open (the lock wiggles, and bulk closes say how many locked tabs were kept). Click the lock to unlock. In a split, each pane locks on its own. Typing
exitstill closes the tab. Plugins and AI agents get atab_lockederror instead of closing it. Lock from the tab menu, the pane menu, the command palette, or a long-press on a terminal chip on mobile (#859) - Pin a tab to keep it first in the tab bar as a compact icon. Pinned tabs never join a host group. Lock and pin are kept on this device across restarts and are not synced (#859)
- "Pin session list" in the tab menu is now "Show in side panel" (#859)
- Settings › Appearance and the Themes side panel now list marketplace themes you don't have yet, with a Get button that installs and applies one in a click. Installed theme-only plugins can be removed from the same place, and "Browse all in marketplace" opens Plugins on the
themetag. Get and Remove are greyed with a reason when a policy, the app version or the platform rules them out (#853) - Owners can invite a new teammate directly as Owner, from Members and from a vault's share sheet. Every Owner invite asks for confirmation first; the primary owner and billing do not change. Other roles see the Owner choice greyed out (#847)
- Team audit events are queued on the device and retried until the server accepts them, so a network drop or server error no longer leaves a gap in the team's audit trail (#852)
- While the live sync connection is open, Voltius checks the server about every 10 minutes, and refetches only the team vaults that changed (#855, #858)
Fixed
- Locked tabs: "Disconnect all" now counts only the tabs it will close and says how many locked tabs stay open, or that nothing can be disconnected when every tab is locked. Ctrl/Cmd+W on a locked tab grouped under a host briefly shows a lock on the host's tab. The lock wiggles again on every refused close, and a pin is saved right away. A plugin or AI agent closing a serial session now waits until the port is released, so reopening it straight away no longer fails as busy (#860)
- Switching tabs and opening the right side panel no longer lag while the History panel holds a long history: rows no longer re-render on every tab switch, and rows out of view skip layout (#857)
- The terminal minimap no longer redraws in background tabs, and resamples a terminal with streaming output at most five times a second instead of on every frame, cutting idle CPU use (#857)
- After sleep, a Wi-Fi drop or a reconnect, team vaults now pick up a teammate's edits made in the meantime instead of waiting for an app restart (#856)
- One failed sync request no longer closes a live sync connection that is still receiving heartbeats (#782)
- Requests that find the session expired now share one token refresh, so a burst of them no longer trips the sign-in rate limit for that network (#848)
- Signing up through an invitation that is no longer valid now says you were not added to that team, including after "Add another account" (#849, #850)
- The share sheet's email invite button names the address it sends to (#851)