Files
luma-home/Cargo.toml
T
Kaloyan DanchevandClaude Opus 4.6 14db4f6e71
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
Add Home Assistant WebSocket client module
- New ha_client.rs: background-thread WebSocket client using tungstenite
  with rustls TLS. Handles auth, state subscription, service calls, and
  recorder/statistics history fetch for climate graphs. Auto-reconnects
  on disconnect with 5s delay.
- HaState added to State struct: tracks connection status, entity states,
  and temperature history per entity.
- main.rs loads ha-home/config.json at startup, extracts all referenced
  entity IDs, and creates the HaService. ha_tick() drains responses into
  state each frame, matching the weather_tick pattern.
- tungstenite 0.24 added to Cargo.toml with handshake + rustls features.

All 84 existing tests pass.

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

43 lines
1.2 KiB
TOML

[package]
name = "luma"
version = "2.3.1"
edition = "2024"
rust-version = "1.88"
publish = false
default-run = "luma"
license = "MIT"
description = "A remote-first native launcher for rooted LG webOS TVs"
[workspace]
members = ["vector-geometry", "tools/vector-assets"]
resolver = "3"
[features]
default = []
webos = ["dep:libc"]
[dependencies]
gl = "0.14"
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "webp"] }
libc = { version = "0.2", optional = true }
luma-vector-geometry = { path = "vector-geometry" }
owned_ttf_parser = "0.25"
sdl2 = { version = "0.38", features = ["use-pkgconfig"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
time = { version = "0.3", features = ["local-offset", "formatting", "parsing"] }
tungstenite = { version = "0.24", default-features = false, features = ["handshake", "rustls-tls-native-roots"] }
ureq = { version = "3.4", default-features = false, features = ["rustls"] }
[profile.release]
lto = "thin"
strip = true
codegen-units = 1
# Keep on-demand glyph geometry responsive in desktop debug previews.
[profile.dev.package.lyon_tessellation]
opt-level = 3
[profile.dev.package.ttf-parser]
opt-level = 3