Gan, Jimmy
db037eeb5c
fix: use flex layout in voice mode to prevent page scroll competing with xterm
Deploy Dashboard / deploy (push) Successful in 57s
2026-02-26 16:57:29 +08:00
Gan, Jimmy
afe97889e2
fix: filter terminal UI chrome (shortcuts, prompts, keybindings) from TTS
Deploy Dashboard / deploy (push) Successful in 59s
2026-02-26 16:40:34 +08:00
Gan, Jimmy
4772417464
fix: compact voice mode bottom sheet, hide title, inline mic+transcript
Deploy Dashboard / deploy (push) Successful in 1m26s
2026-02-26 16:25:35 +08:00
Gan, Jimmy
46dfd8c7ac
feat: add TTS voice picker to voice mode bottom sheet
Deploy Dashboard / deploy (push) Successful in 1m8s
2026-02-26 16:22:16 +08:00
Gan, Jimmy
f218d8df55
fix: TTS reads output in auto mode (don't skip when listening)
Deploy Dashboard / deploy (push) Successful in 1m0s
2026-02-26 16:12:36 +08:00
Gan, Jimmy
cf8a5a65b2
feat: voice mode bottom sheet with hold/tap/auto talk modes
Deploy Dashboard / deploy (push) Successful in 1m2s
2026-02-26 16:03:43 +08:00
Gan, Jimmy
f83058c41d
fix: type STT text char-by-char, increase TTS debounce to 2s
Deploy Dashboard / deploy (push) Successful in 1m0s
2026-02-26 15:50:17 +08:00
Gan, Jimmy
0f05890d12
fix: iOS TTS unlock on user gesture, use \r for terminal Enter
Deploy Dashboard / deploy (push) Successful in 1m0s
2026-02-26 15:45:27 +08:00
Gan, Jimmy
fca929df9f
fix: voice controls reactivity, disable mic on unsupported browsers
Deploy Dashboard / deploy (push) Successful in 55s
2026-02-26 15:40:15 +08:00
Gan, Jimmy
fa4da3868e
feat: add voice mode (STT/TTS) to terminal page
Deploy Dashboard / deploy (push) Successful in 1m10s
2026-02-26 15:35:43 +08:00
Gan, Jimmy
2f98c1f335
Add n8n docker-compose and include in backup
2026-02-26 14:58:42 +08:00
Gan, Jimmy
6675d7b7d4
feat: n8n via HTTPS subdomain on NAS Caddy
Deploy Dashboard / deploy (push) Successful in 1m3s
2026-02-26 14:46:29 +08:00
Gan, Jimmy
70b77a7777
feat: add n8n to dashboard sidebar
Deploy Dashboard / deploy (push) Successful in 1m10s
2026-02-26 13:35:12 +08:00
Gan, Jimmy
879ae4b6a3
feat: smart LAN detection for sidebar links via X-Forwarded-For and router probe
2026-02-26 03:34:47 +08:00
Gan, Jimmy
22e9066ffe
feat: terminal tabs with on-demand connections and Claude Dev host
Deploy Dashboard / deploy (push) Successful in 2m22s
2026-02-26 02:59:25 +08:00
Gan, Jimmy
69ed0f981c
fix: support port 8443 origin for WebAuthn passkeys and CORS
Deploy Dashboard / deploy (push) Successful in 35s
2026-02-26 02:00:29 +08:00
Gan, Jimmy
a95bac7f7c
feat: update Navidrome remoteHref to use NAS Caddy port 8443
Deploy Dashboard / deploy (push) Successful in 1m4s
2026-02-26 01:56:38 +08:00
jimmy
c91954e33f
revert test commit
Deploy Dashboard / deploy (push) Successful in 30s
2026-02-25 13:46:29 +00:00
jimmy
9fb78c2b71
test: verify Claude Code on NAS can build+deploy
Deploy Dashboard / deploy (push) Successful in 48s
2026-02-25 13:40:11 +00:00
Gan, Jimmy
a968364f18
CI: add build step to deploy workflow
...
- Clone from local Gitea instead of actions/checkout
- Build with legacy builder (DOCKER_BUILDKIT=0) for Docker mirror support
- Use npm China mirror (registry.npmmirror.com) in Dockerfile
- Combined npm install+build in single RUN step
- Removed stale proxy env vars
2026-02-25 21:14:00 +08:00
Gan, Jimmy
dcc078addd
Add CLAUDE.md for shared project context
2026-02-25 02:09:04 +08:00
Gan, Jimmy
adaaee1350
Fix sidebar links: use Tailscale IP when accessed via public domain
Deploy Dashboard / deploy (push) Successful in 31s
2026-02-25 00:22:54 +08:00
Gan, Jimmy
6ae0cab143
Reorganize sidebar: Main/Media/Tools categories, Settings to bottom
Deploy Dashboard / deploy (push) Successful in 30s
2026-02-25 00:16:49 +08:00
Gan, Jimmy
4289e98b7a
Fix sidebar: add overflow scroll for small screens
Deploy Dashboard / deploy (push) Successful in 38s
2026-02-25 00:09:49 +08:00
Gan, Jimmy
facda4eadd
Clean up: remove stale scripts/docs, fix debug prints, update PLAN.md
Deploy Dashboard / deploy (push) Successful in 37s
2026-02-24 10:14:48 +08:00
Gan, Jimmy
bbf187fd27
Update LAN IP to 192.168.31.221 for Sidebar links
Deploy Dashboard / deploy (push) Successful in 55s
2026-02-24 01:46:07 +08:00
Gan, Jimmy
53cf101307
Phase 9: backup script + Telegram alerts; add Phase 13 placeholder; fix OpenClaw ANTHROPIC_BASE_URL
2026-02-22 20:36:12 +08:00
Gan, Jimmy
4310ae5fee
Add Audiobookshelf, Stirling PDF, Vaultwarden to sidebar; update PLAN.md
Deploy Dashboard / deploy (push) Successful in 1m32s
2026-02-22 20:13:39 +08:00
Gan, Jimmy
dd54c41646
Fix storage display: deduplicate volumes by device
Deploy Dashboard / deploy (push) Successful in 31s
2026-02-22 18:37:49 +08:00
Gan, Jimmy
c081e87a5e
Fix OpenClaw: auto-include gateway token in dashboard link
Deploy Dashboard / deploy (push) Successful in 48s
2026-02-22 18:30:34 +08:00
Gan, Jimmy
edcaea61f0
Add container health status, multi-volume storage, auto-refresh Overview
Deploy Dashboard / deploy (push) Successful in 35s
2026-02-22 17:11:17 +08:00
Gan, Jimmy
5023137d21
Smart LAN routing for Navidrome sidebar link
Deploy Dashboard / deploy (push) Successful in 34s
2026-02-22 16:59:33 +08:00
Gan, Jimmy
b8733f31f9
Fix passkey login on non-HTTPS connections
Deploy Dashboard / deploy (push) Successful in 32s
2026-02-22 16:52:27 +08:00
Gan, Jimmy
bf15dad061
Smart LAN detection for sidebar service links
Deploy Dashboard / deploy (push) Successful in 31s
2026-02-22 16:45:31 +08:00
Gan, Jimmy
c280a64d07
Replace Emby with Jellyfin in sidebar
Deploy Dashboard / deploy (push) Successful in 42s
2026-02-22 16:28:00 +08:00
Gan, Jimmy
df01b3a452
Fix Settings page dark mode styling
Deploy Dashboard / deploy (push) Successful in 28s
2026-02-22 15:03:36 +08:00
Gan, Jimmy
db50b18607
Add Speedtest to sidebar, set up on port 8080
Deploy Dashboard / deploy (push) Successful in 2m2s
2026-02-22 14:57:47 +08:00
Gan, Jimmy
13eec52cc4
Fix audit log timezone to UTC+8
Deploy Dashboard / deploy (push) Successful in 25s
2026-02-22 12:42:21 +08:00
Gan, Jimmy
eb3391cec4
Categorize audit log by threat level with filtering UI
Deploy Dashboard / deploy (push) Successful in 26s
2026-02-22 12:38:59 +08:00
Gan, Jimmy
8e8f465b40
Add audit log viewer to Settings page
Deploy Dashboard / deploy (push) Successful in 28s
2026-02-22 12:34:21 +08:00
Gan, Jimmy
ffac6f47bf
Show passkey names and dates, add individual delete
Deploy Dashboard / deploy (push) Successful in 31s
2026-02-22 12:20:05 +08:00
Gan, Jimmy
888d3e5c49
Add PublicKeyCredential guard for passkey registration
Deploy Dashboard / deploy (push) Successful in 35s
2026-02-22 11:44:02 +08:00
Gan, Jimmy
9683cd3165
Add security improvements: refresh tokens, passkeys, CSP, audit logging, TOTP encryption
...
Deploy Dashboard / deploy (push) Successful in 1m26s
- Shorten access token to 30min with 7-day refresh token flow
- Add WebAuthn passkey registration and login with TOTP fallback
- Add Content-Security-Policy header
- Add audit logging middleware to /volume1/docker/nas-dashboard/audit.log
- Block /volume1/docker/ in files endpoint
- Encrypt TOTP secret at rest with Fernet (derived from SECRET_KEY)
- New deps: py_webauthn, cryptography
2026-02-22 11:04:40 +08:00
Gan, Jimmy
8392b49bb7
Add __pycache__ to gitignore and remove duplicates
2026-02-22 10:05:37 +08:00
Gan, Jimmy
bcf994e6e3
Fix Navidrome sidebar link to use music.jimmygan.com
Deploy Dashboard / deploy (push) Successful in 17s
2026-02-21 11:20:56 +08:00
Gan, Jimmy
c5fcb9bc64
Add CORS, rate limiting, security headers, and files endpoint protection
Deploy Dashboard / deploy (push) Successful in 18s
2026-02-21 11:18:29 +08:00
Gan, Jimmy
52ca6eb5d4
Fix CI: use --pull never instead of --no-pull
Deploy Dashboard / deploy (push) Successful in 1m15s
2026-02-21 11:16:07 +08:00
Gan, Jimmy
538d306902
Fix CI: remove checkout step that requires GitHub access
Deploy Dashboard / deploy (push) Failing after 25s
2026-02-21 11:14:04 +08:00
Gan, Jimmy
08f7ba5c3c
Fix CI: add --no-pull to avoid Docker Hub pull failure
Deploy Dashboard / deploy (push) Failing after 3m4s
2026-02-21 11:09:52 +08:00
Gan, Jimmy
d3ccca52f0
Use docker save/load for cross-build deploy from M1 to NAS
Deploy Dashboard / deploy (push) Failing after 2m7s
2026-02-21 11:05:00 +08:00