Commit Graph

188 Commits

Author SHA1 Message Date
myron c8e002091e 10 more alive-feeling effects: HUD corners, data stream, topology, boot seq, vignette, EKG, audio ring, typewriter, static burst, color cycle
① HUD corner rings: animated scanning arcs in all 4 screen corners with tick marks, edge lines, moving dot
② Data stream columns: 22 subtle falling hex/glyph columns behind everything (Matrix-adjacent, very low opacity)
③ Network topology canvas: live node constellation above the network list with pulsing travel dots on connections
④ HUD boot sequence: topbar/panels slide in from edges with staggered timing on every login
⑤ Breathing vignette: screen edges slowly pulse + shifts to red when alerts are active
⑥ EKG heartbeat: scrolling ECG waveform in bottom bar (P-QRS-T complex, green glow)
⑦ Audio waveform ring: animated bar ring around the arc reactor during mic/TTS activity
⑧ Typewriter: JARVIS chat responses type out character by character with adaptive speed + cursor blink
⑨ Static noise burst: random panel gets 280ms noise overlay every 75-130 seconds
⑩ Ambient color cycle: --cyan slowly drifts between blue-cyan and green-cyan over 70s loop
2026-06-02 00:27:27 +00:00
myron c34d497e9d Fix camera/mic interference: detection runs during TTS, 12s exit threshold, require no recent commands
- Remove isSpeaking outer guard — detection loop now runs always so lastFaceSeen stays current
- While isSpeaking + no face detected: refresh lastFaceSeen to prevent exit timer ticking during TTS
- Raise no-face exit threshold from 3s to 12s — sporadic missed frames no longer kill the session
- Add noCommandMs guard: camera never exits voice mode within 12s of last spoken command
- Voice auto-trigger still respects isSpeaking (wont reactivate mid-response)
2026-06-02 00:15:47 +00:00
myron c91e5b8be7 Face tracking: reactor follows face position via camera
- Smooth lerp animation loop (rAF at 60fps) drives .tb-logo translateX/Y toward face center
- Face X flipped to match mirror (move right = reactor slides right toward you)
- Scan crosshair overlay appears on screen at detected face position with spinning ring
- Reactor glows brighter (drop-shadow) while face tracking is active
- Graceful: coasts back to center when face lost, snaps off cleanly on camera disable
- Video frame is 320x240 mapped to viewport coords for overlay positioning
2026-06-01 23:58:38 +00:00
myron b3a329e81a Add 6 more alive-feeling effects: parallax, sparklines, flash, glitch, alert pulse, hover rise
- Mouse parallax: panels tilt in 3D toward cursor + columns shift depth (perspective:1200px on layout)
- Sparklines: mini 25-point line charts under CPU/mem/disk bars (cyan/green/orange per metric)
- Panel flash: system panel border pulses bright cyan on each data refresh
- Glitch: JARVIS title text does chromatic aberration glitch every 35-60s (random interval)
- Alert pulse: red radial overlay slowly breathes when there are unresolved alerts
- Hover rise: panels lift extra 4px + brighter border on mouse hover
- Bonus: metric bar shimmer (animated light sweep through filled bars)
2026-06-01 23:44:57 +00:00
myron 3297c00a1c Add futuristic floating UI: particles, panel float, HUD corners, scanline sweep, arc reactor, parallel refresh, animated counters
- Ambient particle canvas: 65 nodes with dynamic connection lines (GPU-accelerated)
- Floating panels: translateY oscillation with staggered phases per panel (pure CSS)
- HUD corner brackets on every panel (4-corner L-brackets via CSS ::after gradients)
- Animated grid drift: background-position keyframes give moving-through-space effect
- Scanline sweep: bright horizontal band that slowly scans the full viewport
- Mini arc reactor in top bar: always-on spinning rings + pulsing core
- Parallel API fetches in refreshAll(): Promise.all cuts refresh latency ~3x
- Animated number counters: CPU/mem/disk roll smoothly to new values (ease-out cubic)
2026-06-01 23:39:25 +00:00
myron 02847d5de3 Fix intent placeholders, add alert/agent/deploy action intents, admin search+tester
- Restore {user_title} in ~200 intents where placeholder was stripped (comma-period, em-dash variants)
- Replace 20 hardcoded Mr. Blair with {user_title} token
- Remove duplicate pve_storage and tech_ssh intents
- Add action intents: alerts_show, alerts_count, alerts_clear, agents_offline, agents_all, agents_count, deploy_status, deploy_force, pbx_status, pbx_extension
- Admin KB Intents: add search/filter bar (name/pattern/response + type/status dropdowns)
- Admin KB Intents: add TEST PATTERN button — tests any phrase client-side against full intent list
2026-06-01 23:23:32 +00:00
myron cf95960e57 Add HIDE UNAVAIL toggle to KB Facts page; filter unavailable/empty fact values client-side 2026-06-01 15:18:56 +00:00
myron f0e42cbcbd Style count badges to match agents page (cyan, spaced, X ONLINE / Y TOTAL format) 2026-06-01 14:25:04 +00:00
myron 78c95a508d Add total count badges beside page titles in admin
- KB Facts: shows total fact count (sum across all categories)
- Network Devices: shows online/total count in title
- Home Assistant Entities: shows entity count in title
- Proxmox VMs: shows running/total VM count in title
- KB Intents already had this; no change needed
2026-06-01 14:22:36 +00:00
myron 0caff5db57 Add brightness, media player, siren control + 5 scene keywords
- Add scene keywords: good morning work, master bedroom scene, porch lights (3 variants)
- Add Tier 0a: brightness control handler ("dim X to Y%", "set X to Y%")
- Add Tier 0b: media player on/off/pause for Apple TV and Pioneer receiver
- Add Tier 0c: per-camera siren activate/silence via switch
2026-06-01 14:16:30 +00:00
myron 82e0262a4f fix: escape apostrophe in TODAY'S SCHEDULE string literal — SyntaxError was killing entire main JS, no panels loaded 2026-06-01 10:28:28 +00:00
myron 14bff8e1af fix: remove planner mini panel from main JARVIS page — belongs in admin only 2026-06-01 10:14:19 +00:00
myron 6ba412a886 fix: remove var sessionToken/sessionUser from injected script — conflicted with main script let declarations, killing all JS including logout() 2026-06-01 10:09:14 +00:00
myron 7286b999ff fix: force loginScreen hidden + app visible at HTML level — no JS needed to show dashboard 2026-06-01 10:05:37 +00:00
myron e0fc31332c fix: inject token as JS global (no sessionStorage needed), skip bridge.php, direct login→app 2026-06-01 10:01:00 +00:00
myron 2af5c03f1a fix: use default PHP session (PHPSESSID) not custom name — must match what api.php expects 2026-06-01 09:57:02 +00:00
myron 06a5b92543 fix: PHP entry point with Cache-Control: no-transform — disables Rocket Loader; server-side auth redirect 2026-06-01 09:39:03 +00:00
myron f30f0fdfad revert: restore admin/index.php to pre-login-fix state 2026-06-01 09:30:57 +00:00
myron d4a6d8359e revert: restore index.html to pre-login-fix state, remove all added login files 2026-06-01 09:30:47 +00:00
myron 50452753dc fix: index.php entry point — server-side 302 to login.php, no JS required; _app.html is the actual app 2026-06-01 09:28:39 +00:00
myron 69673685d9 fix: pure PHP login — login.php POSTs to PHP, bridge.php writes token to sessionStorage, zero JS dependency for auth 2026-06-01 09:22:24 +00:00
myron dbe945080d fix: auth guard in <head> — redirect to /login.html before Rocket Loader can defer anything 2026-06-01 09:17:39 +00:00
myron fee412386d fix: login.html — XHR instead of fetch, addEventListener not onclick, no inline handlers Rocket Loader can intercept 2026-06-01 03:59:25 +00:00
myron 389f0fd45e fix: new standalone login.html — script in <head> bypasses all Rocket Loader issues; index.html redirects to login.html when unauthenticated 2026-06-01 03:55:52 +00:00
myron a06b57ea7f fix: convert login form submit listener to named onclick doLogin() — prevents Rocket Loader race condition on form submit 2026-06-01 03:47:23 +00:00
myron c115ed4bb8 fix: bypass Rocket Loader on index.html scripts — form submit listener deferred, login silently reloaded page 2026-06-01 03:42:46 +00:00
myron 85e23f618f fix: bypass Cloudflare Rocket Loader on admin script — doLogin was undefined at click time
data-cfasync=false prevents Rocket Loader from deferring the main script block.
Also added try/catch + button feedback to doLogin so errors show visibly.
2026-06-01 03:26:15 +00:00
myron 5d5eb2fdac feat: complete calendar integration + planner widget + 298 new KB intents
- Add calendar sync route to api.php (/api/calendar → calendar_sync.php)
- Add CALENDAR SYNC tab to admin with feed CRUD (add/edit/delete Google/ICS feeds)
- Add cal_sync_now action to admin for on-demand iCloud/Google sync
- Add cron: calendar_sync.php every 15 min (iCloud CalDAV + ICS feeds)
- Add PLANNER mini panel to index.html (left panel, shows today tasks + appointments)
- Update loadPlannerSummary() to render tasks/appts with priority dots and times
- Seed 298 new KB intents across 37 categories: science, history, tech, geography,
  math, health, food, space, philosophy, psychology, sports, music, film, travel,
  language, literature, finance, productivity, nature, facts, home automation,
  architecture, geopolitics, and more — 543 total intents
