Skip to content

GUI: fix build health, add OpenRouter to settings, harden browser fallback#29

Merged
Cuuper22 merged 1 commit into
mainfrom
claude/batch-gui
Jun 10, 2026
Merged

GUI: fix build health, add OpenRouter to settings, harden browser fallback#29
Cuuper22 merged 1 commit into
mainfrom
claude/batch-gui

Conversation

@Cuuper22

Copy link
Copy Markdown
Owner

What

Makes the GUI actually buildable and wires OpenRouter into the settings UI.

  • npm install + npm run build (tsc strict + vite) pass cleanly; committed package-lock.json for reproducible installs.
  • Real build bug fixed: main.rs calls libc::kill but libc was never declared in Cargo.toml — the Tauri crate could not have compiled on Linux/macOS (consistent with CI never having run).
  • OpenRouter added to the provider union in App.tsx/SettingsPanel.tsx with google/gemini-2.5-flash default, plus the OPENROUTER_API_KEY env mapping in main.rs so the key reaches the spawned solver sidecar.
  • Browser-fallback hardening: the five listen() promises rejected unhandled outside Tauri; now degrade to no-op (5 page errors → 0). Dead /vite.svg favicon link removed.
  • cargo fmt applied and clean.

Verification

Vite preview screenshotted at 1440×900 (mining view and Settings tab with OpenRouter selected) and visually inspected. Environment-blocked: cargo check/cargo test need webkit2gtk-4.0 system libs that Ubuntu 24.04 no longer ships (apt also broken in the container) — addressed in the CI PR by pinning rust jobs to ubuntu-22.04. Full Python suite unaffected (314 passed, 9 skipped).

Part of the project-wide polish batch.

https://claude.ai/code/session_01KAKnLjpFZ9oF74GNW9QNtN


Generated by Claude Code

- SettingsPanel: add OpenRouter (id `openrouter`) as a provider option,
  presented like the existing providers; model list defaults to
  google/gemini-2.5-flash (matches the new backend provider, which
  reads OPENROUTER_API_KEY)
- Tauri backend: pass OPENROUTER_API_KEY to the solver process when the
  openrouter provider is selected
- Cargo.toml: declare the libc dependency used by stop_mining on unix
  (libc::kill was an undeclared-crate compile error on non-Windows)
- App.tsx: handle listen() rejection when running outside Tauri (e.g.
  vite preview in a plain browser) so event wiring degrades to a no-op
  instead of raising unhandled promise rejections
- index.html: drop dead /vite.svg favicon reference (no public/ dir)
- cargo fmt over gui/src-tauri
- commit gui/package-lock.json for reproducible installs

Build status:
- npm run build (tsc && vite build): passing
- cargo fmt --check: clean
- cargo check / cargo test: environment-blocked — Tauri 1.x needs the
  webkit2gtk-4.0/javascriptcoregtk-4.0 system libs, which Ubuntu 24.04
  no longer ships (only 4.1 is available; GTK3 and libsoup2.4 dev libs
  install fine and were not the blocker)
- python -m pytest tests/ -q: 314 passed, 9 skipped (untouched)

E2E: built app served via vite preview and screenshotted with
playwright; mining view and settings view (OpenRouter selected,
google/gemini-2.5-flash auto-selected) render correctly in a plain
browser with no unhandled errors.

https://claude.ai/code/session_01KAKnLjpFZ9oF74GNW9QNtN
@Cuuper22 Cuuper22 merged commit b5e9423 into main Jun 10, 2026
0 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants