Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions crates/adapters/src/rotorhazard/transport.rs
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,7 @@ impl RotorHazardConnection {
/// 2. names it with the GridFPV callsign (`alter_pilot { callsign }`) so RH's own view + its
/// "Racing heat … pilots: …" log are right,
/// 3. assigns it to the heat's slot at that node (`alter_heat { heat, slot_id, pilot }`).
///
/// Then it selects the heat as current (`set_current_heat`) so the seats take effect for the race.
///
/// The heat is **freshly added** here (`add_heat`) and this is the heat the finish-time dense save
Expand Down
1 change: 1 addition & 0 deletions crates/adapters/tests/rh_live.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ fn event_kind(e: &Event) -> &'static str {
Event::ProtestFiled { .. } => "ProtestFiled",
Event::ProtestResolved { .. } => "ProtestResolved",
Event::RulingReversed { .. } => "RulingReversed",
Event::RoundFieldDrawn { .. } => "RoundFieldDrawn",
}
}

Expand Down
12 changes: 9 additions & 3 deletions crates/app/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,15 @@ path = "src/main.rs"
# `live` compiles in the **real RotorHazard adapter** (the feature-gated Socket.IO transport)
# so a selected `Rotorhazard { url }` timer actually connects and feeds its passes into the
# event log (#65, #73). It pulls `gridfpv-adapters/live`, which pulls a TLS stack
# (native-tls, OpenSSL-vendored on Linux). The **default build stays OpenSSL-free** — Mock/sim
# only, no network/TLS in the dependency graph — so the stock Director carries no openssl. Build
# the live variant with `cargo build -p gridfpv-app --features live`.
# (native-tls, OpenSSL-vendored on Linux).
#
# `live` is a **DEFAULT feature**: the product's whole job is talking to real timers, and a
# default-off transport shipped a Director that could never leave "Configured" — it silently
# neutered both a dev deploy (2026-07-03, a lost test session) and the desktop release
# artifact (src-tauri depends on gridfpv-app without naming `live`). The openssl-vendored
# compile is a cache-warm one-time cost; correctness of the shipped binary wins. A slim,
# OpenSSL-free Mock/sim-only build remains available with `--no-default-features`.
default = ["live"]
live = ["dep:gridfpv-adapters", "gridfpv-adapters/live"]

# `embed-assets` bakes the built RD console SPA (`frontend/apps/rd-console/dist`) **into the
Expand Down