Commit Graph

79 Commits

Author SHA1 Message Date
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
myron 0b42e21a1b fix: webhook require path — one level up not two (was causing 500 on all deliveries) 2026-05-31 05:18:41 +00:00
myron 132ac748eb fix: HA panel — table layout, filter unavailable, proper toggles
- Redesign HA list as 4-column table: icon | device name | state | control
- Filter out unavailable/unknown entities; they reappear automatically on next cache refresh
- Replace cluttered flex row with proper grid table — toggle no longer hidden
- Remove ASK button from rows (was eating width and hiding toggle)
- Scene rows get a ▶ RUN button instead of a toggle
- Domain shown as icon column only (no entity_id displayed)
2026-05-31 05:14:31 +00:00
myron 499adadc6d feat: HA smart home control improvements
- stats_cache: swap interesting domains to controllable-only (remove sensors/binary_sensors)
- stats_cache: filter pre-release/camera/HA-addon switches from entity list
- index.html: add visual toggle switch buttons per entity
- index.html: fix scene activation (was returning early; now calls scene/turn_on)
- index.html: remove 8-per-domain cap on entity display
- index.html: add domain icons and unavailable state handling
- index.html: alarm panel arm/disarm toggle logic
2026-05-31 05:05:44 +00:00
myron ca3ae31826 netscan: respect status field from probe payloads (offline phones now correctly marked offline) 2026-05-31 04:43:54 +00:00
myron 705ee4f5a7 netscan: store VoIP SIP registration status in kb_facts when phone probe provides it 2026-05-31 04:38:33 +00:00
myron f007786fe4 Fix services panel: correct services, live refresh loop, last-updated timestamp in footer 2026-05-30 06:46:26 +00:00
myron 4ab72e50b9 Remove username from chat status bar 2026-05-30 06:39:33 +00:00
myron d0f751372c Add Backups tab: daily cron + on-demand trigger + download, 7-day retention 2026-05-30 05:12:13 +00:00
myron 53b1c6b90a Fix agents_list: use JSON_EXTRACT on metric_data instead of non-existent columns 2026-05-30 05:05:02 +00:00