-
aff180f417
Merge
1aa602a934 into bec05936f9
#110
ce5rpy
2026-09-28 12:00:03 -0300
-
-
1aa602a934
perf(aliases): stop each alias reload from raising the server's memory
#110
perf/alias-memory
Rodrigo Pérez
2026-09-28 11:59:48 -0300
-
-
bec05936f9
Merge pull request #106 from pyopower/feat/announcements-plugin
develop
ce5rpy
2026-09-25 19:29:22 -0300
-
-
9d5b4eb0a1
Merge pull request #105 from pyopower/perf/plugin-bus-interest
ce5rpy
2026-09-25 19:29:01 -0300
-
-
d74ef04bfc
perf(plugins): build only the events some plugin wants; batch deferred ones
#105
yo
2026-09-24 23:26:53 +0200
-
3b1355decb
Merge pull request #108 from pyopower/fix/reload-added-system-config
ce5rpy
2026-09-25 19:22:33 -0300
-
-
-
-
044ba970df
Merge pull request #104 from pyopower/feat/plugin-send-dmrd
ce5rpy
2026-09-25 19:21:42 -0300
-
-
808e61cab1
fix(reload): a system added by SIGHUP gets its own config, and answers
#108
yo
2026-09-25 23:55:39 +0200
-
-
-
0dd50cd752
refactor(voice-announcements): use server_id_bytes()
#106
yo
2026-09-25 07:54:10 +0200
-
0e61d5d473
fix(plugins): plugin voice records RX state like a hotspot frame
yo
2026-09-25 00:09:17 +0200
-
1ab9036345
refactor(voice): scheduled announcements and TTS leave the core
yo
2026-09-24 23:51:31 +0200
-
620a2b7b43
feat(plugins): voice-announcements plugin (scheduled, TTS, beacons)
yo
2026-09-24 23:47:25 +0200
-
d76de25cbc
feat(plugins): voice_slot_for_tg and monitor TX for plugin voice
yo
2026-09-24 23:43:40 +0200
-
-
c418b1a893
fix(plugins): PLUGINS is read from adn-server.yaml and follows SIGHUP
#104
yo
2026-09-25 07:53:13 +0200
-
9bef975eea
Merge pull request #107 from Amateur-Digital-Network/perf/talker-alias-embed
ce5rpy
2026-09-25 00:36:55 -0300
-
-
703b013a62
perf(talker-alias): stop re-decoding a stream's alias once it is complete
#107
Rodrigo Pérez
2026-09-25 00:34:01 -0300
-
-
ecddd1191d
feat(plugins): group voice from plugins, routed like announcements
yo
2026-09-24 23:36:09 +0200
-
0c3432ebfd
feat(plugins): let a plugin send unit data, opt-in per plugin (#103)
yo
2026-09-24 23:20:07 +0200
-
-
114ad296f5
Merge pull request #102 from pyopower/fix/threaded-voice-slot-busy
ce5rpy
2026-09-24 17:34:39 -0300
-
-
01abfe3bdd
refactor(voice): address review on the prompt slot hold
#102
yo
2026-09-24 22:31:54 +0200
-
9283bd73bd
fix(voice): server prompts hold TS2 while they play
yo
2026-09-24 22:25:54 +0200
-
-
4d13a47b6c
Merge pull request #99 from pyopower/perf/bridge-fanout
ce5rpy
2026-09-24 17:05:38 -0300
-
-
ef8d922bc0
Merge pull request #98 from pyopower/fix/sub-map-save-on-change
ce5rpy
2026-09-24 17:04:19 -0300
-
-
7c8db554a3
refactor(routing): address review on the forward plan cache
#99
yo
2026-09-24 22:02:01 +0200
-
3396030ac3
perf(routing): encode a call's LC once for all its legs; index legs by system
yo
2026-09-24 00:21:15 +0200
-
1896a24842
perf(routing): stop rescanning the subscription store per voice frame
yo
2026-09-24 00:11:24 +0200
-
-
-
a74e391010
fix(sub_map): unique temp name per save and remove it if the dump fails
#98
yo
2026-09-24 22:00:13 +0200
-
595f4764d0
Merge pull request #97 from pyopower/perf/hbp-peer-options-once
ce5rpy
2026-09-24 16:53:56 -0300
-
-
139713baed
Merge pull request #100 from pyopower/fix/subscription-index-in-place
ce5rpy
2026-09-24 16:53:23 -0300
-
-
4290773f1a
Merge pull request #101 from Amateur-Digital-Network/perf/store-has-table-indexed
ce5rpy
2026-09-24 11:24:41 -0300
-
-
91ff6128d9
perf(subscription): answer store_has_table from the index, not a scan
#101
Rodrigo Pérez
2026-09-24 11:23:43 -0300
-
-
e5bc60fd17
fix(subscription): unindex a leg by where it was indexed, not by its state now
#100
yo
2026-09-24 08:30:54 +0200
-
-
915aacfa82
fix(sub_map): save routes within minutes of a change, and atomically
yo
2026-09-23 23:09:02 +0200
-
-
-
82e845088e
refactor(hbp): one ACL gate for the MASTER and PEER ingress paths
#97
yo
2026-09-23 22:05:14 +0200
-
cb70a1cae6
perf(hbp): parse a peer's OPTIONS and RF mode when they change, not per frame
yo
2026-09-23 22:01:22 +0200
-
-
5f78545809
Merge pull request #96 from Amateur-Digital-Network/fix/obp-ingress-reused-stream-id
ce5rpy
2026-09-22 19:09:20 -0300
-
-
c2fd82698d
fix(obp): let a reused stream_id start a new call instead of dropping it
#96
Rodrigo Pérez
2026-09-22 17:33:30 -0300
-
-
4fe57d5ccf
Merge pull request #95 from Amateur-Digital-Network/refactor/alias-one-loader-with-backup
ce5rpy
2026-09-22 07:58:20 -0300
-
-
77cc451c04
refactor(alias): one loader with .bak fallback, so the TSV caches too
#95
Rodrigo Pérez
2026-09-22 07:55:09 -0300
-
-
778ce6783f
Merge pull request #94 from Amateur-Digital-Network/perf/alias-reload-skip-unchanged
ce5rpy
2026-09-22 00:52:51 -0300
-
-
3bbc174973
perf(alias): reload alias files only when they change
#94
Rodrigo Pérez
2026-09-22 00:52:21 -0300
-
-
59bb95afdb
Merge pull request #93 from Amateur-Digital-Network/perf/obp-ingress-hot-path
ce5rpy
2026-09-21 23:08:40 -0300
-
-
d0fc7020f7
perf(obp): stop repeating per-frame work in OBP ingress
#93
Rodrigo Pérez
2026-09-21 23:07:44 -0300
-
-
27a0a1031c
Merge pull request #92 from Amateur-Digital-Network/perf/obp-session-lookup
ce5rpy
2026-09-21 22:46:57 -0300
-
-
fea9507fe8
perf(obp): derive a bridge's dns_host on reload, not on every lookup
#92
Rodrigo Pérez
2026-09-21 22:45:20 -0300
-
074f6cbf75
Merge pull request #91 from Amateur-Digital-Network/perf/user-passwords-load-once
ce5rpy
2026-09-21 22:43:13 -0300
-
-
-
-
5ee724dc92
perf(auth): load user passwords when they change, not every 10s
#91
Rodrigo Pérez
2026-09-21 22:42:11 -0300
-
-
e76d49716d
Merge pull request #90 from Amateur-Digital-Network/fix/obp-dns-anchor-host-only
ce5rpy
2026-09-21 15:56:18 -0300
-
-
17a8a8d815
fix(obp): anchor a DNS-named peer by host, not by host and port
#90
Rodrigo Pérez
2026-09-21 15:55:25 -0300
-
-
4d2752fd44
Merge pull request #89 from Amateur-Digital-Network/feat/warn-shared-obp-passphrase
ce5rpy
2026-09-21 02:01:22 -0300
-
-
2ed5d74bc6
feat(obp): warn when two bridges share a passphrase
#89
Rodrigo Pérez
2026-09-21 01:58:28 -0300
-
-
427ae67889
Merge pull request #88 from Amateur-Digital-Network/fix/obp-count-refused-sources
ce5rpy
2026-09-21 01:55:29 -0300
-
-
55faf797da
fix(obp): count frames refused for coming from the wrong address
#88
Rodrigo Pérez
2026-09-21 01:35:08 -0300
-
-
8265d83dea
Merge pull request #87 from Amateur-Digital-Network/fix/obp-peer-address-learning
ce5rpy
2026-09-21 01:26:37 -0300
-
-
d5d44b1fde
feat(obp): anchor a bridge's peer to DNS when TARGET_IP is a hostname
#87
Rodrigo Pérez
2026-09-21 01:20:27 -0300
-
35f5c01b3f
fix(obp): keep keepalives from relocating a bridge's peer
Rodrigo Pérez
2026-09-21 01:11:26 -0300
-
-
901e7af657
Merge pull request #86 from Amateur-Digital-Network/docs/readme-2.6-version-parity
ce5rpy
2026-09-21 00:12:44 -0300
-
-
5a4741fac4
docs(readme): sync version parity note to 2.6, translate README_es.md
#86
Rodrigo Pérez
2026-09-21 00:11:17 -0300
-
-
4bf18e8519
Merge pull request #85 from Amateur-Digital-Network/test/report-peer-coordinates
ce5rpy
2026-09-20 23:51:06 -0300
-
-
d0da3aa80e
test(report): cover peer latitude/longitude/height in topology payload
#85
Rodrigo Pérez
2026-09-20 23:48:18 -0300
-
-
e741d16cb5
Merge pull request #84 from pyopower/feat/report-peer-coordinates
ce5rpy
2026-09-20 23:39:20 -0300
-
-
805aa92a58
feat(report): send peer latitude, longitude and height
#84
yo
2026-09-20 17:43:35 +0200
-
-
66d0602c23
Merge pull request #83 from Amateur-Digital-Network/fix/obp-proxy-no-voice-rx-debug
ce5rpy
2026-09-20 10:30:51 -0300
-
-
e8da064d63
fix(obp-proxy): drop per-packet RX debug for voice, not once-per-stream
#83
Rodrigo Pérez
2026-09-20 10:30:02 -0300
-
-
3ac8540168
Merge pull request #82 from Amateur-Digital-Network/fix/obp-proxy-rx-log-per-stream
ce5rpy
2026-09-20 10:21:02 -0300
-
-
fd82c573c8
fix(obp-proxy): log OBP_PROXY RX once per stream instead of per packet
#82
Rodrigo Pérez
2026-09-20 10:18:12 -0300
-
-
076c200d5c
Merge pull request #81 from pyopower/refactor/obp-admission-policy
ce5rpy
2026-09-20 10:02:51 -0300
-
-
b5120da471
Merge pull request #79 from pyopower/fix/obp-proxy-shared-passphrase-demux
ce5rpy
2026-09-20 10:02:37 -0300
-
-
091d2609a7
docs(obp-replay): what a live master taught about reading the report
#81
yo
2026-09-20 10:06:03 +0200
-
d5755cc3f2
fix(obp-replay): judge only what arrived, and do not blame a table we do not have
yo
2026-09-20 09:58:34 +0200
-
5c24ecb48b
feat(obp): replay a capture through the ingress to see why frames were refused
yo
2026-09-20 09:50:39 +0200
-
e105d493f0
refactor(obp): drive OpenBridge ingress from an engine that answers with effects
yo
2026-09-20 09:39:43 +0200
-
05915a8207
refactor(obp): give each bridge a session instead of writing state into its config
yo
2026-09-20 09:29:30 +0200
-
616d939f5b
refactor(obp): lift ingress admission out of the hblink port into the domain
yo
2026-09-20 09:09:19 +0200
-
-
-
7ab5d774a1
fix(obp-proxy): re-pin egress after a reload and match peers by configured target
#79
yo
2026-09-20 08:29:53 +0200
-
78cb6597e4
Merge pull request #80 from Amateur-Digital-Network/fix/proxy-port-collision-validation
ce5rpy
2026-09-19 21:29:33 -0300
-
-
35765a5d82
fix(config): reject PROXY and OBP_PROXY sharing the same LISTEN_PORT
#80
Rodrigo Pérez
2026-09-19 20:23:38 -0300
-
-
38e8c2d60b
fix(obp-proxy): keep OBP_PROXY config, demux control frames by peer, pin egress
pyopower
2026-09-20 00:30:21 +0200
-
b0347f183f
Merge pull request #78 from Amateur-Digital-Network/fix/unit-data-no-obp-flood-local-sub
ce5rpy
2026-09-19 01:57:07 -0300
-
-
fa0ceae8a1
fix(routing): don't fan out unit data to OBPs for a fresh local subscriber
#78
Rodrigo Pérez
2026-09-19 01:56:05 -0300
-
-
37e119ab78
chore: sync develop from master after release 2.5.6
github-actions[bot]
2026-09-19 04:40:08 +0000
-
-
cb20451f1e
chore(release): 2.5.6
v2.5.6
master
github-actions[bot]
2026-09-19 04:40:00 +0000
-
89d6cb19b9
Merge pull request #77 from Amateur-Digital-Network/fix/alias-download-atomic-write
ce5rpy
2026-09-19 01:38:58 -0300
-
-
aad30baeba
fix: write alias downloads atomically and validate checksum before persisting
#77
Rodrigo Pérez
2026-09-19 01:38:05 -0300
-
-
50dd480157
Merge pull request #76 from Amateur-Digital-Network/feat/plugin-system
ce5rpy
2026-09-18 20:38:01 -0300
-
-
f89ad0d9bc
docs(plugins): document example plugin usage, config, and output format
#76
Rodrigo Pérez
2026-09-18 20:31:37 -0300
-
0c5f1413e6
feat(plugins): add drop-in plugin framework for voice and unit-data
Rodrigo Pérez
2026-08-30 18:01:48 -0400
-
-
237aab1f66
Merge pull request #75 from Amateur-Digital-Network/fix/obp-relax-checks-sync-log-spam
ce5rpy
2026-09-18 18:23:38 -0300
-
-
-
-
783f5d196d
fix: log OBP RELAX_CHECKS target sync at debug, once per stream
#75
Rodrigo Pérez
2026-09-18 18:21:08 -0300
-
-
834034ea16
chore(release): 2.5.5
v2.5.5
github-actions[bot]
2026-09-18 20:59:38 +0000
-
47e2005056
Merge pull request #74 from Amateur-Digital-Network/develop
ce5rpy
2026-09-18 17:54:47 -0300
-
-
8614d1d522
Merge pull request #73 from Amateur-Digital-Network/fix/alias-download-retry
#74
ce5rpy
2026-09-18 17:49:27 -0300
-
-
f6cc0fe281
fix: retry alias JSON downloads on a short poll instead of waiting a full STALE_DAYS cycle
#73
Rodrigo Pérez
2026-09-18 17:47:57 -0300
-
-
253cc92234
fix(routing): don't fan out unit data to OBPs for a fresh local subscriber
#72
pyopower
2026-09-14 08:15:09 +0200
-
-
699af5d4a1
chore(release): 2.5.4
v2.5.4
github-actions[bot]
2026-08-19 13:55:58 +0000
-
d4fafe2646
Merge pull request #71 from ce5rpy/develop
ce5rpy
2026-08-19 09:55:02 -0400
-
-
169a76e13a
Merge pull request #70 from ce5rpy/fix/unit-call-4000-broadcast
#71
ce5rpy
2026-08-19 09:52:45 -0400
-
-
7c2632eb3a
Merge pull request #69 from ce5rpy/fix/security-download-blocks-reactor
ce5rpy
2026-08-19 09:52:30 -0400
-
-
62225c9f07
fix: stop unit calls to 4000 from being broadcast to every peer
#70
Rodrigo Pérez
2026-08-19 09:52:11 -0400
-
-
-
49114feee9
fix: keep hotspots connected when the security server is unreachable
#69
Rodrigo Pérez
2026-08-19 09:51:06 -0400
-
Powered by TurnKey Linux.