Commit Graph

902 Commits (dev)

Author SHA1 Message Date
Strycher 7d03a43bb7 fix(#430): cap-bit gating + reconnect re-detect + Start&Reboot
2 months ago
Strycher b665b7f2ba feat(#430): add "Reboot device" button for boot-log capture (#428)
2 months ago
Strycher ce2d0b5741 feat(#430): serial-capture screen + Debug-category entry
2 months ago
Strycher 3314350215 feat(#430): client caplog control commands (enable/disable/erase/status)
2 months ago
Strycher 67eae2feb4 feat(#430): client caplog 0xC4 download protocol + reassembler
2 months ago
Strycher 26e0cb3211 fix(#433): address Gemini review (BuildContext async-gap + web download)
2 months ago
Strycher 9aa83da995 fix(#433): log share = Save As on desktop, download on web
2 months ago
Strycher 2565f0a880 chore(#427): localize the log-share strings (App + BLE screens)
2 months ago
Strycher 7539465f70 feat(#393): add Share action to App-log screen (shared export helper)
2 months ago
Strycher d3fd110509 fix(#403): tighten profile validation after Gemini review
2 months ago
Strycher e73c2b5a10 feat(#403): parse YAML into a config-profile model
2 months ago
Strycher 7e46e8522f feat(#402): config-profile schema + model
2 months ago
Strycher bd34682f36 feat(#397): show running build identity (branch @ sha, build time) in Device Info
2 months ago
Strycher f516163614 feat(#295): surface the active radio data scope in Device Info
2 months ago
Strycher 4fd5f76a13 feat(#297): send a stable per-install client_id in CMD_APP_START
2 months ago
Strycher f64c27ef6f refactor(#273): move Observer above App Settings
2 months ago
Strycher 6c2a856e2d fix(#270): rename advert notification setting to plain language
2 months ago
Strycher f63f796940 feat(#275): per-channel notify mode from the channel ellipsis menu
2 months ago
Strycher 8b7f0a3d2c feat(#269): keep-screen-awake setting
2 months ago
Strycher 480d6a8e27 refactor(#274): move app debug logging toggle into the Debug category
2 months ago
Strycher ab6d0b13b2 refactor(#271,#272,#273): reorder settings categories
2 months ago
Strycher 21f38b2888 fix(#276): drop stale "Notifications" from App Settings subtitle
2 months ago
Strycher d9afaf45fb fix(#383): don't attribute room reactions to the room's own name
2 months ago
Strycher e452ab4805 feat(#383): track who reacted, not just the count
2 months ago
Strycher 646dc79d86 fix(#396): use the platform-standard share icon on the BLE log button
2 months ago
Strycher d63838a94b fix(#380): tighten reaction parsing after adversarial review
2 months ago
Strycher 0e926ad0c2 feat(#380): parse PocketMesh / MeshCore One emoji reactions
2 months ago
Strycher 1ecf1ce55d fix(#389): Back pops out of a channel; only top-level tabs background
2 months ago
Strycher d68c6dfdd8 fix(#385): surface storage-init failure with a persistent warning
2 months ago
Strycher 61b0eab423 feat(#367): consolidate all found message stores into the pinned DB
2 months ago
Strycher b1fb227b4c fix(#363): keep sqlite3 (dart:ffi) out of the web build
2 months ago
Strycher e45946a3d3 fix(#363): pin the drift DB to one fixed directory, migrate old locations in
2 months ago
Strycher 6c8d9ad2db feat(#351): reach contact settings from the long-press menu
2 months ago
Strycher 615c0ed3b5 fix(#349): address Gemini review of window geometry
2 months ago
Strycher 07ccd28afd feat(#349): persist and restore desktop window geometry
2 months ago
Strycher 8af0e0d5dc fix(#355): merge prefs into drift on migration instead of discarding
2 months ago
Strycher b7584bd0c2 chore(#352): generate drift code in CI instead of committing it
2 months ago
Strycher 53f87f51e3 build(#335): commit the drift generated code so CI can analyze/build
2 months ago
Strycher 3ff272ad8c fix(#343): close the data-loss holes found by Gemini review
2 months ago
Strycher 2fefb6aa91 fix(#343): keep full message history; window only in memory
2 months ago
Strycher fa470c1442 fix(#335): store the drift DB in app-support, not OneDrive-synced Documents
2 months ago
Strycher 4cf2c632df Merge branch 'feat/335-drift-storage' into integration/290-306-335
2 months ago
Strycher 349cbab48e Merge branch 'fix/306-connect-freeze' into integration/290-306-335
2 months ago
Strycher dd67391a0e feat(#335): switch bulk stores over to drift
2 months ago
Strycher a2c7302aad feat(#335): migrate bulk data from SharedPreferences into drift
2 months ago
Strycher 847a28df3e feat(#335): prove drift/SQLite-WASM works in a real browser
2 months ago
Strycher 19858698ee feat(#335): add drift and prove it opens on the targets buildable here
2 months ago
Strycher 2004459556 perf(#306): throttle the per-contact notify during a bulk pull
2 months ago
Strycher 77625db575 perf(#306): measure cumulative sync time per frame code
2 months ago
Strycher 30ab360d66 fix(#306): surface silent storage failures per SAFELANE 6
2 months ago
Strycher a7ef7b3325 perf(#306): measure the per-contact conversation load
2 months ago
Strycher 5eded9e33c fix(#306): guard every legacy-key removal, not just the channel-settings one
2 months ago
Strycher c7fc4dca7b fix(#291): background the app on back instead of killing it
2 months ago
Strycher c8b36b056d fix(#291): route into the app from the scanner on any transport
2 months ago
Strycher 4dbceb3366 fix(#291): back must not drop a connected user on the radio list
2 months ago
Strycher 9aaebce77c fix(#291): map name toggle, panel footer everywhere, and back-button behavior
2 months ago
Strycher 4ece02ceff feat(#291): map layer toggles in the nav panel
2 months ago
Strycher 6ccbc71c20 feat(#290): move Disconnect and Settings into the panel footer
2 months ago
Strycher 4ee2f50703 fix(#306): stop rewriting the whole prefs file per channel on connect
2 months ago
Strycher bd8779697a perf(#306): time startup loads and frame handlers to locate the UI stalls
2 months ago
Strycher 7f9f6ba63b perf(#306): batch per-contact setting loads instead of notifying 600 times
2 months ago
Strycher 2c80be3244 fix(#333): load channels before channel history, or history reads empty
2 months ago
Strycher b4fe9c145b fix(#283): summarise the same GIF set the chat renders
2 months ago
Strycher 5b23549054 feat(#283): render pasted Giphy/Tenor URLs inline behind a host allowlist
2 months ago
Strycher af6485f2e3 fix(#284): summarise GIF notifications via GifHelper, not a duplicate regex
2 months ago
Strycher d6d5dbf846 feat(#304): surface Offband capabilities in Device Info
2 months ago
Strycher 856214e4e9 feat(#304): FEM LNA connector state + gated Radio Settings toggle
2 months ago
Strycher 45bfa33eed feat(#304): 0xC3 FEM LNA protocol layer + capability gate
2 months ago
Strycher 879523d082 fix(#309): use each path's captured width in _pathDiag, not the global one
2 months ago
Strycher b28f3b36cb fix(#309): decode and encode path_len per firmware, not as a byte count
2 months ago
Strycher ac877ba904 fix(#298): log path units truthfully instead of asserting wrong hop counts
2 months ago
Strycher af897dc674 chore(#298): drop em-dash from _pathDiag doc comment
2 months ago
Strycher 1412290768 chore(#298): log path bytes + applied hash width
2 months ago
Strycher 7dd0e2b633 perf(#307): count rail filters in one pass over contacts
2 months ago
Strycher 746e102330 feat(#307): prebuilt filter rail in the Contacts nav panel
2 months ago
Strycher f1930549ed feat(#308): add Sensors to the contact type filter
2 months ago
Strycher e194800541 fix(#289): close the unpinned drawer when a channel is picked
2 months ago
Strycher 82c1e73b51 fix(#289): keep the bottom bar inside a channel so there is a way out
2 months ago
Strycher e5456aa707 feat(#289): swap channels in place so the pinned panel stays put
2 months ago
Strycher 5c95a768e0 fix(#289): make the nav panel pinnable inside a channel too
2 months ago
Strycher c73ea7b82e feat(#289): channel list in the nav drawer, switchable from inside a channel
2 months ago
Strycher 431b93f0fd feat(#292): shared app shell with hamburger nav drawer and pin
2 months ago
Strycher 006c365d25 feat(#282): send a Giphy URL instead of g:<code> for cross-client GIFs
2 months ago
Strycher 977af98069 fix(#250): refuse to block your own node
2 months ago
Strycher 189751c561 feat(#285): ingest RX time logging + persisted rxTime (arrival vs claimed)
2 months ago
Strycher 4b05cccf5f feat(#262): 3-way notify selector on the Channels screen
2 months ago
Strycher ceed58373f feat(#261): apply per-channel notify mode at the notification gate
2 months ago
Strycher b2f7551c83 feat(#260): ChannelNotifyMode model + PSK-keyed storage
2 months ago
Strycher 919f77e67e fix(#252): harden block gating per Gemini review
2 months ago
Strycher 51edddd74b fix(#252): drop outgoing DMs to a blocked contact at the send path
2 months ago
Strycher 42a00baa82 fix(#252): gate outgoing DM to a blocked contact
2 months ago
Strycher ea4adb3faa fix(#248): VID-gate the USB DTR open pulse (don't wedge ESP32-C6)
3 months ago
Strycher cd9b8e88eb feat(#234): make own device pubkey full, selectable, and one-tap copyable
3 months ago
Strycher ad29ea3f0e fix(#238): Enter selects the highlighted emoji/mention in autocomplete
3 months ago
Strycher d39893f120 feat(#235): show the reply-to chip above a reply-gif
3 months ago
Strycher edd9530c25 fix(#235): render inline @[Name] mention chips + reply-gifs
3 months ago
Strycher b5e3d18688 fix(#179): harden firmware sync per Gemini review
3 months ago
Strycher c8dea671eb feat(#180): offload error visibility + capability signal for UI
3 months ago
Strycher ac64a7bdd1 feat(#179): union sync on connect + push block/unblock to firmware
3 months ago
Strycher 6bb8b85a9b feat(#178): BLOCK_LIST streamed-dump parser + truncation detection
3 months ago
Strycher 10a8e5d130 feat(#177): 0xC2 CMD_OFFBAND_BLOCK frame codec (ADD/REMOVE/LIST/CLEAR)
3 months ago
Strycher 037e8f0952 feat(#176): OFFBAND_CAP_BLOCK detection (supportsOffbandBlock)
3 months ago
Strycher 7179d201c5 fix(#224): decode contact path-len byte (mask high bits + divide by width)
3 months ago
Strycher bfc7618d51 fix(#172): guard mounted before snackbar in channel Block sender
3 months ago
Strycher ff255d366f feat(#174): promote name-only block to pubkey (advert/DM) + 30d age-out
3 months ago
Strycher c3a47559f2 feat(#173): Settings -> Blocked management screen
3 months ago
Strycher b1757c6539 feat(#172): block/unblock in contacts, DM, and discovery menus
3 months ago
Strycher 41113cddde feat(#172): channel 'Block sender' (resolve->pubkey / global name)
3 months ago
Strycher 18e49ba4b5 feat(#170): channel name-key resolution hides blocked senders
3 months ago
Strycher 00ae5558c7 feat(#169): suppress blocked DMs/advert notifs + visible blocked marker
3 months ago
Strycher d63f57a698 feat(#168): BlockStore + BlockService (global block-list foundation)
3 months ago
Strycher dc20cc17f1 feat(#123): GPS refresh — self-telemetry stock-fw fallback (firmware-aware poll)
3 months ago
Strycher 0b4796a707 feat(#51): queue-sync file log + parked-drain re-run logging + manual force-drain action
3 months ago
Strycher 2005e5f8c7 chore(#51): log queue-sync flow to the App Debug Log
3 months ago
Strycher 4af5394a88 feat(#186): topology service + readout + RX ingestion + route-builder UX
3 months ago
Strycher b33e5221f2 fix(#150): exclude our own origin prefix from the trace route (firmware contract)
3 months ago
Strycher de97f515a5 fix(#150): trace flood/empty paths as a direct ping (was sending empty -> firmware error 1)
3 months ago
Strycher af1776f83c fix(#150): width-aware map path-trace builder display (group hops, not bytes)
3 months ago
Strycher 711f0b5814 fix(#150): repeater trace adapts to its route (Path Trace when routed, Ping when direct)
3 months ago
Strycher 7c46f1d662 fix(#150): width-matched path trace (send path_sz, build/parse width-byte hops)
3 months ago
Strycher 9d632f495f fix(#194): align ChannelMessageStore device-key scope to >=10
3 months ago
Strycher 7da6e2cde2 refactor(#194): key channel history by PSK identity + migration
3 months ago
Strycher 98841f1c2b fix(#193): clear stale slot history on channel reassignment
3 months ago
Strycher ed4dce94f3 feat(#163): scan a channel QR to add it (unified with community scanner)
3 months ago
Strycher 01207f5019 feat(#163): share a channel as a scannable QR (reference-app format)
3 months ago
Strycher 5931df754a fix(#156): width-aware node-prefix matching (repeater highlight, map anchors/overlaps)
3 months ago
Strycher d2d7930858 fix(#155): manual path entry honors the configured path-hash width
3 months ago
Strycher 09e29f6782 fix(#154): make PathHelper width-aware (chat + path-management path displays)
3 months ago
Strycher f25848d16c fix(#151): widen DirectRepeater to configured path-hash width (Nearby Repeaters)
3 months ago
Strycher 87e8e62e6b feat(#144): gate 0xC1 (CMD_OFFBAND_GPS) to Offband-capable firmware
3 months ago
Strycher 7f2548ca95 feat(#135): GPS state query via CMD_OFFBAND_GPS (0xC1) + poll flood fix (#140)
3 months ago
Strycher 13e38230c6 feat(#134): show firmware version + model in Device Info
3 months ago
Strycher cd7794b69f feat(#131): channel reply-UX — composer focus + route reply (#106)
3 months ago
Strycher 31f850530b fix(#115): decode multi-byte path hashes at the device width
3 months ago
Strycher 174a2bc767 feat(#108): log broker-pool fetch lifecycle to the shared file log
3 months ago
Strycher a124100acc fix(#103): re-arm broker-pool GET timeout per frame (inactivity watchdog)
3 months ago
Strycher 319123ca6e feat(#90): friendly N-byte path-hash labels in the repeater settings dropdown
3 months ago
Strycher 9aa45618f8 feat(#97): Share logs / Open logs folder action on the debug log screen
3 months ago
Strycher 1fa0b53d57 feat(#97): mirror app/BLE logs to rotating files on disk (cross-platform)
3 months ago
Strycher 37d2ca9fb1 feat(#93): render broker runtime-state + resolved-default placeholders
3 months ago
Strycher 4d7921d2f7 feat(#89): verify broker enable/disable actually applied before confirming
3 months ago
Strycher 3015b41f55 fix(#88): cap the BLE APP_START handshake retry with backoff + keep-alive
3 months ago
Strycher 2ac0755361 fix(#80): only URL/port gate a broker enable; firmware owns the rest
3 months ago
Strycher 0c737f2052 fix(#80): broker enable/disable feedback + don't validate a disable
3 months ago
Strycher 67db108520 feat(#80): brokers screen + Observer-pane entry
3 months ago
Strycher d3d293a300 feat(#80): broker editor screen (staged save, validation, dirty guard)
3 months ago
Strycher e3740278e5 feat(#80): broker editor service write ops (save handshake, clear, re-GET)
3 months ago
Strycher 6047a02a6e fix(#82): skip empty channel slots on RESP_CODE_ERR instead of timing out
3 months ago
Strycher 31c0674330 fix(#81): stop the observer config feature from slowing the channel sync
3 months ago
Strycher f56a6ac58f fix(#79): degrade gracefully when the broker dump fails (G2 finding)
3 months ago

Powered by TurnKey Linux.