AskaEth
ae4bffd79f
fix: match installed by both id and name
2026-07-27 08:51:31 +08:00
AskaEth
2a51026587
feat: uninstall button for locally installed market packages
2026-07-27 08:49:20 +08:00
AskaEth
d04ab1138c
feat: market checks local installs, shows installed badge
2026-07-27 08:47:35 +08:00
AskaEth
3ffee330a5
fix: market install button feedback - always show toast
2026-07-27 08:44:53 +08:00
AskaEth
7e3456d208
chore: remove admin.html from repo
2026-07-27 08:38:25 +08:00
AskaEth
55b1539487
feat: admin review panel as standalone local file
2026-07-27 08:38:09 +08:00
AskaEth
b3ec4a37e2
fix: G-force longitudinal sign direction
2026-07-27 08:27:19 +08:00
AskaEth
5064db0032
fix: G-force uses acceleration_z for longitudinal axis
2026-07-27 08:24:25 +08:00
AskaEth
c65ae4035b
fix: realistic G-force test data with jitter and vertical bounce
2026-07-27 08:20:45 +08:00
AskaEth
40087e1c16
fix: favicon uses logo.svg
2026-07-27 08:17:26 +08:00
AskaEth
c051fdbfaf
fix: serve favicon.ico -> SVG to prevent 404 errors
2026-07-27 08:17:03 +08:00
AskaEth
8c78393fb5
fix: add acceleration values to test packet for G-force dashboard
2026-07-27 08:15:19 +08:00
AskaEth
d3a269b5cd
fix: remove extra closing div in dashboard template
2026-07-27 00:41:40 +08:00
AskaEth
55a1fb00df
fix: remove crash-causing market references from dashboard.js
2026-07-26 23:56:49 +08:00
AskaEth
865a239a7e
docs: add official website link
2026-07-26 23:18:14 +08:00
AskaEth
93d5f38431
docs: changelog date corrected
2026-07-26 23:16:57 +08:00
AskaEth
89b44f1288
docs: update README - 极速中枢, 8 dashboards, market, recording
2026-07-26 23:16:34 +08:00
AskaEth
93d4ec308a
fix: remove -created sort, field not in base collection
2026-07-26 22:52:12 +08:00
AskaEth
f9256a564b
feat: my tab shows time/version/status, restore -created sort
2026-07-26 22:26:43 +08:00
AskaEth
df8f33dcca
fix: market tab styles + my items layout
2026-07-26 22:23:23 +08:00
AskaEth
5e3d565b38
fix: remove -created sort (field doesnt exist), use -name
2026-07-26 22:05:29 +08:00
AskaEth
b434be2fd1
fix: dashb_pending boolean as string for form data
2026-07-26 21:54:42 +08:00
AskaEth
b9359b3b47
feat: '我的' tab - user content management with update/delete
2026-07-26 21:46:24 +08:00
AskaEth
59887d7d46
feat: PWA icon + download count increment on market install
2026-07-26 21:43:14 +08:00
AskaEth
98440099a8
fix: market tab active state inline style update
2026-07-26 21:39:54 +08:00
AskaEth
47341f1f76
feat: market scenes tab - upload/install with dependency check
2026-07-26 21:37:24 +08:00
AskaEth
e6344b1916
feat: validate .tsd on upload, auto-extract manifest metadata
2026-07-26 21:34:36 +08:00
AskaEth
c4675f7a15
feat: persistent registration toast, click to dismiss
2026-07-26 21:32:01 +08:00
AskaEth
605830ac34
feat: username field in market registration
2026-07-26 21:25:33 +08:00
AskaEth
6cb0759630
fix: remove hardcoded email placeholder
2026-07-26 21:23:13 +08:00
AskaEth
93776c7d98
refactor: market as standalone sidebar page, removed from dashboard
2026-07-26 21:20:27 +08:00
AskaEth
f4a0869af5
fix: market auth error handling, identity field forwarding
2026-07-26 21:16:16 +08:00
AskaEth
5735602f7d
refactor: separate market from categories in sub-sidebar
2026-07-26 21:11:40 +08:00
AskaEth
242e451ca7
feat: CHANGELOG.json as single source of truth
2026-07-26 21:07:15 +08:00
AskaEth
273bb8f7fb
fix: use dashb_pending field name for upload approval
2026-07-26 20:57:07 +08:00
AskaEth
91ee54c2c5
fix: market upload sets status=pending by default
2026-07-26 20:54:37 +08:00
AskaEth
70df32bb07
feat: market login/logout/upload flow with UI state management
2026-07-26 20:44:11 +08:00
AskaEth
3bb4de6de6
fix: PageRecord.init() missing in app.js
2026-07-26 20:41:15 +08:00
AskaEth
1303529d31
chore: add favicon
2026-07-26 20:37:01 +08:00
AskaEth
8da69b5ef8
feat: custom SVG logo in sidebar and topbar
2026-07-26 20:35:31 +08:00
AskaEth
e7e93d9664
style: 极速中枢 display name in WebUI
2026-07-26 20:25:59 +08:00
AskaEth
3db849b681
chore: market_url to production https://turbosu.yeij.top
2026-07-26 20:14:33 +08:00
AskaEth
683e573e9a
feat: marketplace integration via backend proxy
...
- market_url config (server-side only, never exposed to frontend)
- /api/market/* proxy endpoints to PocketBase
- Dashboard page: 'Market' tab in sub-sidebar
- Market list: browse/install community dashboards
- Login/register modal, upload to market
- PocketBase API fully proxied, zero credentials in frontend
2026-07-26 19:52:00 +08:00
AskaEth
06042a93a2
chore: add project URL to about section
2026-07-26 19:12:29 +08:00
AskaEth
7e9211507b
refactor: move record/playback to dedicated page, restore test mode in settings
...
- New '录制回放' page with sidebar nav entry
- Recording: start/stop/auto, file list with play/export/delete
- Playback: visual bar indicator, opens dashboards to see replayed data
- Settings: restored dev tools section with test mode toggle
2026-07-26 19:10:48 +08:00
AskaEth
3514612f7a
feat: #8 i18n support (zh/en toggle)
2026-07-26 18:45:23 +08:00
AskaEth
71d039ba82
feat: #4 shift lights + #5 phone dash + #6 PWA support
2026-07-26 18:43:59 +08:00
AskaEth
ea32fa841e
feat: #3 tire temperature matrix dashboard (FL/FR/RL/RR heatmap)
2026-07-26 18:42:36 +08:00
AskaEth
a2e7141338
feat: #2 G-force circle dashboard + .tsr export/import
...
- g_force dashboard: acceleration vector on 2G ring, lat/long G readout
- .tsr files export/import via API and UI
- Composite dashboard reverted (G-force is standalone)
2026-07-26 18:41:35 +08:00
AskaEth
a9bd35baa8
feat: #1 telemetry record/playback with auto-race detection
...
- TelemetryRecorder: manual + auto mode (IsRaceOn edge detection)
- TelemetryPlayer: timed packet replay into _handle_packet pipeline
- .tsr format: [uint32 elapsed_ms][uint32 len][bytes]
- Settings UI: start/stop, auto toggle, recording list, play button
- API: /record/*, /playback/*, /recordings
2026-07-26 18:40:09 +08:00