Commit Graph
100 Commits
Author SHA1 Message Date
Afri bcfe48502c web: a port-variant registration no longer blocks a peer's federation (#1063) 2026-10-18 11:53:49 +02:00
Afri b17b364f20 web,data: hide inactive protocols on the activity card, and serve packets/hour to 3 decimals (#1062) 2026-10-18 11:47:12 +02:00
Afri 03ea02f062 web: label the community chat link Chat:, as GitHub: (#1061) 2026-10-18 11:32:11 +02:00
Afri 87a79bb941 web: the armv7 Chromium guard checks every preview package and the message (#1060) 2026-10-17 13:42:59 +02:00
Afri 50c30eed70 docs: put the unreleased CHANGELOG items under a v1.0.0 header (#1059) 2026-10-17 11:30:14 +02:00
Afri 0be4d84bf2 web: boot without INSTANCE_DOMAIN, and build the armv7 image without Chromium (#1058) 2026-10-17 11:29:38 +02:00
Afri 192204c94c web,data: delete code no input reaches and raise the Ruby floor (#1057) 2026-10-17 10:27:59 +02:00
Afri 50e9660109 ci: each suite fails when coverage drops below its floor (#1056) 2026-10-16 20:32:44 +02:00
Afri 9c91632e2a web: one transaction per ingest batch, skipping a record that fails (#1055) 2026-10-16 20:30:56 +02:00
Afri 48cea6c580 web: delta reads and empty lists revalidate instead of reusing a cache (#1054) 2026-10-16 20:30:39 +02:00
Afri 486657eaff web: specs leave no temp dirs; a leaking spec fails the run (#1053) 2026-10-16 20:30:24 +02:00
Afri 54c15042bc web: ingest POSTs take JSON only; no path takes a form body (#1052) 2026-10-16 20:30:06 +02:00
Afri dfbe4680be web: keep federation on https, v1 counts from origin, close timeouts (#1051)
* web: keep federation on https, v1 counts from origin, close timeouts

* web: the dual-address fallback specs pass keywords on to TCPSocket.open
2026-10-16 20:29:46 +02:00
Afri b7ff2c8466 web,data: timeout specs hold their jobs on gates, not fixed sleeps (#1050) 2026-10-16 09:07:27 +02:00
Afri 2bbcf893ce web: refused streams poll and retry; hidden tabs free their stream (#1046) 2026-10-12 09:46:59 +02:00
Afri fe0f83861c web: warm loads show every row; the cache writes changed rows only (#1045) 2026-10-12 09:46:02 +02:00
Afri 0e43f5a859 docs: centered README head with the 1.0 screenshot (#1043) 2026-10-12 08:38:03 +02:00
Afri 55aa3de15f web: race specs spawn the racing boot and hold its lock until released (#1044) 2026-10-12 08:37:45 +02:00
Afri 76a93b3eee web: bound the federation peer set, judge freshness on our clock (#1042) 2026-10-12 08:34:20 +02:00
Afri 2d2b7c6bfb web: keep the database open between requests, wait without the GVL (#1041) 2026-10-12 08:34:01 +02:00
Afri 7bfe613aa2 web: chat history pages join the backfill's idle repaint (#1039) 2026-10-11 18:40:29 +02:00
Afri 7b5f6196b3 web: serve node public keys on the node read API (#1023)
* web: serve node public keys on the node read API

* web: public key docs match the code, per review (#1019)
2026-10-11 13:52:07 +02:00
Afri 582c6d9f5a web: one bounded initial load before the stream, no stale seed (#1037) 2026-10-11 13:42:07 +02:00
Afri 03472b151f web: schema upgrades fail loudly, reach parity, index nodes.num (#1036) 2026-10-11 13:36:24 +02:00
Afri 7b6d86e76c web,data: Reticulum interface names never carry peer addresses (#1035) 2026-10-11 11:59:10 +02:00
Afri 2d4bb23b5a web: route-labelled requests, scrape-time node series, true node count (#1034) 2026-10-11 11:54:55 +02:00
Afri bf5225359d web: the node overlay reads roles from the dashboard's node registry (#1033) 2026-10-11 11:05:54 +02:00
Afri 260c229fcd web: canonical aggregate windows, rx_time predicates, bounded keys (#1038) 2026-10-11 10:56:53 +02:00
Afri fe51353f93 data: debug capture keeps metadata only and rotates (#1032) 2026-10-11 10:56:01 +02:00
Afri 5edf941a4c web: map tooltips build on open, one shared segmenter (#1031) 2026-10-11 08:40:38 +02:00
Afri 9dbd027d5f web: bound the Meshtastic payload decoder per request and process (#1027) 2026-10-11 08:35:12 +02:00
Afri 1333967f2f web: the node filter repaints once typing pauses (#1030) 2026-10-10 18:48:33 +02:00
Afri 91a4bb7d7d web,data: bound neighbor and trace lists, coordinates, and odd sections (#1028) 2026-10-10 18:41:30 +02:00
Afri cbf88a39e4 web: atomic instance rows, crawl survives bad entry, keyfile fails loud (#1029) 2026-10-10 16:48:48 +02:00
Afri 1bffd87ede web: a reused packet id never rewrites another node's rows (#1026) 2026-10-10 16:48:35 +02:00
Afri f69b711aa9 web: CSP and referrer policy, pinned scheme, scrubbed capture env (#1025)
* web: CSP and referrer policy, pinned scheme, scrubbed capture env

* web: inline script finder matches any case and end-tag form (CodeQL)
2026-10-10 16:40:51 +02:00
Afri e3333693fb data: MeshCore contacts post once per connect (#1024) 2026-10-10 11:00:43 +02:00
Afri 7986742ad6 web: one Log line anatomy, kind words, folded bursts (#1022)
* web: one Log line anatomy, kind words, folded bursts

* web: one visible-text helper for the Log tests (CodeQL)
2026-10-09 12:53:23 +02:00
Afri fa8bb0f44c web: nodes table and static pages fit phones with long words (#1021) 2026-10-09 09:08:27 +02:00
Afri f333f653fd web: banner and meta row keep the gutter, one footer row on desktop (#1020) 2026-10-08 23:42:08 +02:00
Afri d9a459b6d5 data: MeshCore scope table adds five German community regions (#1016) 2026-10-08 23:35:07 +02:00
Afri 949821d7f3 chore: remove the Flutter app and its CI (#1015) 2026-10-08 20:51:52 +02:00
Afri 488f4c0f49 web: quiet map legend, themed zoom, role words, one overlay chrome (#1014) 2026-10-08 18:18:44 +02:00
Afri f4daac7b8d chore: bump version to 1.0.0 (#1011) 2026-10-08 17:15:16 +02:00
Afri ff278b6147 web: honour hidden, 44px touch targets, focus ring, named live toggle (#1009) 2026-10-08 17:14:52 +02:00
Afri a8fe2962c0 web: unpin the phone footer, list pages in the menu, fix banner/header (#1013) 2026-10-08 17:14:31 +02:00
Afri 6fad2c81c1 web: chat lines lead with the time and text; tidier tab bar and panel (#1012) 2026-10-08 17:14:06 +02:00
Afri b06238119a web: put table units in headers, align node views, fit phones (#1010) 2026-10-08 17:13:39 +02:00
Afri ddae287ee6 data: keep snapshot node ages when the radio clock is off (#1007)
* data: keep snapshot node ages when the radio clock is off

* data: add the snapshot clock unit tests left out of the first commit
2026-10-08 15:55:12 +02:00
Afri d11e84862d web: draw the page chrome from one grey family of tokens (#1008) 2026-10-08 15:47:08 +02:00
Afri 86c7f52a69 data: keep CodeQL off a blank UDP group and a test channel name (#1006) 2026-10-08 15:41:08 +02:00
Afri 6c9e0bad52 data,web: queue uploads per instance and retry each on its own (#1005) 2026-10-08 15:39:44 +02:00
Afri 7c82ff655c web: hide the unverified marker, show ?? for unknown scope, space legend (#1004) 2026-10-08 12:32:47 +02:00
Afri 0a9764e3f7 data: lock mesh.sh venv installs and skip pip when nothing changed (#1003) 2026-10-08 12:25:48 +02:00
Afri 7426276964 data: log why a Reticulum ingestor hears nothing; close failed connects (#1002) 2026-10-08 12:25:31 +02:00
Afri 438596c6d2 data: name MeshCore flood scopes from a built-in region table (#1001) 2026-10-08 10:14:15 +02:00
Afri 1dbcdc3606 web: fetch each federation peer once per crawl and cooldown (#1000) 2026-10-08 00:35:43 +02:00
Afri 49323d3809 data: let operators limit which hosts may send UDP packets (#995) 2026-10-08 00:35:19 +02:00
Afri cc75dd0088 web: sandbox the OG capture and harden frontend escaping and lookups (#994) 2026-10-08 00:35:02 +02:00
Afri 597dda7357 web,matrix: mark name-matched MeshCore senders as unverified (#999) 2026-10-08 00:34:44 +02:00
Afri e52797a78b web: serve no row of a hidden client in private mode (#993) 2026-10-08 00:34:26 +02:00
Afri 95ff69f6cb web,data: cap ingested strings by column and check node ids (#997) 2026-10-08 00:34:08 +02:00
Afri 5e0deb8a46 data: check MeshCore RX-log adverts against their signatures (#996) 2026-10-08 00:33:48 +02:00
Afri 3a07231e6e data,web: bind node rows to their key and records to their sender (#998) 2026-10-08 00:33:21 +02:00
Afri 501662ab58 data,web: use the receive time when the radio clock is off; cap battery (#987) 2026-10-07 10:59:50 +02:00
Afri 586545fa4b data,web: put the Reticulum host on the map from its RNS config (#991) 2026-10-07 10:59:33 +02:00
Afri 861379b4c8 web: check relayed federation records against the domain's key (#989) 2026-10-07 10:59:16 +02:00
Afri db792318a3 web: keep federation peers for 7 days; pin 24-hour counts (#990) 2026-10-07 10:58:52 +02:00
Afri 53f36fe697 web: stack the Reticulum legend group under MeshCore (#986) 2026-10-07 10:58:34 +02:00
Afri eae3f75162 web: keep map overlays open and repaint only what changed (#881) (#988) 2026-10-07 10:57:58 +02:00
Afri aeabeec7e3 web: keep the chat reader's place across live refreshes (#881) (#992) 2026-10-07 10:57:25 +02:00
Afri bc92cb5ab7 web: keep nodes-table rows and their state across live refreshes (#881) (#985)
* web: keep nodes-table rows and their state across live refreshes (#881)

* web: keep the test DOM parser's tag regex linear
2026-10-07 10:57:02 +02:00
Afri 1aaee489d2 web: scope Reticulum destination counts and floor /api/destinations (#982) 2026-10-06 18:45:23 +02:00
Afri 9f988d2d90 data,web: capture MeshCore message path, RSSI and scope (#765) (#984) 2026-10-06 18:41:35 +02:00
Afri 88900e6689 web: list only protocols in view in the map legend (#983) 2026-10-06 18:36:52 +02:00
Afri 4b318129e9 web: keep opted-out nodes out of /metrics (#981) 2026-10-06 18:36:22 +02:00
Afri e2b33a1cf9 repo: move .claude to the spec tree (#976) 2026-10-06 15:28:17 +02:00
Afri ea8d618489 ci: upload test results with codecov-action v7 and move to checkout v7 (#975) 2026-10-06 15:27:55 +02:00
Afri 2f4330b629 app: use caret ranges for the shared_preferences platform deps (#974) 2026-10-06 15:27:47 +02:00
Afri 61072fde6f docs: describe the RA10/RE10 placeholder rules where they changed (#973) 2026-10-06 14:46:47 +02:00
Afri da1fdda104 web: drop potatomesh.jmrp.io as federation seeds (#972)
* web: add mesh.dmz.pt as a federation seed node

* web: drop potatomesh.jmrp.io as federation seeds
2026-10-06 11:26:02 +00:00
Afri 4835fe06ef web: add mesh.dmz.pt as a federation seed node (#971) 2026-10-06 13:13:28 +02:00
Afri 27eac3d4e5 web,data: stop Reticulum destination placeholders from renaming (#968) 2026-10-06 13:06:43 +02:00
Afri 326a6ab608 web,matrix,app: name Reticulum as a known protocol in every consumer (#967) 2026-10-06 12:56:25 +02:00
Afri 18178e7939 matrix: bump axum to 0.8.9 (#970) 2026-10-06 12:54:00 +02:00
Afri c681fb2cd7 docs: scope Reticulum as experimental and announce-only (#966) 2026-10-06 12:44:57 +02:00
Afri 1aa45073a2 tests: make the Reticulum host-id canonicalisation check able to fail (#965) 2026-10-06 12:44:10 +02:00
Afri 0831912dfa data: refresh the Reticulum host's own destinations every hour (#969) 2026-10-06 12:29:24 +02:00
Afri fe9e46ef67 data: ingest only RNode interfaces by default under PROTOCOL=reticulum (#964) 2026-10-06 08:57:10 +02:00
Afri 5f03f7d024 nix: add rns to the flake ingestor and update the nixpkgs pin (#963) 2026-10-06 08:56:09 +02:00
Afri d3cbb1443b chore: bump version to 0.8.0 (#946) 2026-10-05 13:34:05 +02:00
Afri 9ff4c32c96 app: bump flutter_local_notifications to 22.3.1 (#945) 2026-10-05 13:32:47 +02:00
Afri c1a4cf9e9b data: retry the Reticulum host id through the provider every loop (#944) 2026-10-05 12:56:17 +02:00
Afri 0eacbf5cfd web: honor the node opt-out marker on /api/destinations (#943) 2026-10-05 12:55:59 +02:00
Afri ce0fdd4391 data,ci: run the ingestor image on Python 3.13 and test 3.13 and 3.14 (#942) 2026-10-05 12:55:39 +02:00
Afri af4e939a34 chore: bump version 0.7.6 (#927) 2026-10-05 10:27:08 +02:00
Afri 186b2ad0bd ci,deps: run Dependabot for every ecosystem and lock production builds (#915)
* ci,deps: run Dependabot for every ecosystem and lock production builds

* web,ci: run the web image on Ruby 3.4 and drop the Ruby 3.3 CI leg
2026-10-05 00:27:11 +02:00
Afri 7b0176df93 web: dedup MeshCore channel copies whose sender resolved differently (#880) (#914) 2026-10-04 21:25:57 +02:00
Afri b144b44e82 web,data: stop MeshCore chat text from minting or reviving nodes (#883) (#912) 2026-10-04 16:41:58 +02:00
Afri a59bd33e02 data,web: honor channel filters on every packet and the node list; add DROP_VIA_MQTT (#784, #884) (#913) 2026-10-04 16:39:17 +02:00