2026.06.06.r1
β‘ 2026.06.06-r1
π’ Electra Finance Center β Full GUI Application
β’ New /finance command launches a standalone PyQt5 GUI β a complete income
management dashboard built into the AI Center.
β’ 6-page side-navigation layout: Dashboard, Streams, Pending, Wallet, Config, Log.
β’ Dashboard: 5 stat cards (Earned 30d, Today, Goal, Active streams, Pending),
animated monthly goal progress bar, earnings-by-stream table, 25-entry activity feed.
β’ Streams page: all 28 income streams in a table with live status badges,
last-run time, 30-day earnings, per-row Enable/Pause toggle and Run Now button,
plus bulk Enable All / Pause All actions.
β’ Pending Approvals: card-per-action layout with stream badge, amount, description,
per-card Approve/Reject buttons, and Approve All bulk action.
β’ Wallet: PayPal/Stripe/Total balance cards, Sync Income Now, Check Balances,
50-row synced transactions table.
β’ Config: 6-tab form covering all 50+ credential and settings fields with
show/hide toggles on secret fields and a single Save Config button.
β’ Activity Log: 200 entries, colour-coded ERROR/WARN/INFO, monospace font,
auto-scroll, Clear and Refresh controls.
β’ Finance AI chat pane always visible on the right β injects live earnings
context (goal, earned, active streams, pending count, capital) into every
message. Three suggestion chips: Analyse / Ideas / Next Step.
β’ 10 built-in themes with live switching β no restart required:
Electra Dark, Midnight Purple, Ocean Teal, Amber Night, Rose Dark,
Light Ink (default), Solarized Light, Nord, Dracula, Monokai.
β’ Theme preference persisted to finance.conf β restores on next launch.
β’ All background operations (stream runs, wallet sync, AI chat, scan) run in
QThread workers so the UI never freezes.
β’ Auto-refresh every 60 seconds.
π’ Electra Bar β Qt xcb Platform Fix
β’ electra_bar_qt.py and electra_bar_launcher.py now detect the missing
libxcb-cursor0 dependency (required on Ubuntu 22.04+/23.04+ for the Qt
xcb platform plugin) before QApplication is created.
β’ Clear error message printed with exact fix: sudo apt install libxcb-cursor0
β’ Wayland sessions automatically switch to QT_QPA_PLATFORM=wayland.
β’ QT_QPA_PLATFORM_PLUGIN_PATH auto-detected across all common PyQt5/PyQt6
install locations (system apt, pip, user local).
π’ Build System β PyQt5 + Memory Fixes
β’ docker.sh: PyQt5 installed via pip (not Debian package) so Nuitka can
locate and bundle it correctly. libxcb-cursor0 added to both fresh and
existing container provisioning. --shm-size=6g added to docker run.
β’ compile.sh: --jobs=1, --lto=no, --low-memory added to prevent gcc OOM-kill
on the large ai_terminal.py β C translation unit (37K+ lines).
--include-package=PyQt5 (+ QtWidgets/QtCore/QtGui) added for Finance GUI.
Removed --enable-plugin=pyqt5 (incompatible with Debian PyQt5 package).
β’ Pre-flight RAM check warns if less than 6GB free before compilation starts.
β‘ 2026.06.05-r5
π΄ Telegram Service β Fixed (Survives Reboot)
β’ Telegram daemon service (/telegram service install) now works correctly
after reboot. The service file is now written directly by the compiled
binary β no external install_telegram_service.sh required.
β’ Service unit now sets HOME, XDG_RUNTIME_DIR and PATH explicitly so the
daemon has a valid environment when started by systemd after boot.
β’ Root cause: top-level import of tkinter and ttkbootstrap was crashing the
binary at startup in any headless/no-display environment (e.g. systemd
service). Both are now lazy-imported only inside the functions that need
them (/box multiline input, /image file picker fallback).
β’ telegram_bridge is fully bundled inside ai_terminal.bin β no separate
.py file needs to be deployed alongside the binary.
β‘ 2026.06.05-r1
π’ Per-Project Memory β Coder Mode
β’ Each project folder now gets its own stable conversation_id stored in
/.electra_session.json (Coder mode only).
β’ Opening the same folder again reconnects the AI to that project's
server-side MemPalace thread β full long-term project memory.
β’ Different folders get different IDs β no cross-project memory bleed.
β’ Terminal shows "π§ Project memory: Returning session (ID xxxxxxxxβ¦)"
or "New session" so you always know which memory thread is active.
β’ Chat and Command modes are unaffected β they keep their own global
persistent IDs (~/.electra_chat_id and ~/.electra/command_id).
β’ .electra_session.json excluded from file tree, vector index, and codebase map.
β’ Falls back silently to the global coder_id on read-only filesystems.
β‘ 2026.06.05
π’ GUI β Safe Workspace Redirect
β’ Home directory, Desktop, Downloads, Documents and other system folders are now
blocked as workspace roots β the GUI silently redirects to ~/workspace/project_
so the file-tree indexer never crawls tens-of-thousands of unrelated files.
β’ _safe_workspace() guard applied at three points: GUI init (cwd on launch),
"New Workspace" folder picker, and the --cwd argument parser.
β’ --cwd guard extended to cover --gui launches (previously only --coder/--writer).
β’ Unsafe directory list expanded: ~/Downloads, ~/Documents, ~/Pictures, ~/Videos,
~/Music, ~/Public, ~/Templates, /tmp, /root, /, /home.
π’ GUI β Collapsible Thinking Blocks
β’ AI thinking blocks now collapse automatically the moment the full response
arrives (ChatGPT-style). A βΎ arrow in the header lets users re-expand any time.
β’ Thinking summary preview (first 70 chars) shown inline while collapsed.
π’ GUI β Default Theme Changed to Light Ink
β’ Light Ink is now the default theme on first launch.
π’ GUI β Deferred File-Tree Indexing
β’ File tree now populates in a background thread after the window appears β
GUI opens instantly instead of hanging on large directories.
β’ "β Indexing workspace filesβ¦" / "β Workspace ready" status shown in activity log.
β’ Vector index start/done also surfaced in activity log via indexing_status callback.
π’ GUI β Auto Mode-Switch from Routing Agent
β’ When the routing agent routes a prompt to CODER or WRITER, the GUI tab
switches automatically β no need to manually click the mode buttons.
β‘ 2026.06.03-r2
π΄ Bug Reporting & Error Auto-Filing
β’ /report, /bug, /bugs now open GitHub Issues in the browser.
β’ Added _auto_report() β silent background GitHub issue filer hooked into all
major error paths (Chat, Coder, Command agents).
β’ 3-layer dedup: in-memory (1hr) β local ledger β GitHub search.
β’ Recurrence comments rate-limited to once per 24h per machine per error fingerprint.
β’ Fixed stamp write race in release notes popup.
β‘ 2026.06.03
π΄ Core Coder Agent & Context Retention Fixes
β’ Persistent context logging restored β fallback/retry states now write to
coding_history, fixing conversation continuity during network recovery.
β’ conversation_id promoted to a top-level payload key across 10 request sites.
β’ Surgical file tools now update LAST_WRITTEN_FILE and trigger background re-indexing.
π Tool Integrations & Router Fixes
β’ Weather keyword hijack fixed β CPU/RAM/disk terms no longer trigger weather routing.
β’ Binary file read crashes fixed (errors="replace").
β’ tags stripped from AI responses before saving to compressed history.
π‘ GUI Editor Fixes
β’ Diff hunk double-newline corruption fixed.
β’ Duplicate stream-end signal fixed.
β’ /ghost command initialisation fixed.
β’ GUI loading indicators now activate correctly during planning phases.