Releases: ArcaneSphere/SovereignSearch
v0.54.11: Search rating implementation
- Rating slider: Set ratings by slider adjustment.
- Simplified rating display: Only shows 👍 likes, 👎 dislikes, and ⭐ average.
- Stable icon layout: Icon space preserved even if
iconURLHdris missing — no broken images or layout shifts. - Enhanced sorting: Name-based ascending/descending added; newest/oldest SCID sorting retained.
v0.53.00: Gnomon: keep log listener alive
Gnomon: keep log listener alive
v0.52.11: Tela-server: Resolved entry html rawURL
Here’s a short, clean GitHub-ready summary of the fix and reasoning, focusing on rawURL + baseURL 👇
Summary: Fix SCID reloads & non-index.html entrypoints (rawURL + baseURL)
Problem
- Some TELA SCIDs do not use
index.html(e.g.Snake Deluxe.html,algo4.html) - Electron is not forgiving with redirects or
/→ HTML resolution - Reloading a previously opened SCID failed because
/add/<SCID>returned only"OK"without the actual entry URL - BrowserView needs the exact HTML entry file, not just
/tela/<SCID>/
Root Cause
tela-serverinternally knows the real entry file (rawURL)- But on idempotent reloads, the server discarded it
- Electron then tried to load an empty or incorrect URL →
ERR_INVALID_URL, redirect loops, or blank pages
Solution
1️⃣ Track two URLs per SCID
-
rawURL → exact HTML entry file
Example:http://localhost:8084/Snake Deluxe.html -
baseURL → directory root for assets & proxying
Example:http://localhost:8084/
2️⃣ Return rawURL even when SCID is already loaded
if alreadyLoaded {
fmt.Fprintf(w, "OK (already loaded): %s", rawURL)
return
}This guarantees:
- First load ✅
- Reload after tab close ✅
- Non-
index.htmlSCIDs ✅
3️⃣ Electron always loads the returned URL
const addRes = await fetch(`/add/${scid}?node=...`);
const text = await addRes.text();
let scidURL;
if (text.startsWith("OK: ")) {
scidURL = text.slice(4).trim();
} else if (text.startsWith("OK (already loaded): ")) {
scidURL = text.slice("OK (already loaded): ".length).trim();
}
await view.webContents.loadURL(encodeURI(scidURL));Result
✅ SCIDs with index.html
✅ SCIDs with custom HTML filenames
✅ Reloading SCIDs after tab close
✅ No redirects, no timeouts, no Electron quirks
TL;DR
Return
rawURLon every/add/<SCID>call (new or already loaded).
UsebaseURLonly for proxying assets.
This keeps Electron happy without forcing index.html rewrites 🚀
v0.51.00: Sidebar CSS Update
Sidebar CSS Update
v0.50.10: webSecurity: true
webSecurity: true
v0.50.00: Autostart tela-server
Tela-server starts automatically on app launch
Fix sidebar startup layout & add configurable Gnomon node
Fixed initial UI layout issue by aligning sidebar default state in main.js
Sidebar now starts collapsed with correct BrowserView bounds (no reserved space)
Added support for applying a custom Gnomon daemon RPC node at runtime
Introduced configurable --daemon-rpc-address instead of hardcoded value
Ensured Gnomon restarts safely when node is changed
Improved startup UX by removing need for manual sidebar toggle
Full Changelog: v0.49.7...v0.49.84
Gnomon Control & Live Status
1. Gnomon Process Control
- Implemented start/stop buttons in the Gnomon manager page (
gnomon.js) that now successfully launch and terminate thegnomonindexerprocess. - Fixed the renderer ↔ main communication using
ipcRenderer.invokeandipcMain.handleforgnomon:startandgnomon:stop. - Ensured persistent state of Gnomon with a
gnomonRunningflag to track whether it’s active.
2. Gnomon Status Checking
- Added
check-gnomonhandler to verify if Gnomon’s API is responsive (via HTTP request to127.0.0.1:8099). - Added
gnomon:get-infoto fetch detailed information from Gnomon’s/api/getinfo. - Updated the Gnomon manager UI to reflect running/stopped status with a yellow/green/red LED indicator.
3. Live Logs
- Wired up
gnomon-logevents to stream stdout/stderr from the Gnomon process to the renderer. - Ensured logs are displayable in real-time, though some display issues remain in the UI.
4. Start Page (start.html) Integration
- Explored auto-refresh / live updates when Gnomon starts.
- Integrated SCID fetching via the Gnomon API (
/indexedscsand/scvarsbyheight). - Not fully functional yet: SCIDs don’t update live when Gnomon starts or indexes new entries.
5. App Lifecycle & Cleanup
-
Implemented graceful shutdown of Gnomon when the app closes:
- Listens for
before-quit,window-all-closed,SIGINT,SIGTERM. - Sends
SIGINTto Gnomon and waits for exit. - Fallback timeout to
SIGKILLin case it hangs.
- Listens for
-
Prevents orphaned Gnomon processes.
6. Debugging & Renderer Safety
- Added checks in the renderer (
gnomon.js) to ensureelectronAPIis available. - Allowed logs and state updates even if Gnomon crashes or is stopped manually.
CSS Variable Unification & Theme Toggle Update
This release adds full UI control and introduces a unified theming system across the application. Light, dark, and system modes are now fully supported with a manual toggle in Settings, correctly synchronized across all pages including the search view. Styling has been consolidated into a single CSS source using theme variables, ensuring consistent visuals, proper scrolling behavior, and seamless system theme integration.