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
|
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
|
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
|
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
|
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
|
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
|
d11e84862d
|
web: draw the page chrome from one grey family of tokens (#1008)
|
2026-10-08 15:47: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
|
1dbcdc3606
|
web: fetch each federation peer once per crawl and cooldown (#1000)
|
2026-10-08 00:35:43 +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 |
|