Commit Graph
4 Commits
Author SHA1 Message Date
Kaloyan DanchevandClaude Opus 4.6 ba4a5d2346 Add WS-based pairing flow, replacing config.json with token file
CI / Identify a merged version PR (push) Canceled after 0s
CI / Rust checks, rendering, and native package (push) Canceled after 0s
CI / Publish release and Homebrew feed (push) Canceled after 0s
Release PR / Maintain Version Packages PR (push) Canceled after 0s
Replace the static config.json with a dynamic pairing flow: the TV
shows a 6-digit PIN, the user enters it on the HA pairing web page,
and the TV polls for the provisioned token. On success the token is
persisted and the WS connection fetches entity config via luma/get_config.

New modules:
- ha_token: atomic read/write/remove of HA credentials file
- ha_pairing: background HTTP poll service with getrandom PIN generation

Key changes:
- Settings UI: new HA section with URL entry, connect/disconnect, PIN display
- ha_client: WS config fetch (luma/get_config), Option<u64> pending tracking
- main.rs: token-based startup, pairing effects consolidated into effects()
- renderer: cached GL uniform locations (u_aa, u_texture, u_clip_rounded,
  u_clip_radius, u_edge_fade) — no more per-batch GetUniformLocation calls
- view.rs: extracted card_glow() helper, slider_card_target() method
- Pairing thread detached (no join in Drop) to avoid blocking the render loop

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-25 14:38:10 +02:00
Kaloyan DanchevandClaude Opus 4.6 e29050dc32 Add curtain/blinds cover cards with daylight glow and navy darkening
CI / Identify a merged version PR (push) Canceled after 0s
CI / Rust checks, rendering, and native package (push) Canceled after 0s
CI / Publish release and Homebrew feed (push) Canceled after 0s
Release PR / Maintain Version Packages PR (push) Canceled after 0s
New HaCardType::Curtain and HaCardType::Blinds with:
- Scroll to adjust position (10% steps via cover.set_cover_position)
- OK to toggle open/close
- Dark navy overlay when closed, warm daylight glow when open
- Curtain glow radiates from center, blinds from top

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-24 14:46:09 +03:00
Kaloyan DanchevandClaude Opus 4.6 c8e6fcb659 Redesign HA cards with fill-based backgrounds and add media player
Navigation: arrow keys now always navigate the card grid (removed
left/right value adjustment from Range/Climate cards). Scroll wheel
on the Magic Remote adjusts range values instead.

Cards: 4-column layout with taller (160px) cards. Each card shows a
fill bar proportional to its value — brightness for lights, target
temperature for climate, volume for media. State-based accent colors
(warm yellow for lights, orange/red for heating, blue for cooling,
purple for media playback).

New card type: Media (media_player) — shows artist, track title,
volume fill, and album art placeholder. OK toggles play/pause,
scroll wheel adjusts volume.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-24 13:48:10 +03:00
Kaloyan DanchevandClaude Opus 4.6 cbea5a322f Merge Luma launcher fork into monorepo
CI / Identify a merged version PR (push) Canceled after 0s
CI / Rust checks, rendering, and native package (push) Canceled after 0s
CI / Publish release and Homebrew feed (push) Canceled after 0s
Release PR / Maintain Version Packages PR (push) Canceled after 0s
Move trampoline files (boot-hook, watcher, overlay) into trampoline/
subdirectory. Add upstream Luma v2.3.1 source at repo root with our
additions:

- Page::Ha (4th nav tab) with placeholder empty state
- HA tab config schema and default entity mapping (ha-home/)
- Nav keys renamed: "home" → "start", new "ha" tab between Apps and Settings
- All state.rs/view.rs/main.rs/tests.rs updated for 4-tab navigation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-10-24 11:52:55 +03:00