Repository navigation
v0.6.0 — Open from Session: Browse & Resume Past Conversations
What's New
✨ New Feature: Open from Session
Right-click any bulb → 📂 Open from Session to browse your recent opencode conversations.
- Reads recent sessions directly from opencode's local SQLite database (
~/.local/share/opencode/opencode.db) - Shows up to 10 most recent sessions with:
- Color dot indicating active/dormant status (colored by current light state)
- Project folder name (basename)
- Session title
- Full project path (shortened)
- Relative time ("2 min ago", "1 hour ago", etc.)
- Click any session to instantly resume it: opens a new terminal,
cdto the project directory, and runsopencode -s <session_id>to restore the full conversation history - Async loading — panel appears instantly, sessions populate when the DB query completes
🐛 Bug Fixes
Session panel no longer overlaps bottom bulbs
- Panel content is now constrained to
panel_rect(window height minus bulb area) - Previously the Frame extended across the entire window, causing the bottom cards to be obscured by the bulb row
Card hover & click fixed
- Hover highlight: removed
painter.rect_filled()overlay that covered card text → now uses Framefillcolor driven by per-card hover state tracking - Click detection:
egui::Frame::show().responsehas no click sensing → added explicitui.interact(rect, id, Sense::click())
🔧 Technical Details
- New dependency:
rusqlite = "0.31"withbundledfeature (compiles SQLite C source, WAL-safe read-only access) - New module:
src/sessions.rs—SessionInfostruct,load_recent_sessions(),relative_time(),shorten_path(),dir_basename() spawn_opencode_terminal(directory, session_id)now accepts an optional session ID foropencode -sresume- Panel rendered via
ui.new_child(UiBuilder::max_rect(panel_rect))to stay within bounds
📦 Install
dpkg -i opencode-traffic-light_0.6.0_amd64.debRequires: libx11-6, libxcb1, libxi6, libxext6, libxdo3, libgtk-3-0, libappindicator3-1