Commit Graph

  • b355572a78 fix(render): V2 panel ribbon-at-bottom mounting compensation master football2801 2026-05-17 13:14:06 -04:00
  • 019a3363c5 feat(design): v2 becomes the default — drop beta conversation football2801 2026-05-15 20:22:18 -04:00
  • c794878e5e polish(design-v2): Manage button bar more obviously button-like football2801 2026-05-15 17:07:54 -04:00
  • 99b3fb9e59 polish(design-v2): library tile pops above harbor backdrop football2801 2026-05-15 17:06:24 -04:00
  • 25f698f067 polish(design-v2): library tile is one connected card, Manage feels like a button football2801 2026-05-15 17:04:27 -04:00
  • 59f5e6e0eb polish(design-v2): settings reorder + section cards + cog + yellow active football2801 2026-05-15 16:51:03 -04:00
  • 1320b1e4b2 fix(brand): yellow V in TopNav wordmark football2801 2026-05-15 16:40:58 -04:00
  • d554951077 fix(design-v2): !important on top-nav__tabs hide at mobile/tablet football2801 2026-05-15 15:59:40 -04:00
  • f27c00b965 fix(design-v2): show top nav at mobile/tablet (slim brand bar) football2801 2026-05-15 15:58:08 -04:00
  • c0f6ba2651 fix(design-v2): make body bg transparent so harbor pseudo shows through football2801 2026-05-15 15:51:18 -04:00
  • b8d120e74c chore(devices): TEMP power_telemetry at error level to flush fingers_crossed football2801 2026-05-15 15:50:43 -04:00
  • 828332f740 design: lighten v2 overlay so the harbor is actually visible football2801 2026-05-15 15:50:12 -04:00
  • d37f5a9538 design: bring back the Camogli harbor backdrop in v2 football2801 2026-05-15 15:49:09 -04:00
  • 7dab3fd7c5 remove(design): drop 'a frame, gifted · v 0.4' tagline from side rail football2801 2026-05-15 15:48:16 -04:00
  • d7889be25a fix(design-v2): side rail footer pushed to bottom football2801 2026-05-15 15:41:52 -04:00
  • 29cd5a4775 fix(design-v2): !important on side rail subtitle + footer display football2801 2026-05-15 15:40:13 -04:00
  • 0bc6f389cc fix(design-v2): side rail subtitle + footer signature + theme swatch harbor football2801 2026-05-15 15:38:42 -04:00
  • 7081d2bee7 chore(devices): TEMP unconditional power_telemetry log + all X- headers football2801 2026-05-15 15:32:04 -04:00
  • 0489028486 refactor(design): single source of truth — wevisto-design.css football2801 2026-05-15 15:24:45 -04:00
  • 0e4d78471b fix(design-v2): apply v2 styles to login template football2801 2026-05-15 15:19:41 -04:00
  • 645291c724 fix(design-v2): match approved mockups — solid navy, side rail, editorial type football2801 2026-05-15 14:55:19 -04:00
  • 4f78ed8897 fix(pwa): manifest background_color → navy to kill the white frame football2801 2026-05-15 14:46:08 -04:00
  • 77c51586e8 feat(brand): V-viewfinder 3a — the approved rebrand (was: split-W) football2801 2026-05-15 14:42:00 -04:00
  • 5e8d9efb7b fix(pwa): cache-bust icon link tags (?v=20260515-3a) football2801 2026-05-15 14:37:56 -04:00
  • 8ae4a2fd5a chore(devices): TEMP log power-monitor telemetry headers from firmware football2801 2026-05-15 14:15:50 -04:00
  • 76c72f69d8 fix(design-v2): theme swatches preview their own dusk football2801 2026-05-15 14:05:33 -04:00
  • b53c0593c0 fix(design-v2): visibility polish — stronger glass + themed nav chrome football2801 2026-05-15 14:02:37 -04:00
  • a302ac09b4 feat(design): v2 opt-in (atmospheric dusks) — Settings toggle, cookie-mirrored football2801 2026-05-15 12:28:44 -04:00
  • 5bb8289a54 feat(ui): v1 desktop responsive — top app bar + content max-widths football2801 2026-05-15 12:17:49 -04:00
  • 81effca22b Revert "feat(brand): V-viewfinder favicon set (replaces split-W on photo)" football2801 2026-05-15 10:35:21 -04:00
  • e7b97561c1 feat(brand): V-viewfinder favicon set (replaces split-W on photo) football2801 2026-05-15 10:28:09 -04:00
  • 3bd0b9a5a1 design: favicon v2 (V-centric) + logo-placement mockups football2801 2026-05-15 10:25:09 -04:00
  • 01b6007b1c design: atmospheric redesign mockups (login + SPA, six dusks) football2801 2026-05-15 09:44:26 -04:00
  • 6c9959c00d fix(pwa): serve apple-touch-icon + favicons from root, add sizes hint football2801 2026-05-15 00:48:01 -04:00
  • 40581cb98b feat(brand): wire new favicon set into every standalone Twig template football2801 2026-05-15 00:43:29 -04:00
  • a7e7b96465 feat(brand): split-W PWA icons + favicons (replaces purple-star placeholder) football2801 2026-05-15 00:42:15 -04:00
  • e7e9202a11 feat(brand): official WeVisto logo + linked badge on user-facing pages football2801 2026-05-14 22:33:28 -04:00
  • 2637eb19cd feat(brand): help page references WeVisto-XXXX AP SSID football2801 2026-05-14 22:03:15 -04:00
  • 9c29788210 feat(brand): logo placeholder + smoke.sh defaults to wevisto.com football2801 2026-05-14 21:51:43 -04:00
  • db80ea5262 feat(brand): swap recipient-facing pictureFrame strings to WeVisto football2801 2026-05-14 21:42:50 -04:00
  • 62cd3f57df chore(env): set MAILER_SENDER to noreply@wevisto.com football2801 2026-05-14 21:27:57 -04:00
  • dd89b3d934 feat(brand): switch user-facing copy + Mercure topic prefix to wevisto.com football2801 2026-05-14 21:27:07 -04:00
  • 38ea9b3d06 fix(device-image): honor X-Draw-Pending to skip rotation during recovery football2801 2026-05-14 17:43:13 -04:00
  • f6321412aa test(frontend): cover ManageImageSheet debounce, StickerTray, PWA-install paths football2801 2026-05-14 16:25:05 -04:00
  • 409f51cc3e copy(crop): mention the recrop tool in the orientation-mismatch chip football2801 2026-05-14 15:41:08 -04:00
  • 45e80cf4c0 fix(manage-sheet): clearer copy + visual hierarchy in row controls football2801 2026-05-14 15:31:07 -04:00
  • 84642ed13f feat(library): photo + status badge + ManageImageSheet (Concept A) football2801 2026-05-14 15:26:41 -04:00
  • 9854688a49 docs(mockups): static HTML wireframes for Library scaling concepts football2801 2026-05-14 15:08:18 -04:00
  • a511b89564 fix(library): show full photo in each grid thumb (square + contain) football2801 2026-05-14 14:40:49 -04:00
  • ad0d6c572c fix(home): preview locks aspect to panel dims + object-fit so it never overflows football2801 2026-05-14 14:30:16 -04:00
  • bea25098a0 revert(render): drop A/B tuning experiments; back to baseline pipeline football2801 2026-05-14 14:14:29 -04:00
  • 89ba3515ac experiment(render): revert BLUE shift; warm WHITE palette to (255,248,230) football2801 2026-05-14 14:07:24 -04:00
  • 324f1b2641 experiment(render): revert blue_mul; shift BLUE palette target to (8,32,220) football2801 2026-05-14 14:03:25 -04:00
  • 488fc3d0f4 experiment(render): revert sat/gamma/blur to baseline; blue-channel ×0.95 football2801 2026-05-14 13:54:11 -04:00
  • a37edcb6c7 experiment(render): revert FS + add pre-dither blur 0.6; A/B vs frozen baseline football2801 2026-05-14 13:42:54 -04:00
  • 2f3527aaf9 tool(render): app:render-compare for FS vs Riemersma A/B on the panel football2801 2026-05-14 13:36:12 -04:00
  • f3bf49ba1d experiment(render): Riemersma dither to stop sky→face blue bleed football2801 2026-05-14 13:29:46 -04:00
  • 1ebc9b615d experiment(render): extract tunables + gamma 1.2, saturation 115% football2801 2026-05-14 13:22:06 -04:00
  • 82a42011d8 fix(upload): persistent file <input> to survive iOS PWA cold launch render-baseline-2026-05-14 football2801 2026-05-14 13:02:26 -04:00
  • e57e711fcc chore(build): rebuild bundle for v2 crop fix + tighten Device.model football2801 2026-05-14 12:29:12 -04:00
  • 081ca83613 fix(v2): preview rotation + crop aspect for 13.3" hardware football2801 2026-05-14 12:02:39 -04:00
  • b286a1f241 feat(devices): DeviceModel::V2 for Waveshare 13.3" Spectra-6 football2801 2026-05-13 15:53:59 -04:00
  • 2adb07518c feat(account): change-password endpoint + Settings modal football2801 2026-05-09 15:25:54 -04:00
  • bdb717de2e chore(build): drop unused imports + rebuild bundle football2801 2026-05-09 15:18:29 -04:00
  • 5a0db3cd60 fix(uploader,setup): beta-test polish — crop overlay, sticker delete, emoji keyboard, copy football2801 2026-05-09 15:17:06 -04:00
  • 00121aaec9 feat(pwa): installable app — manifest + SW + Settings install button football2801 2026-05-09 13:49:12 -04:00
  • 2be153a103 feat(help): public /help setup-and-troubleshooting page football2801 2026-05-09 11:06:42 -04:00
  • f30a6a8f87 fix(devices): bootstrap-bypass when device sends no X-Current-Image-Id football2801 2026-05-08 19:01:56 -04:00
  • f777c790fa chore(home): drop the per-frame settings sheet logout link football2801 2026-05-08 18:53:56 -04:00
  • 08d0968af0 feat(setup): post-link redirects to SPA so first-setup matches live UI football2801 2026-05-08 18:51:31 -04:00
  • ff1ae79824 docs(reset): "hold until the screen starts to flash" terminology football2801 2026-05-08 18:41:33 -04:00
  • a1a4537c83 fix(home): remove confirmation is now a centered modal popup football2801 2026-05-08 16:25:11 -04:00
  • e4f811581a feat(setup): noon-daily default + force-refresh hint + inline remove confirm football2801 2026-05-08 16:19:51 -04:00
  • 6b13312fdd feat(devices): X-Just-Provisioned gate so reset devices can't leak prior owner's photos football2801 2026-05-08 16:05:32 -04:00
  • 77f54dc6f5 chore(ddev): ddev tests now also runs npm run build football2801 2026-05-08 15:50:46 -04:00
  • db67299224 chore(build): rebuild frontend with the Remove-frame button + Mercure delete sentinel football2801 2026-05-08 15:50:16 -04:00
  • 920de623a0 feat(devices): owner can mark a frame as sold and unlink it pre-emptively football2801 2026-05-08 14:53:51 -04:00
  • ece0defe3f feat(setup): "Claim this frame" checkbox for previously-bound MACs football2801 2026-05-08 14:45:52 -04:00
  • a9ad014bd1 test: tighten coverage to 99.69% backend / 98.62% frontend football2801 2026-05-08 14:22:46 -04:00
  • 2a8bf3895f chore(dev): DDEV setup so the test suite actually runs football2801 2026-05-08 13:56:36 -04:00
  • b48ed73b4e fix(rotation): isDue() compares wakeTime boundary in UTC, not device-local tz football2801 2026-05-08 12:41:40 -04:00
  • b0773e686e fix(home): hour dropdown reads 1-12 instead of 12,1-11 football2801 2026-05-08 12:28:51 -04:00
  • 91b148c271 fix(home): wake-time list never reorders mid-edit football2801 2026-05-08 12:25:36 -04:00
  • e2a8ea4a7e feat(rotation): X-Boot-Reason: cold forces a resync regardless of schedule football2801 2026-05-08 12:18:43 -04:00
  • 5b3e2e47d7 fix(rotation): gate poll-driven advance() behind isDue() check football2801 2026-05-08 12:14:32 -04:00
  • bf9d4ebc58 test: close coverage gaps from the recent rotation + Mercure work football2801 2026-05-07 17:25:25 -04:00
  • 9a5aa123c2 fix(smoke): drop the HEAD-on-mercure check that broke the round-trip football2801 2026-05-07 16:59:09 -04:00
  • f45cfcc967 chore(deploy): bin/smoke.sh — post-deploy healthcheck workflow football2801 2026-05-07 16:43:32 -04:00
  • aa486c5d51 chore(deps): re-add dragonmantank/cron-expression for the scheduler football2801 2026-05-07 16:41:51 -04:00
  • cf6623de67 feat(rotation): per-device image-selection preferences football2801 2026-05-07 16:37:14 -04:00
  • ba9625d45d feat(home): live updates via Mercure — server pushes device state to the PWA football2801 2026-05-07 16:20:21 -04:00
  • 995445ed9e fix(home): "next sync" must reflect the schedule the device is *on* football2801 2026-05-07 15:52:04 -04:00
  • eedd50b95c fix(home): "Next update" preview reflects when settings actually reach the frame football2801 2026-05-07 15:28:07 -04:00
  • c9b05a53b2 fix(home): force numeric keypad for the interval-minutes input on mobile football2801 2026-05-07 15:11:23 -04:00
  • aff0a5d4b4 fix(home): stop iOS Safari zooming on the interval-minutes input football2801 2026-05-07 15:09:12 -04:00
  • d11ddff912 feat(device): replace daily wakeHour with multi-time wakeTimes (minutes) football2801 2026-05-07 14:32:58 -04:00
  • 100e101d05 feat(device-api): include SHA-256 of served .bin in X-Image-Sha256 header football2801 2026-05-06 19:42:44 -04:00
  • 8beb7331dd fix(home): preview tracks frame state even with locked images and 304 polls football2801 2026-05-06 19:24:50 -04:00
  • 2cd558bac3 fix(home): preview reflects what's on the frame, not what's queued football2801 2026-05-06 19:15:14 -04:00
  • 328ad632d3 feat: pull-to-refresh on Home and Library football2801 2026-05-06 19:09:52 -04:00