snowspeeder
d735ee72fa
feat: consolidate iOS with API and web preserving history
Rebuild & Deploy / rebuild (push) Failing after 23s
2026-10-04 07:23:49 -04:00
snowspeeder
15c6389ffb
feat: center square Hope presence and guide secure certificate setup
2026-10-01 18:02:14 -04:00
snowspeeder
2aedea84b5
feat: provision private Hermes assistants for authenticated Hope accounts
2026-10-01 13:30:18 -04:00
snowspeeder
436b3fc8b1
refactor: split music streaming into Hope Music
...
Rebuild & Deploy / rebuild (push) Successful in 2m7s
Move the media server, downloader, library volume, and browser player to the
standalone hope-media-music product. Keep Hope's music tools as a thin HTTP
client of the LAN service on port 8094.
Use a stable voice-room player scope instead of ephemeral LiveKit room names.
The agent now owns the conversation handshake: fresh reported playback mutes
its input, joining pauses music, and the last participant leaving resumes only
music it paused. Peer failures remain non-fatal.
Also move the voice deploy workflow onto the active Unraid Gitea runner and
remove yt-dlp/ffmpeg/media health and volume dependencies from the image.
2026-09-12 06:35:15 -04:00
snowspeeder
297fbaa19c
chore: scaffold Voice iOS app (Phase 0)
...
XcodeGen project, SwiftUI iOS 17 target dev.shane.voice, SPM
livekit-client-swift 2.16.0, mic usage + ATS LAN exception in
Info.plist, placeholder conversation screen and Settings with
server URL field.
2026-08-29 17:15:27 -04:00
snowspeeder
f534b8ccb5
chore: ignore media library runtime data, keep directory via .gitkeep
2026-08-29 13:23:21 -04:00
Shane
a1d59580f7
fix: ChatContext is not a sequence — use .items for len/list; add test suite
...
Bug fix:
- GemmaLLM.chat(): len(chat_ctx) → len(chat_ctx.items)
- GemmaLLM._compact_context(): list(chat_ctx) → list(chat_ctx.items)
ChatContext in livekit-agents 1.7 is not iterable or sized directly;
it exposes an .items list. The TypeError was silently killing all LLM
responses (agent heard user but never spoke back).
Test suite (tests/):
- test_web_ui.py: static assets, token endpoint, LiveKit WS proxy
- test_llm_api.py: completion, tool calling, thinking-disabled latency, streaming
- test_mcp_tools.py: weather (Fahrenheit), time, memory, skills — all via
docker exec + in-container MCP client
- test_agent_integration.py: process alive, worker registered, supervisord,
container health, LiveKit API
- test_compaction.py: size-triggered compaction, system prompt preservation,
short-context no-op
- conftest.py: shared fixtures (HTTPS client, token, LLM, docker exec helpers)
- Run with: .venv-tests/bin/python -m pytest tests/ -v
2026-08-22 17:09:29 -04:00
Shane
d3f9f2c4ed
feat: implement full UPDATE.md review — critical fixes, UI upgrade, infra hardening
...
Critical frontend bugs:
- Add TrackSubscribed/attach() for agent audio playback
- Fix decodeToString TypeError with TextDecoder
- XSS fix: innerHTML -> textContent in addMessage
- Fresh token on reconnect retry
Agent fixes:
- GemmaLLM subclass with reasoning_content fallback wrapper
- Disable Gemma 4 thinking mode via chat_template_kwargs (6.8s -> 0.5s)
- Remove duplicate session-level LLM
- Replace global _active_session with closure-based handler
- asyncio.create_task instead of deprecated get_event_loop
- Explicit silero VAD, topic filter on voice-control
Infra:
- supervisord: all programs log to /dev/stdout
- Dockerfile: uv sync --frozen with committed uv.lock
- nginx config moved to real file, token_server.py no longer served
- entrypoint.sh: cert persisted, only regenerated on IP change
- compose: healthcheck + cert volume
- token_server: CORS removed, room pinned to voice-room
UI upgrade:
- Orb UI with state machine (idle/connecting/listening/thinking/speaking)
- Streaming transcripts via lk.transcription text streams
- Barge-in hint, thinking chip, audio visualizer
- Glassmorphism, chat bubbles, settings sheet, light mode
- PWA manifest, favicon, wake-lock, safe-area insets
- localStorage conversation history
Docs: AGENTS.md drift fixed
2026-08-22 15:21:59 -04:00
Shane
f7ff1c61ac
chore: init project with AGENTS.md, .env.example, .gitignore
2026-08-22 07:39:54 -04:00