troubleshooting
Reset workspaces & sign out
One-click recovery if the desktop terminal crashes when you add a workspace tab or the layout glitches in a way that persists across restarts.
If the desktop terminal crashes when you click the "+" tab button, won't render a chart after restart, or shows persistent layout glitches that survive a restart and reinstall, the most likely cause is your locally-cached workspace state having a corrupt field that we can't detect at load time. The recovery is one click.
The button
Account ▼ → Reset workspaces & sign out
Located in the top-right account dropdown, right above the regular Sign Out entry.
What it does
- Wipes the local workspace cache file (
%LOCALAPPDATA%\Spectra\app_state.jsonon Windows; the macOS / Linux equivalent under your config dir). - Resets every in-memory chart panel to the default trading layout.
- Signs you out so the next sign-in re-hydrates your workspace from the cloud cleanly.
Your saved workspaces, charts, alerts, and trading history are stored server-side and come back when you sign in again. The only thing this button discards is the local cache and the current session's in-memory layout.
When to use it
Use it if you see ANY of these symptoms that survive a normal restart:
- The app crashes when you click "+" to add a workspace tab.
- A chart panel renders blank or with garbled GPU artifacts every frame.
- The app process exits silently (no error window, no console message) shortly after launch.
- You see the message "Quarantined raw payload to
workspaces/broken-..." in the panic log
(
%LOCALAPPDATA%\Spectra\panic.log).
What if it doesn't help
If the crash persists after sign-out + sign-in:
- Restart Windows. A reboot clears stuck GPU driver state that sometimes survives process termination.
- Update your GPU driver. Both NVIDIA and AMD have shipped process-termination fixes for D3D12 / Vulkan in 2025–2026 drivers.
- Check your AV / endpoint protection. Some security software
rewrites process memory and can crash apps during
wgpu::Queue::submit. - Send us your panic log. If
%LOCALAPPDATA%\Spectra\panic.loghas entries, attach it to a support email at [email protected] along with the file in%LOCALAPPDATA%\Spectra\workspaces\broken-*.jsonif one exists. That file is the exact JSON payload that triggered the recovery and lets us reproduce the bug end-to-end.
Why this is needed
The desktop terminal renders charts through wgpu, which talks directly to your GPU driver. A handful of fields in the persisted workspace JSON, if corrupted by a partial write or a future schema mismatch, can shape the loaded Rust state in a way that makes subsequent GPU operations crash the process. The crash bypasses Rust's panic machinery entirely, so there's no in-app error to show.
Rather than try to detect every possible corruption pattern at load time (a moving target), Spectra:
- Quarantines any payload that fails to deserialize cleanly,
writing it to
%LOCALAPPDATA%\Spectra\workspaces\broken-<ts>.jsonfor forensic recovery before falling back to defaults. - Exposes this one-click reset as the user-facing escape hatch for the harder case where the JSON parses successfully but its contents trigger the crash downstream.
Both mechanisms together make sure a bad save can't trap you out of the app permanently.