lingniu
|
48e2ce9fd4
|
fix: deduplicate account vehicle permissions
|
2026-07-16 14:16:22 +08:00 |
|
lingniu
|
a1195fb97d
|
feat: add customer authentication and scoped RBAC
|
2026-07-16 13:58:28 +08:00 |
|
lingniu
|
6d6c9ce534
|
refactor(mileage): use fixed-column table on mobile
|
2026-07-16 13:07:43 +08:00 |
|
lingniu
|
4877c3fe8f
|
feat(mileage): compact mobile results and add date presets
|
2026-07-16 12:53:32 +08:00 |
|
lingniu
|
c1b4703810
|
style(mileage): emphasize results across breakpoints
|
2026-07-16 12:44:53 +08:00 |
|
lingniu
|
069b324565
|
feat(platform): make mobile workflows task focused
|
2026-07-16 12:05:01 +08:00 |
|
lingniu
|
6d82a66d68
|
style(platform): unify workspace typography scale
|
2026-07-16 11:44:08 +08:00 |
|
lingniu
|
7299f42b0e
|
docs(ops): document location source arbitration
|
2026-07-16 11:24:08 +08:00 |
|
lingniu
|
8487783564
|
fix(monitor): hold conflicting terminal coordinates
|
2026-07-16 11:16:22 +08:00 |
|
lingniu
|
b9fcf476ec
|
fix(monitor): arbitrate conflicting location sources
|
2026-07-16 11:07:23 +08:00 |
|
lingniu
|
9384d6acf5
|
perf(monitor): isolate follow viewport events
|
2026-07-16 10:41:41 +08:00 |
|
lingniu
|
e0a5ba6f5d
|
perf(monitor): throttle selected map centering
|
2026-07-16 10:35:52 +08:00 |
|
lingniu
|
cf9e2a9803
|
perf(monitor): synchronize map follow frames
|
2026-07-16 10:32:31 +08:00 |
|
lingniu
|
77f12be63e
|
perf(monitor): reuse point animation buffers
|
2026-07-16 10:27:36 +08:00 |
|
lingniu
|
59f220885b
|
feat(vehicle): live-update single vehicle map
|
2026-07-16 10:20:18 +08:00 |
|
lingniu
|
e0e7e28762
|
feat(monitor): match motion to report intervals
|
2026-07-16 09:55:10 +08:00 |
|
lingniu
|
3bbae099bc
|
tune(monitor): extend point motion to five seconds
|
2026-07-16 09:41:08 +08:00 |
|
lingniu
|
26a0599611
|
tune(monitor): slow vehicle point transitions
|
2026-07-16 09:39:11 +08:00 |
|
lingniu
|
4ffaf95436
|
feat(monitor): animate live vehicle positions
|
2026-07-16 09:31:33 +08:00 |
|
lingniu
|
69c5ca09ba
|
fix(web): use requested platform title
|
2026-07-16 09:19:05 +08:00 |
|
lingniu
|
c3b0996698
|
feat(web): apply Lingniu brand assets
|
2026-07-16 09:17:04 +08:00 |
|
lingniu
|
61c1bbc365
|
perf(mileage): stream workbook export rows
|
2026-07-16 09:08:04 +08:00 |
|
lingniu
|
b78cf1696f
|
perf(api): make batch vehicle search exact
|
2026-07-16 08:58:32 +08:00 |
|
lingniu
|
251b53125d
|
fix(api): bound mysql page sizes
|
2026-07-16 08:49:10 +08:00 |
|
lingniu
|
99d9dcca1b
|
fix(mileage): bound daily date ranges
|
2026-07-16 08:44:00 +08:00 |
|
lingniu
|
91b5d76657
|
perf(monitor): bound map refresh fingerprints
|
2026-07-16 08:38:41 +08:00 |
|
lingniu
|
4c54cfa6ff
|
perf(web): pause hidden live polling
|
2026-07-16 08:35:37 +08:00 |
|
lingniu
|
e06778e38c
|
perf(web): reuse locale formatters
|
2026-07-16 08:30:23 +08:00 |
|
lingniu
|
22d069a404
|
fix(web): stabilize client file downloads
|
2026-07-16 08:23:45 +08:00 |
|
lingniu
|
4b2e743229
|
fix(monitor): harden mobile entry dialog
|
2026-07-16 08:20:15 +08:00 |
|
lingniu
|
473c9e1251
|
fix(history): respect export permission boundary
|
2026-07-16 08:13:36 +08:00 |
|
lingniu
|
6049d8c22b
|
fix(access): hide unresolved identity queue from viewers
|
2026-07-16 08:10:05 +08:00 |
|
lingniu
|
7346cd0891
|
fix(access): respect read-only permission boundary
|
2026-07-16 08:08:06 +08:00 |
|
lingniu
|
7cf856fd51
|
fix(history): activate column visibility settings
|
2026-07-16 08:03:59 +08:00 |
|
lingniu
|
1a9b2ce962
|
fix(web): bound stalled mutations
|
2026-07-16 07:54:04 +08:00 |
|
lingniu
|
be1ff4ff0d
|
fix(web): expose secondary query failures
|
2026-07-16 07:45:15 +08:00 |
|
lingniu
|
e9b7c0d31f
|
fix(web): recover vehicle option lookups
|
2026-07-16 07:38:39 +08:00 |
|
lingniu
|
25e8427882
|
fix(web): activate contextual help and filter status
|
2026-07-16 07:33:55 +08:00 |
|
lingniu
|
d1764b3d66
|
fix(web): bound stalled route queries
|
2026-07-16 07:18:49 +08:00 |
|
lingniu
|
a0448d6615
|
fix(web): retry transient map load failures
|
2026-07-16 07:13:23 +08:00 |
|
lingniu
|
970ef5d7c0
|
perf(web): reschedule route preloads after navigation
|
2026-07-16 07:09:55 +08:00 |
|
lingniu
|
fa886abff9
|
fix(web): retry rejected route modules
|
2026-07-16 07:01:34 +08:00 |
|
lingniu
|
ec3071d59b
|
fix(ops): recover stale history error health
|
2026-07-16 06:48:47 +08:00 |
|
lingniu
|
e99087f329
|
fix(tracks): sync query state with navigation
|
2026-07-16 06:41:06 +08:00 |
|
lingniu
|
f1f0bab590
|
perf(tracks): defer empty map runtime
|
2026-07-16 06:35:34 +08:00 |
|
lingniu
|
e6d26faad9
|
perf(tracks): coalesce address lookups
|
2026-07-16 06:22:37 +08:00 |
|
lingniu
|
41e2b1ab97
|
fix(auth): dedupe concurrent session expiry
|
2026-07-16 06:19:02 +08:00 |
|
lingniu
|
ee96b8803c
|
perf(history): reduce export polling load
|
2026-07-16 06:14:32 +08:00 |
|
lingniu
|
97fe1704a2
|
fix(web): recover pre-render boot failures
|
2026-07-16 06:04:30 +08:00 |
|
lingniu
|
4302fc8d45
|
perf(monitor): throttle selected address lookups
|
2026-07-16 05:52:29 +08:00 |
|
lingniu
|
3f7619c7cd
|
perf(monitor): defer QR generator
|
2026-07-16 05:41:05 +08:00 |
|
lingniu
|
9c6cd09413
|
perf(monitor): stop hidden selection polling
|
2026-07-16 05:34:19 +08:00 |
|
lingniu
|
d669531128
|
fix(web): bound lazy route recovery
|
2026-07-16 05:29:08 +08:00 |
|
lingniu
|
b21f9a60cd
|
perf(monitor): skip metadata-only map work
|
2026-07-16 05:16:51 +08:00 |
|
lingniu
|
379f1ce941
|
fix(web): recover route errors on scope change
|
2026-07-16 05:08:40 +08:00 |
|
lingniu
|
c4f6587120
|
perf(web): release inactive mutation state
|
2026-07-16 05:04:17 +08:00 |
|
lingniu
|
6f0c15fe6d
|
fix(statistics): isolate mileage query scopes
|
2026-07-16 04:59:13 +08:00 |
|
lingniu
|
25f3fa9c64
|
fix(monitor): isolate batch search scope
|
2026-07-16 04:52:35 +08:00 |
|
lingniu
|
14525887ea
|
fix(web): isolate paginated filter scopes
|
2026-07-16 04:44:21 +08:00 |
|
lingniu
|
d95d7ab735
|
fix(history): isolate query scope transitions
|
2026-07-16 04:36:41 +08:00 |
|
lingniu
|
6b4a0726b2
|
fix(auth): isolate client cache by session
|
2026-07-16 04:26:20 +08:00 |
|
lingniu
|
b39917d9d6
|
docs(web): record bounded release rollout
|
2026-07-16 04:20:04 +08:00 |
|
lingniu
|
326d03cd6d
|
ops(web): bound immutable release history
|
2026-07-16 04:18:15 +08:00 |
|
lingniu
|
8e8f3f9f5c
|
perf(tracks): bound playback rendering work
|
2026-07-16 04:06:08 +08:00 |
|
lingniu
|
982acb7730
|
docs(web): record mileage DOM reduction
|
2026-07-16 03:49:28 +08:00 |
|
lingniu
|
5d3f5f1e59
|
perf(statistics): mount one responsive mileage matrix
|
2026-07-16 03:47:00 +08:00 |
|
lingniu
|
2f26fd25b9
|
perf(web): bound speculative route warming
|
2026-07-16 03:39:47 +08:00 |
|
lingniu
|
cad39d6326
|
perf(monitor): aggregate realtime workspace
|
2026-07-16 03:26:14 +08:00 |
|
lingniu
|
01150844df
|
security(web): sanitize runtime map config
|
2026-07-16 03:15:25 +08:00 |
|
lingniu
|
4be4aaf265
|
perf(web): gate alert workspace queries
|
2026-07-16 03:06:16 +08:00 |
|
lingniu
|
d0e82cef87
|
perf(web): isolate Excel export worker
|
2026-07-16 02:58:18 +08:00 |
|
lingniu
|
02868344ca
|
perf(web): contain offscreen vehicle rows
|
2026-07-16 02:51:12 +08:00 |
|
lingniu
|
7396544269
|
perf(web): warm every primary route
|
2026-07-16 02:35:10 +08:00 |
|
lingniu
|
d140a9782b
|
perf(web): reconcile fleet map incrementally
|
2026-07-16 02:25:04 +08:00 |
|
lingniu
|
d995024e06
|
perf(web): release inactive address queries
|
2026-07-16 02:14:40 +08:00 |
|
lingniu
|
85e92e62da
|
perf(api): bound reverse geocode requests
|
2026-07-16 02:10:10 +08:00 |
|
lingniu
|
1e80278fee
|
feat(web): add visible batch vehicle search
|
2026-07-16 02:02:56 +08:00 |
|
lingniu
|
c493df37f1
|
docs: record portable release smoke gate
|
2026-07-16 01:56:07 +08:00 |
|
lingniu
|
986375d903
|
test(ops): support legacy Python HTTP server
|
2026-07-16 01:55:21 +08:00 |
|
lingniu
|
f38b630592
|
docs: record complete release asset gate
|
2026-07-16 01:54:26 +08:00 |
|
lingniu
|
3051caf327
|
ops: verify every release asset
|
2026-07-16 01:51:31 +08:00 |
|
lingniu
|
c86c9d1e31
|
docs: record production mileage export smoke
|
2026-07-16 01:47:39 +08:00 |
|
lingniu
|
c834a0406c
|
perf(web): make mileage exports cancellable
|
2026-07-16 01:43:57 +08:00 |
|
lingniu
|
639564b96d
|
perf(web): release track map listeners explicitly
|
2026-07-16 01:32:55 +08:00 |
|
lingniu
|
8ebffa4fee
|
perf(web): warm frequent routes during idle time
|
2026-07-16 01:19:29 +08:00 |
|
lingniu
|
b93e165590
|
fix(web): recover transient map SDK failures
|
2026-07-16 01:09:56 +08:00 |
|
lingniu
|
e80e1dcea9
|
perf(web): release monitor resources on unmount
|
2026-07-16 00:59:57 +08:00 |
|
lingniu
|
c00f50551a
|
perf(web): remove legacy theme from production bundle
|
2026-07-16 00:47:52 +08:00 |
|
lingniu
|
6506c0f1f0
|
fix(web): preserve route state and cancel stale reads
|
2026-07-16 00:29:47 +08:00 |
|
lingniu
|
53e1b57e86
|
fix(platform): harden queries and batch vehicle search
|
2026-07-16 00:14:16 +08:00 |
|
lingniu
|
c29ccdf2da
|
fix(web): harden route transitions and monitor memory
|
2026-07-15 23:54:21 +08:00 |
|
lingniu
|
3fabcf181a
|
feat(platform): consolidate production vehicle data workflows
|
2026-07-15 23:26:29 +08:00 |
|
lingniu
|
6cddc0a43d
|
feat: add vehicle mileage statistics
|
2026-07-14 13:18:52 +08:00 |
|
lingniu
|
bb59303a4b
|
feat: build vehicle data platform and production pipeline
|
2026-07-14 12:35:33 +08:00 |
|
lingniu
|
b452be3b94
|
fix(stats): backfill mqtt mileage from mileage frames
|
2026-07-08 18:39:20 +08:00 |
|
lingniu
|
469e9c75f6
|
fix(stats): calculate mileage without previous-day baseline
|
2026-07-08 17:26:34 +08:00 |
|
lingniu
|
536b0bfee6
|
refactor(stats): slim final daily mileage table
|
2026-07-08 16:58:25 +08:00 |
|
lingniu
|
da669fae94
|
fix(stats): track data sources before mileage sampling
|
2026-07-08 16:46:06 +08:00 |
|
lingniu
|
44e119331d
|
fix(stats): preserve realtime baseline from current candidate
|
2026-07-08 16:19:50 +08:00 |
|
lingniu
|
bd67034927
|
fix(stats): guard backfill source-less mileage
|
2026-07-08 15:50:38 +08:00 |
|