Skip to content

Vortex v1.5 - The Production Architecture Update

Choose a tag to compare

@berkayyytech berkayyytech released this 11 Jul 22:09
5f98123

Vortex v1.5: The Production Architecture Update

This is the largest update to Vortex since its inception. The entire application has been rewritten from the ground up to transition from a prototype UI into a highly scalable, non-blocking, modular production

engine.

Below is the comprehensive list of features, improvements, and architectural changes introduced in v1.5.

## Major Features

*   **Non-Blocking Background Workers**: The entire SSH telemetry loop has been decoupled from the UI. System metrics (CPU, RAM, Docker) are now fetched using a dedicated background Goroutine worker pipeline.

The UI runs at a perfectly smooth 60 FPS without stuttering during network latency.
* Dynamic Settings System: A fully persistent, JSON-backed configuration registry (~/.config/vortex/settings.json) has been implemented. The new dual-pane Settings UI allows you to hot-swap themes,
configure SSH timeouts, adjust polling rates, and tweak application behavior without restarting.
* Global Command Palette: Added a VS-Code style global command palette. Press Ctrl+P at any time to open an overlay and instantly fuzzy-search and jump between modules (Dashboard, Docker, Apps,
Settings).
* Global Toast Notifications: Errors no longer fail silently or crash the UI. Async SSH errors and telemetry disconnects now safely bubble up as non-intrusive Toast notifications at the bottom of the
screen.

## New Modules & Service Engines

Every major feature is now powered by its own isolated, plug-and-play Service Engine.

*   **Application Manager**: A brand new module that dynamically maps listening ports to active processes. It intelligently detects if a process is a Node.js, Python, PM2, Java, or Go application. You can

gracefully stop (S) or force-kill (Shift+K) applications directly from the UI.
* Security Center: Vortex now acts as an automated security auditor. Upon connection, it scans /etc/ssh/sshd_config for insecure root login configurations and password authentication allowances. It
also scans the status of your ufw firewall, flagging vulnerabilities on a dedicated dashboard.
* Unified Logging Engine: The Logs view has been upgraded to a streaming engine. It fetches live systemd journalctl logs seamlessly. Added a highly requested Pause/Resume toggle (P) so you can
freeze the live log stream to inspect stack traces before they scroll away.
* Backup Manager: Added a new Backup dashboard that scans the /tmp directory for Vortex-created archives. You can now asynchronously trigger tar.gz directory backups directly through the SSH tunnel
without locking up the terminal.
* Remote File Explorer Engine: The file explorer is no longer a mockup. It is fully integrated with the SSH engine, allowing you to traverse remote Linux directories in real-time.

## UI & Component Architecture

*   **Component Overhaul**: We stripped out thousands of lines of duplicated layout code. The UI is now built on a strict, reusable component layer (`Title`, `Card`, `ProgressBar`, `Toast`).
*   **Dual-Pane Navigation**: Complex modules (like Settings) now utilize a professional dual-pane layout. Navigation has been standardized globally to support `TAB`, `ESC`, `ENTER`, and Arrow Keys across all

terminal emulators flawlessly.
* Dynamic Centering: The entire application now dynamically calculates terminal dimensions and perfectly centers itself regardless of your window size.

## Bug Fixes

*   Fixed a critical input hijacking bug where global sidebar hotkeys (`[` and `]`) were preventing the active page from receiving standard `up` and `down` arrow keystrokes.
*   Fixed a UI wipeout bug where attempting to navigate the interface without an active SSH connection would panic the renderer.
*   Fixed Bubble Tea `Shift+Tab` compatibility issues across various terminal emulators by introducing universally supported fallback keybinds (`Left Arrow`, `ESC`).

## Developer Notes
For developers building on top of Vortex, the codebase now operates on a strict **Dependency Injection Model**. The global router securely broadcasts an `EngineReadyMsg` down the UI tree upon SSH connection,

allowing individual pages to safely inject the master SSH client into their respective service engines. You can now build new modules effortlessly without touching the core routing logic.