Skip to content

Commit 8b8ed6a

Browse files
Merge pull request #223 from TheAngryRaven/BETA
Beta - 2.7.0 sweeping UX changes
2 parents c2504af + fbe5b73 commit 8b8ed6a

177 files changed

Lines changed: 9119 additions & 2244 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 187 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,193 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111
> from git history and grouped by theme rather than exhaustive per-commit
1212
> detail.
1313
14-
## [2.6.0] - unreleased
14+
## [2.7.0] - 2026-06-19
15+
16+
### Added
17+
- **Setup history.** Each setup in the Garage now has a **history** (book) icon
18+
that opens a full-panel timeline of every saved revision. It starts with the
19+
original setup shown in full, then lists each later revision as a **diff**
20+
only the values that changed, coloured **green when a number went up** and
21+
**red when it went down** vs the previous revision (with a per-revision toggle
22+
to show the full setup instead). Every revision shows the **fastest lap** run
23+
on it, the revision holding the overall fastest lap is **highlighted**, and the
24+
history is **filterable by kart and course** — when unfiltered, each revision
25+
shows a bubble for the kart/course where its fastest lap was set.
26+
- **Edit your vehicle types.** The Setups tab gains a **Manage Vehicle Types**
27+
button (below *New Vehicle Type*) that opens the type editor: pick an existing
28+
type from the dropdown — it starts empty so editing is a deliberate choice —
29+
tweak its sections, fields, wheel count or tires, then **Update**. Renaming a
30+
field is always safe (your saved setups stay attached to it); but if an edit
31+
*removes* a field or flips its data type (number ↔ text) and existing setups
32+
already hold values there, a warning lists exactly which fields are affected.
33+
Cancel that warning and the risky changes are rolled back and highlighted in
34+
orange so you can see what was restored. The editor can also **delete** a
35+
vehicle type — but only when nothing depends on it (no saved setups, and not
36+
the built-in default). Edits sync to the cloud like the rest of your garage
37+
(newest edit wins).
38+
- **Vehicle history cards.** Vehicles in the Garage now have a little **history**
39+
button, just like setups. It opens a panel that gathers every setup you've run
40+
on that vehicle — one card per frozen setup revision — showing the setup name,
41+
its content hash, and the fastest lap turned on it. Cards are ordered fastest
42+
lap first (so your quickest setup is on top), the fastest overall is
43+
highlighted, and each card is collapsed by default — expand it to see the full
44+
frozen setup (no diff). A course filter narrows the view to a single track and
45+
course. Built on a shared history-card module reused by both the setup- and
46+
vehicle-history panels.
47+
- **Jump to a history card's session.** In both the setup- and vehicle-history
48+
panels, the fastest-lap time and each session in a card's "Fastest laps" list
49+
are now tappable — they load that session straight into the viewer (closing the
50+
garage drawer), so you can go from "which setup was quickest" to the actual
51+
telemetry in one tap. The fastest-lap value is read from each session's own
52+
cached best lap, so it always points back to a real, openable log.
53+
- **Collapsible Pro panel + relocatable Video/Mini-Map on mobile.** The Pro
54+
view's left column (info/vehicle/video + mini-map) is roomy on tablet and
55+
desktop but cramped on a phone. On mobile a small flag tab now sits at the top
56+
of the divider between the two columns — tap it to collapse the left column so
57+
the graphs get the full screen width, tap again to bring it back. So you don't
58+
lose the video or the map when collapsed, the graph picker (the "Add Graph"
59+
dropdown) gains two extra options at the top on mobile — **Video** and **Mini
60+
Map** — that drop the video player or the track map into the regular,
61+
resizable graph stack alongside your data channels. Tablet/desktop are
62+
unchanged.
63+
- **GoPro chunked-video support.** GoPro cameras split one recording into
64+
sequential 3–5 minute files (`GH010042.MP4`, `GH020042.MP4`, … or legacy
65+
`GOPR0042.MP4` + `GP010042.MP4`). You can now select **all** the chapter files
66+
at once in the video player and they play back — and sync to your telemetry —
67+
as one continuous video. Chapters are auto-detected and ordered (you can also
68+
multi-select any set of files manually), the next chapter is preloaded so the
69+
boundary is near-seamless, and a small chapter indicator shows where you are.
70+
Fully client-side and offline, no stitching tool needed. Saved playlists
71+
reload automatically next session. On mobile, where the file picker can't be
72+
filtered, selecting *everything* still works: sidecar files (`.LRV`/`.THM`),
73+
photos, and other junk are silently ignored. If the selection happens to span
74+
more than one recording, you're asked which one to load — and only that one is
75+
kept in memory; otherwise the single recording loads straight away.
76+
- **Video export across GoPro chapters.** Exporting a full session (or a single
77+
lap) with overlays now stitches across all chapters into one MP4 — the frame
78+
encoder seeks through the whole virtual timeline and the audio from each
79+
chapter is concatenated in sync. Multi-chapter export requires a browser with
80+
WebCodecs (Chrome/Edge); single-file export is unchanged everywhere.
81+
- **Post-session tire pressure & weight on the Notes tab.** A new collapsible
82+
**Post-Session** panel sits under the session-setup selector on the Notes page,
83+
letting you record the tire pressures you measured after a run (single / halves
84+
/ quarters — same picker as the setup editor, defaulting to quarters) and a
85+
single post-session weight. The values save with the session and cloud-sync like
86+
your notes, ready for later processing.
87+
- **Device Name setting for the logger.** The Device → Settings screen now
88+
supports a **Device Name** field (a free-text name, up to 32 characters) for
89+
loggers whose firmware exposes it. When you're signed in, a **Use profile name**
90+
shortcut fills the field with your account name in one tap.
91+
- **Feature roadmap on the home screen.** The landing page now shows a short
92+
"Remaining feature roadmap" panel under the action tiles, listing what's still
93+
coming (cheaper DIY logger, leaderboards & public profiles, 3rd-party logger
94+
downloads, native app, race-day organization, team management, coaching
95+
updates, video editor updates, and the "Vulture" logger) with rough timing
96+
estimates.
97+
- **Earn free cloud storage by contributing tracks.** When you submit tracks to
98+
the community database while signed in, your contribution is now linked to your
99+
account — and the submit screen shows a note that signed-in contributions earn
100+
free cloud storage. Submitting without an account still works exactly as before.
101+
The home-screen **Manage tracks** card and the **Submit to DB** button now show
102+
a 🎁 reminder of the perk too.
103+
- **Admin: user management.** A new **Users** tab in the admin panel lists every
104+
account with its email/display name, plan, storage used, and number of track
105+
contributions. Click a user to see details and **grant them free months of
106+
premium** (or remove the grant). Comped premium expires automatically when the
107+
granted months run out, then follows the same 60-day grace as a cancelled
108+
subscription before any over-limit cloud logs are trimmed.
109+
- **Storage trim warning.** When a paid plan or a comped one lapses, your Profile
110+
now shows a clear countdown — "cloud logs trim to the free tier in N days" — so
111+
you have time to subscribe or download them first.
112+
- **Admin: see who submitted a track.** The Submissions tab now shows the
113+
contributor's account name (or "Anonymous") alongside the existing IP/date.
114+
- **Complimentary plan badge.** If you've been granted free premium, your Profile
115+
now shows a "Complimentary" badge and how long it lasts — and hides the Stripe
116+
billing buttons (there's no paid subscription to manage).
117+
118+
### Changed
119+
- **Notes and Setups moved to the main toolbar.** Session notes (with the
120+
session-setup + post-session measurement panel) and your vehicle setups are now
121+
their own tabs in the main view bar — **Setups** then **Notes**, to the right of
122+
Tools — instead of living inside the Garage drawer. They update often, so this
123+
keeps them a single tap away. **Vehicles** stay in the Garage (you set those up
124+
once). The setup-status nag jumps straight to the right place. On **tablets and
125+
desktop** the two share one **Setups & Notes** tab shown as a 50/50 split, so
126+
the extra width isn't wasted; phones keep them as separate full-width tabs.
127+
- **Fewer taps for single-vehicle garages.** The new-setup form now pre-fills
128+
(and locks) the vehicle type when you only have one, and the vehicle when only
129+
one fits — the pickers stay visible, just filled in for you. The session-setup
130+
selector on Notes likewise pre-fills your only vehicle (and its only setup).
131+
Nothing is auto-saved — you still tap Save. And if you linked the wrong setup to
132+
a session, a **Clear session data** button (with an "are you sure" confirm)
133+
unlinks it so you can re-assign; your notes and measurements are kept.
134+
- **Easier vehicle types.** Adding a vehicle now locks the type when there's only
135+
one (nothing to choose), and a **New type** button on the Vehicles tab jumps you
136+
straight to the vehicle-type creator on the Setups tab so it's clear where types
137+
come from. On the landing page (no session loaded) the Setups tab is hosted
138+
inside the Garage so vehicles, setups and types stay reachable before you open a
139+
log.
140+
- **Setups guide you to a vehicle first.** With no vehicles yet, the **Add setup**
141+
button is disabled and a **First create a vehicle** button takes you to the
142+
Vehicles tab — no more dead-end where a setup has nothing to attach to.
143+
- **Copy setup from another vehicle.** When a same-type vehicle already has a
144+
setup, the new-setup form shows a **Copy setup from…** button: pick a vehicle
145+
(filtered to the current type) and one of its setups, and the form is pre-filled
146+
so you can tweak and save — a big time-saver across similar karts/cars.
147+
- **Tighter lap selector.** The lap dropdown in the session header now sizes to
148+
its label instead of a fixed width, freeing up room so the toolbar controls
149+
(snapshots, overlays) don't get squeezed off-screen on mobile.
150+
- **Admin link tidied up.** The home-screen "Track Management" link is now
151+
labelled **Admin** and only appears when an admin is actually signed in (it was
152+
previously shown to anyone on an admin-enabled build).
153+
- **Prices show their currency.** The paid plan cards on the pricing/sign-up
154+
screens now note **USD** next to the price.
155+
- **Track manager is now a simple drill-down.** The track/course manager was
156+
reworked into a clear two-step flow: a **list of tracks** → tap one → its
157+
**courses**. The list scrolls once you have more than a handful of tracks, and
158+
grows a **search box** to quickly filter once you have more than ten. The course
159+
screen no longer has a separate track dropdown (you got there by tapping the
160+
track) and has a **back** arrow to the track list. Opening the manager — from the
161+
home screen *or* in a loaded session — now skips the old selection screen: the
162+
home screen opens on the track list, and in a session it jumps straight to the
163+
current track's courses, where **tapping a course applies it to your session**
164+
(the active course is highlighted).
165+
- **Faster course creation.** Two fewer-clicks tweaks to the course editor: new
166+
sector lines now default to **Major** until the three traditional sectors are
167+
filled (so a standard 3-sector course is valid right after adding two lines, no
168+
toggling needed), and creating a new course with a session already loaded now
169+
**auto-generates the track outline** from your fastest lap — the drawing is
170+
there before you start, instead of having to open the Generate picker yourself.
171+
- **Sample data is now just a normal log.** The bundled sample session lives in
172+
your file browser as an ordinary file named **"SAMPLE - Tillotson 225rs"**, and
173+
the home-screen **Load sample data** button simply opens it like any other log —
174+
no more special-case sample handling and its rough edges. A new **Show sample
175+
files** toggle in Settings (on by default) hides it from the browser — and the
176+
home-screen sample tile — if you'd rather not see it. The sample always shows as
177+
cloud-synced and can't be uploaded, so it never eats into your cloud storage.
178+
When the sample is your *only* file, the toggle stays locked on so you can never
179+
hide your only way back into the app.
180+
- **Weather is cached per session.** Once a session's weather has been looked up,
181+
it's saved on your device — a session's date never changes, so its weather is
182+
fixed. Reopening that session shows the saved conditions instantly and no longer
183+
re-queries the weather station / service every time. The cache stays on your
184+
device (it isn't cloud-synced — there's no point re-uploading data the next
185+
device can look up for free), and the home-screen **Local Weather** check still
186+
fetches live, current conditions as before.
187+
188+
### Removed
189+
- **Labs tab removed.** The experimental Labs tab (and its hidden settings
190+
toggle) has been retired — it carried no active features.
191+
192+
### Fixed
193+
- **Fonts now work fully offline.** The Inter and JetBrains Mono typefaces were
194+
loaded from Google's font CDN at runtime, which had no offline cache rule — so a
195+
fresh load with no signal (e.g. at the track) fell back to system fonts. The
196+
fonts are now self-hosted (via Fontsource) and bundled into the offline
197+
precache like the rest of the app, so they render correctly from the first paint
198+
with no network. This also removes a third-party request on every page load.
199+
200+
## [2.6.0] - 2026-06-15
15201

16202
### Added
17203
- **Tools on the home screen.** A new **Tools** tile on the landing page opens the

0 commit comments

Comments
 (0)