liu weikai
b2d19334af
Align UI storage event runtime contracts
2026-06-15 01:50:49 +08:00
liu weikai
f055d36fd5
Align runtime skeleton with storage event UML
2026-06-15 01:00:03 +08:00
liu weikai
93368f29ef
Refactor UI storage runtime to avoid blocking
2026-06-15 00:23:05 +08:00
liu weikai
cb1eb2eae6
Keep feedback and event dispatch from starving UI
2026-06-14 21:55:37 +08:00
liu weikai
53a3ff47c9
Show Nearby contacts by last seen age
2026-06-14 21:54:53 +08:00
liu weikai
7bd1faa473
Defer tracker record list refresh
2026-06-14 21:54:08 +08:00
liu weikai
f989ad4255
Fix chat resend to reuse failed messages
2026-06-14 21:52:47 +08:00
liu weikai
f9cca04adb
Avoid persisting volatile node updates
2026-06-14 20:41:00 +08:00
liu weikai
c51b4cc2a4
Trim notification height and quiet GPS samples
2026-06-14 20:19:04 +08:00
liu weikai
c5f73d0a53
Show send failure feedback without message lookup
2026-06-14 20:18:37 +08:00
liu weikai
88447d4962
Centralize Meshtastic reply effects in runtime
2026-06-14 20:18:02 +08:00
liu weikai
a254434b18
refactor(ui): route notices through feedback runtime
2026-06-14 18:44:44 +08:00
liu weikai
bb30b9539e
fix(ui): defer chat compose callbacks
2026-06-14 17:45:39 +08:00
liu weikai
72690272b5
fix(protocol): respond to empty traceroute requests
2026-06-14 17:44:15 +08:00
liu weikai
ee3b7f7379
fix(chat): make send feedback event driven
2026-06-14 15:50:07 +08:00
liu weikai
ee9b98b5b1
docs(chat): specify delivery feedback runtime
2026-06-14 14:46:53 +08:00
liu weikai
80b5933971
fix(ui): restore chat send feedback
2026-06-14 14:17:56 +08:00
liu weikai
c43eaaf107
docs(protocol): record runtime architecture conformance
2026-06-14 12:41:44 +08:00
liu weikai
6e8254c18b
refactor(protocol): route meshcore adapters through facade
2026-06-14 12:36:40 +08:00
liu weikai
d40d9c1469
refactor(protocol): make incoming handling explicit
2026-06-14 12:17:16 +08:00
liu weikai
5218250857
refactor(protocol): add runtime product factory
2026-06-14 12:00:49 +08:00
liu weikai
2cff5062bc
refactor(protocol): route UI protocol actions through facade
2026-06-14 11:45:32 +08:00
liu weikai
42c83f5414
refactor(protocol): add mesh protocol facade boundary
2026-06-14 11:10:15 +08:00
liu weikai
ccde31e2b9
refactor(protocol): model text sends in runtime
2026-06-14 10:59:56 +08:00
liu weikai
de1b1eb080
docs(protocol): require facade boundary in runtime spec
2026-06-14 10:26:49 +08:00
liu weikai
4a15a787ff
docs(protocol): clarify runtime migration residuals
2026-06-14 09:40:46 +08:00
liu weikai
7ccde69c23
refactor(protocol): move meshcore auto discover gating into runtime
2026-06-14 09:35:09 +08:00
liu weikai
fe24021286
refactor(protocol): move meshtastic actions into runtime
2026-06-14 09:09:27 +08:00
liu weikai
885e57bd35
refactor(protocol): execute packet effects through shared bridge
2026-06-14 08:39:28 +08:00
liu weikai
bd1b92b31e
refactor(protocol): route uconsole waypoint sharing through runtime
2026-06-14 08:25:35 +08:00
liu weikai
1ce1d72da0
refactor(protocol): route uconsole position sharing through runtime
2026-06-14 08:04:06 +08:00
liu weikai
bfab72e4ed
refactor(protocol): route meshtastic node actions through runtime
2026-06-14 07:38:55 +08:00
liu weikai
21f90ebb8a
test(protocol): add recording effect executor smoke
2026-06-14 07:02:28 +08:00
liu weikai
58d12191c8
refactor(protocol): route meshcore direct discover effects through runtime
2026-06-14 06:42:53 +08:00
liu weikai
73ff1949f6
refactor(protocol): remove legacy meshcore text projection
2026-06-14 06:25:36 +08:00
liu weikai
0b5bb6cea3
refactor(protocol): remove legacy meshcore direct secret fallback
2026-06-14 06:10:07 +08:00
liu weikai
1f3c86122f
refactor(protocol): route meshcore discover through runtime
2026-06-14 05:55:13 +08:00
liu weikai
f0d37d7d68
refactor(protocol): share meshcore direct secret core
2026-06-14 05:13:27 +08:00
liu weikai
dc02926848
refactor(protocol): share meshtastic position availability
2026-06-14 04:37:33 +08:00
liu weikai
753a0a1b3b
refactor(protocol): extract meshcore direct route policy
2026-06-14 04:25:20 +08:00
liu weikai
f56cd44dcb
refactor(protocol): expose meshcore direct capability flags
2026-06-14 04:11:23 +08:00
liu weikai
c832093fc8
refactor(protocol): share meshtastic position payload core
2026-06-14 03:59:57 +08:00
liu weikai
7faee24728
refactor(protocol): share meshtastic nodeinfo builder
2026-06-14 03:44:47 +08:00
liu weikai
4e97a7ed99
refactor(protocol): split mesh capability surface
2026-06-14 03:16:14 +08:00
liu weikai
625af0ecf5
refactor(protocol): route local no-channel resync through runtime
2026-06-14 02:56:22 +08:00
liu weikai
af1b3194d3
refactor(protocol): introduce shared protocol runtime
2026-06-14 02:45:00 +08:00
liu weikai
5c006d69b5
fix(gps): reject stale location fixes
...
Log GPS and map Pos coordinates so bad receiver data can be separated from map projection issues.
Require TinyGPSPlus location data to be fresh before treating it as an active fix on ESP Arduino devices.
2026-06-14 00:41:41 +08:00
liu weikai
fbed1b092e
fix(esp): harden shared SPI display locking
...
Make the T-Deck display SPI mutex recursive and track the owning task before releasing it, avoiding the FreeRTOS assert seen when loopTask tried to give a mutex held by gps_collect.
Keep the display address-window update and pixel payload under one shared SPI lock so SD-backed map tile work cannot interleave between them and corrupt tile fills.
Fixes #59
2026-06-13 23:02:59 +08:00
liu weikai
3f25e3d577
chore: refresh pages language pack catalog
2026-06-13 21:10:25 +08:00
liu weikai
afd92cd93f
feat: add Cyrillic keyboard layout pack
2026-06-13 20:34:04 +08:00