Skip to content

Releases: ArcaneSphere/SovereignSearch

v0.54.11: Search rating implementation

04 Jan 12:00

Choose a tag to compare

  • Rating slider: Set ratings by slider adjustment.
  • Simplified rating display: Only shows 👍 likes, 👎 dislikes, and ⭐ average.
  • Stable icon layout: Icon space preserved even if iconURLHdr is 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

02 Jan 17:49

Choose a tag to compare

Gnomon: keep log listener alive

v0.52.11: Tela-server: Resolved entry html rawURL

31 Dec 23:51

Choose a tag to compare

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-server internally 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.html SCIDs ✅

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 rawURL on every /add/<SCID> call (new or already loaded).
Use baseURL only for proxying assets.

This keeps Electron happy without forcing index.html rewrites 🚀

v0.51.00: Sidebar CSS Update

29 Dec 22:14

Choose a tag to compare

Sidebar CSS Update

v0.50.10: webSecurity: true

29 Dec 16:31

Choose a tag to compare

webSecurity: true

v0.50.00: Autostart tela-server

29 Dec 15:41

Choose a tag to compare

Tela-server starts automatically on app launch

Fix sidebar startup layout & add configurable Gnomon node

29 Dec 14:37

Choose a tag to compare

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

29 Dec 04:49

Choose a tag to compare

1. Gnomon Process Control

  • Implemented start/stop buttons in the Gnomon manager page (gnomon.js) that now successfully launch and terminate the gnomonindexer process.
  • Fixed the renderer ↔ main communication using ipcRenderer.invoke and ipcMain.handle for gnomon:start and gnomon:stop.
  • Ensured persistent state of Gnomon with a gnomonRunning flag to track whether it’s active.

2. Gnomon Status Checking

  • Added check-gnomon handler to verify if Gnomon’s API is responsive (via HTTP request to 127.0.0.1:8099).
  • Added gnomon:get-info to 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-log events 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 (/indexedscs and /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 SIGINT to Gnomon and waits for exit.
    • Fallback timeout to SIGKILL in case it hangs.
  • Prevents orphaned Gnomon processes.


6. Debugging & Renderer Safety

  • Added checks in the renderer (gnomon.js) to ensure electronAPI is available.
  • Allowed logs and state updates even if Gnomon crashes or is stopped manually.

CSS Variable Unification & Theme Toggle Update

28 Dec 02:02

Choose a tag to compare

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.