This website requires JavaScript.
7fc262f9c3
Strip emoji from calendar event titles before rendering
tfaour
2026-07-22 22:58:06 -04:00
27cd6b3703
Manual per-calendar color choice for calendar mode
tfaour
2026-07-22 22:30:55 -04:00
ffce798754
Add weather to calendar mode; fix CalDAV events never showing
tfaour
2026-07-22 22:22:11 -04:00
acdb929a99
Move mode picker below device status bar; fix invisible calendar lines; add CalDAV calendar support
tfaour
2026-07-22 22:01:05 -04:00
95d69a5512
Rewrite battery-remaining estimate around per-wake drop rate
tfaour
2026-07-22 21:21:17 -04:00
3a0007118c
Move frame name/mode into the page header; Calendar gets its own tab
tfaour
2026-07-22 21:21:00 -04:00
aa194be09a
Calendar mode polish batch + Today & Tomorrow view
tfaour
2026-07-22 21:20:44 -04:00
716776c3f2
Bump firmware to 1.3.0
v1.3.0
tfaour
2026-07-22 19:07:29 -04:00
0f98d96d25
Untrack .claude/ (editor tooling, not project content)
tfaour
2026-07-22 19:07:08 -04:00
c007acde75
Add calendar frame mode + server-side manage overlay (server)
tfaour
2026-07-22 19:06:49 -04:00
15e37c77cd
Simplify firmware: manage overlay now composited server-side
tfaour
2026-07-22 19:06:49 -04:00
1fa1c68478
Add calendar frame mode data model (migration 7)
tfaour
2026-07-22 19:05:02 -04:00
fc65b19cf2
Bump firmware to 1.2.4
v1.2.4
tfaour
2026-07-22 16:57:34 -04:00
e1bca5a81a
Fix false recharge-cycle detection from a single noisy battery reading
tfaour
2026-07-22 16:51:37 -04:00
845e4f9509
Reduce battery-reading noise with a trimmed-mean ADC sample
tfaour
2026-07-22 16:51:28 -04:00
02934b1d10
Bump firmware to 1.2.3
v1.2.3
tfaour
2026-07-22 16:35:34 -04:00
f24c3b9c8e
Gate firmware auto-check behind control+CSRF; skip faces with a null bounding box
tfaour
2026-07-22 16:21:37 -04:00
38944a1287
Fix stack buffer overflow in face-labels parsing
tfaour
2026-07-22 16:21:23 -04:00
5b4fdbe330
Scope thumbnail access to the frame's own photos; validate Gitea repo URL
tfaour
2026-07-22 12:57:11 -04:00
dcbc71e683
Show "Not enough data yet" instead of hiding the battery-estimate row
tfaour
2026-07-22 11:35:38 -04:00
f4d2a23e8a
Drop "On battery for", clarify the remaining-estimate label
tfaour
2026-07-22 11:29:17 -04:00
55b53d5bb2
Fix migration runner crashing on a genuinely fresh database
tfaour
2026-07-22 10:48:36 -04:00
60fcfca4a0
Make the device status card always visible, not just on Stats
tfaour
2026-07-22 10:46:05 -04:00
996e06e2bc
Bump firmware to 1.2.2
v1.2.2
tfaour
2026-07-22 10:32:46 -04:00
d324bc4a57
Read battery once, after the picture is pushed, not at boot
tfaour
2026-07-22 10:32:20 -04:00
ac4b57e611
Bump firmware to 1.2.1
v1.2.1
tfaour
2026-07-22 09:48:34 -04:00
462b558bef
Fix captive portal redirect: visible countdown, keep AP up until it finishes
tfaour
2026-07-22 09:45:59 -04:00
9f9ad34a40
Fix stray tab whitespace in DEFAULT_PALETTE_RGB
tfaour
2026-07-22 08:46:46 -04:00
e48ac50ea1
Color/contrast/dithering sliders + before/after render preview
tfaour
2026-07-22 08:45:42 -04:00
83c59af1dd
Update server/app/image_pipeline.py
tfaour
2026-07-22 01:33:56 -04:00
49bc9f9ec9
Display mode: crop to fill, crop to faces, stretch to fill, shrink to fit
tfaour
2026-07-22 01:32:52 -04:00
e802882fc1
Palette calibration: precise hex/RGB inputs instead of a color picker
tfaour
2026-07-22 01:26:03 -04:00
5b11f2accb
Per-frame palette calibration + sidebar battery indicator
tfaour
2026-07-22 01:19:06 -04:00
c1c803b497
SMTP: implicit TLS (port 465) support + fix quarantined mail
tfaour
2026-07-22 01:07:50 -04:00
8e10ca540e
Add SMTP email: password reset + per-frame battery-threshold alerts
tfaour
2026-07-22 00:51:54 -04:00
a45444ab4b
Bump firmware to 1.2.0
v1.2.0
tfaour
2026-07-22 00:34:07 -04:00
8ac3fc0de3
Redesign phase D: sidebar app shell, per-frame tabs, namespaced API
tfaour
2026-07-21 23:56:18 -04:00
683e3881b1
Redesign phase C: claim flow, limited manage page, device protocol
tfaour
2026-07-21 23:44:22 -04:00
1e8d6803ac
Redesign phase B: users, sessions, first-run setup, admin panel
tfaour
2026-07-21 23:28:14 -04:00
9fbbb8ed2b
Redesign phase A: SQLite storage, per-frame data model, device identity
tfaour
2026-07-21 23:21:38 -04:00
6a0072e383
Add a "Check now" button to the Firmware update card
tfaour
2026-07-21 22:29:05 -04:00
fdb5dc7ab3
Bump firmware to 1.1.2a (test build)
v1.1.2a
tfaour
2026-07-21 22:22:04 -04:00
0e50529343
Bump firmware to 1.1.2
v1.1.2
tfaour
2026-07-21 22:17:12 -04:00
b988799fb3
Make the firmware repo URL Edit button smaller/inline-sized
tfaour
2026-07-21 22:14:55 -04:00
b8fd8f4ad4
Trim firmware card verbosity; Gitea repo URL becomes text+Edit once set
tfaour
2026-07-21 22:10:04 -04:00
7ea5c9a4fb
Consolidate firmware UI; server learns board from the device, not a picker
tfaour
2026-07-21 21:58:59 -04:00
ad1fa99064
Fix firmware release workflow: build against ESP-IDF v6.0, not v5.3
v1.1.1
tfaour
2026-07-21 21:41:36 -04:00
ecc5b8d197
Fix firmware release workflow: docker cp instead of a bind-mount
tfaour
2026-07-21 21:35:30 -04:00
9e630c0c6e
Fix firmware release workflow: run checkout outside the ESP-IDF container
tfaour
2026-07-21 21:32:00 -04:00
ca06f8a8c7
Bump firmware to 1.1.1
tfaour
2026-07-21 19:39:27 -04:00
94d67f7767
Firmware CI releases + Gitea auto-update in the server
tfaour
2026-07-21 19:25:08 -04:00
4cf75b4b11
Update server/app/image_pipeline.py
tfaour
2026-07-21 14:16:25 -04:00
b95d03f56a
Server web UI: make photo-card dragging actually feel like dragging
tfaour
2026-07-21 00:22:38 -04:00
8b51f8285f
Server web UI: rebalance the two-column layout
tfaour
2026-07-21 00:10:31 -04:00
759c042f92
Server: stop the photo from advancing during quiet hours too
tfaour
2026-07-21 00:05:46 -04:00
475888306e
Server: lifetime stats counters in a collapsed web UI section
tfaour
2026-07-21 00:00:37 -04:00
1b11067da7
Server web UI: stop text selection from firing during photo-card drags
tfaour
2026-07-20 23:53:42 -04:00
fa0ecb5d6d
Merge pull request 'Server web UI: modern themeable layout with dark mode, timezone moved into config' (#1 ) from worktree-golden-imagining-lightning into main
tfaour
2026-07-20 23:50:06 -04:00
fdcb444d57
Server web UI: modern themeable layout with dark mode, timezone moved into config
tfaour
2026-07-20 23:48:41 -04:00
4f4b2844e6
Firmware: WiFi fast-connect cache (skip scan + DHCP on the next wake)
tfaour
2026-07-20 23:46:57 -04:00
fa47b88473
Fix quiet-hours description text overlapping the end-time input
tfaour
2026-07-20 23:28:52 -04:00
fd9516f5d1
Server: quiet hours (no wake overnight), zero firmware changes needed
tfaour
2026-07-20 23:25:43 -04:00
a7b6c6d77a
Server: permanent battery history log + graph in the web UI
tfaour
2026-07-20 23:21:20 -04:00
594b0bd513
Server web UI: live-update the page without a manual refresh
tfaour
2026-07-20 23:12:42 -04:00
37145ef135
Docs: clarify battery divider resistor value is flexible, not fixed at 200k
tfaour
2026-07-20 23:08:31 -04:00
ce98c564e8
Bump firmware to 1.0.1
tfaour
2026-07-20 22:31:07 -04:00
ca0ca9d015
Firmware: enable battery ADC reporting by default for the XIAO build
tfaour
2026-07-20 22:29:17 -04:00
a3ab6c5f13
Firmware: OTA client, dual-board build (devkit/XIAO), version reporting, XIAO fixes
tfaour
2026-07-20 22:24:15 -04:00
f7eaadcbed
Server: device status panel (last seen, battery history, runtime estimate) + firmware hosting for OTA
tfaour
2026-07-20 22:23:59 -04:00
015993af00
Add battery level reporting (Kconfig-gated) and display orientation
tfaour
2026-07-19 22:11:14 -04:00
86d5852f8e
Add remove-from-rotation, fix mobile scroll-vs-drag conflict
tfaour
2026-07-19 18:09:30 -04:00
5588ce3e1b
HTTPS trust: use the public CA bundle + one missing root, not a pinned cert
tfaour
2026-07-19 17:38:39 -04:00
4ffd9e852c
Raise MAX_QUEUE_TARGET_LEN from 50 to 5000
tfaour
2026-07-19 17:38:21 -04:00
5e86a20e8b
Fix config read-modify-write race and two firmware buffer edge cases
tfaour
2026-07-19 15:20:26 -04:00
d5de882b1e
Fix stale documentation found by a doc-accuracy audit
tfaour
2026-07-19 15:20:12 -04:00
aef8a10029
Make the upcoming-queue drag reorder work on touch devices
tfaour
2026-07-19 12:59:53 -04:00
3868d357ff
Add back-photo button; consolidate reset/manage onto one hold-duration button
tfaour
2026-07-19 12:53:26 -04:00
bb4f473bfa
Fix HTTPS handshake: trust the actual cert the proxy presents, not Origin CA
tfaour
2026-07-19 12:09:08 -04:00
62cf907d88
Extend the access token to every endpoint, not just the web UI
tfaour
2026-07-19 09:52:01 -04:00
6c7468a36e
Add HTTPS support and a management-token gate for the web UI
tfaour
2026-07-19 09:42:38 -04:00
461beed04f
Fix: release GPIO hold on every button pin before reconfiguring it
tfaour
2026-07-19 09:22:40 -04:00
8daafb0f81
Document that the Immich API key needs sharedLink.create
tfaour
2026-07-19 09:13:56 -04:00
e870898490
Refine manage overlay: US/CAN state abbreviations, share-QR caption, and an escalating second menu with named-face labels
tfaour
2026-07-19 09:09:06 -04:00
a358045cea
Fix "Show next" staleness bug; add location/date/share-QR to manage overlay
tfaour
2026-07-19 01:28:25 -04:00
42d7c09f97
Make the upcoming-photos queue length user-configurable
tfaour
2026-07-19 01:03:05 -04:00
de41b00210
Web UI: grid layout, drag-and-drop reorder, and "show next" for upcoming photos
tfaour
2026-07-19 00:57:13 -04:00
f74085cedf
Add third button: "scan to manage" QR overlay on the current photo
tfaour
2026-07-19 00:50:07 -04:00
c4cd9b73e8
Invalidate the tracked display CRC when a non-photo screen is drawn
tfaour
2026-07-18 23:59:48 -04:00
b9649c35ec
Skip redundant panel refreshes and fetch the image before the config check
tfaour
2026-07-18 23:51:01 -04:00
d395cf3bb9
Add two physical buttons: factory-reset and next-photo
tfaour
2026-07-18 23:28:36 -04:00
7013311249
Add READMEs, docs, and LICENSE for publishing
tfaour
2026-07-18 16:47:30 -04:00
51fbd0657c
Never physically refresh the panel with a short/wrong-size frame
tfaour
2026-07-18 16:38:43 -04:00
55d4b28f37
Clarify setup screen step headings
tfaour
2026-07-18 16:27:22 -04:00
012c6dda8e
Revert "Add two ways back into provisioning: RST press and repeated server failure"
tfaour
2026-07-18 16:24:38 -04:00
bd72fdad71
Remove Immich URL/API key from the config page
tfaour
2026-07-18 16:14:38 -04:00
d32236d832
Add two ways back into provisioning: RST press and repeated server failure
tfaour
2026-07-18 16:10:03 -04:00
e7f096ac23
Support Immich URL/API key via docker-compose env vars
tfaour
2026-07-18 16:05:06 -04:00
2cd7283ce9
Fix Gitea Actions registry auth: use a PAT instead of the auto token
tfaour
2026-07-18 15:50:11 -04:00
f2a374b363
Make face-aware crop minimal-shift instead of full re-centering
tfaour
2026-07-18 15:46:01 -04:00
21af41ff66
Fetch refresh interval from server instead of hardcoding it
tfaour
2026-07-18 15:34:37 -04:00