robin/src-tauri/tauri.conf.json
pyr0ball 42472ee024 feat(ui): replace Vue/Vite frontend with self-contained static HTML
The UI was previously a Vue 3 SPA served via a Vite dev server on :1420.
This had two problems:
  - Building from source required Node, npm, and the Tauri CLI
  - Running required starting a Vite dev server alongside the binary

Replace with a single self-contained dist/index.html using vanilla JS
and the Tauri 2 withGlobalTauri IPC global. No build step, no npm, no
dev server — the binary loads the static file directly.

Changes:
  - dist/index.html: full Robin UI (chat, events, debug tabs) in ~750 LOC
      - Chat tab: streaming LLM responses via robin:chat-token events
      - Events tab: live matched system events with severity badges
      - Debug tab: migration config, Ollama status probe, notif level picker
      - Onboarding form shown on first run (calls complete_onboarding IPC)
      - All user/LLM text via textContent/DOM construction, no innerHTML
      - Markdown renderer (fenced code, inline code) built from DOM nodes
  - tauri.conf.json: add withGlobalTauri: true, remove devUrl and Node hooks
  - tauri.conf.json: update CSP to allow inline scripts (desktop app)
  - manage.sh: remove Vite dev server auto-start and kill logic
  - manage.sh: build/dev now use cargo directly, add bundle command for
    full .deb/.rpm/.AppImage (still requires Tauri CLI)
  - .gitignore: track dist/index.html, only ignore dist/assets/ (Vite output)
2026-05-20 12:23:04 -07:00

51 lines
1.2 KiB
JSON

{
"$schema": "https://schema.tauri.app/config/2",
"productName": "Robin",
"version": "0.1.0",
"identifier": "tech.circuitforge.robin",
"build": {
"frontendDist": "../dist"
},
"app": {
"withGlobalTauri": true,
"windows": [
{
"label": "chat",
"title": "Robin",
"width": 420,
"height": 600,
"resizable": true,
"fullscreen": false,
"visible": false,
"decorations": true,
"alwaysOnTop": false,
"skipTaskbar": true
}
],
"trayIcon": {
"id": "robin-tray",
"iconPath": "icons/32x32.png",
"iconAsTemplate": false,
"menuOnLeftClick": false,
"tooltip": "Robin"
},
"security": {
"csp": "default-src 'self' tauri: asset: ipc:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; connect-src ipc: http://ipc.localhost asset: http://localhost:*"
}
},
"bundle": {
"active": true,
"targets": ["deb", "rpm", "appimage"],
"resources": {
"patterns/*": "patterns/"
},
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
],
"linux": {}
}
}