2026-05-31 22:47:35 +00:00
myron 1c7a42f68b feat: 224 voice intents seeded; fix KBEngine fillTemplate — user_title, pending_count, system/network facts 2026-05-31 19:58:28 +00:00
myron cfdbd57bce fix: task/appt voice creation — non-greedy trigger strip, bare-date extraction, noon/midnight, book trigger, 900ms TTS mic gap 2026-05-31 19:47:41 +00:00
myron 5b599b1617 fix: voice — any speech = command when awake (no prefix lock), open window on wake, transcript preview in input 2026-05-31 19:39:51 +00:00
myron 2ddce52c9a fix: voice engine rewrite — continuous=false restart-per-utterance, _scheduleRecStart, 12s heartbeat, clean TTS handoff 2026-05-31 19:34:00 +00:00
myron af11d80216 fix: voice mic race condition — onend blocks restart during TTS, clean abort+restart after speech, stuck isSpeaking watchdog 2026-05-31 19:30:42 +00:00
myron 721607cfb0 fix: HA voice control — domain preference scoring, exact match priority, skip unavailable, fresh entity_map 2026-05-31 19:22:40 +00:00
myron 18649c47df feat: full voice intents — overdue/priority/week tasks, next appt, reschedule, cancel, week calendar, email→planner 2026-05-31 19:12:06 +00:00
myron 7c1cfda588 feat: email intelligence — action item detection, task/appt creation, admin EMAIL tab, full voice intents 2026-05-31 18:57:47 +00:00
myron f122de483a feat: JARVIS Planner — tasks/appointments with voice intents, status bar badge, admin CRUD 2026-05-31 16:53:21 +00:00
myron 02d62cbe53 fix: remove double-brace syntax error breaking JS login 2026-05-31 16:44:31 +00:00
myron b0a6f2d2e9 feat: 17s active listen window after command — no prefix needed for follow-ups 2026-05-31 16:38:27 +00:00
myron ab624638a7 feat: two-phase voice — full wake phrase to activate, Jarvis prefix to command 2026-05-31 16:36:48 +00:00
myron 01c6cfe96b fix: mute mic during ElevenLabs TTS to prevent feedback loop; wire isSpeaking 2026-05-31 16:35:44 +00:00
myron aa622e97a5 fix: HA toggles — real-time ha_entities table, optimistic update, renderHATable extracted 2026-05-31 16:34:01 +00:00
myron 795411387c feat: wake word activation, mute toggle mic, silent auto-reload 2026-05-31 16:24:38 +00:00
myron a0661bba14 fix: add missing host-val element — renderSystem was crashing before services/processes render 2026-05-31 16:17:43 +00:00
myron 8d2c1948bb feat: Gmail IMAP email integration with voice intents
- email.php: IMAP reader for Gmail/Outlook/iCloud with 5-min cache
- api.php: add /api/email route
- chat.php: email voice intents — check count, read recent, filter by sender
- config.php: Gmail credentials (gitignored)
2026-05-31 06:20:15 +00:00
myron 18a3d864d3 refactor: merge LOCAL SYSTEM + DO SERVER into single JARVIS SERVER panel 2026-05-31 06:09:31 +00:00
myron 114842e8c5 fix: do_server.php SQL missing quotes on category=sites causing 500 2026-05-31 06:06:54 +00:00
myron 1f90d83073 fix: ha_list reads from ha_entities table (real-time agent data, not 5min cache) 2026-05-31 06:05:45 +00:00
myron a96f8a3f85 feat: ElevenLabs TTS George voice + fix HA toggle optimistic update 2026-05-31 05:58:22 +00:00
myron b080ecb4bd fix: HA admin panel — remove entity ID column, add toggle controls, filter unavailable 2026-05-31 05:51:30 +00:00