Cyrille Béraud and Copilot
9e3d8c0200
proxy server: only send call pushes at high priority
...
Replace the priority-only heuristic in handlePushListen
(highPriority = !expired && minPriority == 0) with isHighPriorityPush,
so the proxy promotes a notification to high (urgent) push priority
only for real-time call signaling.
Previously every value published at the default priority 0 — including
the frequent connection-request refreshes that carry an empty
pushType — triggered a high-priority push. On mobile this floods the
platform's adaptive high-priority quota; once tripped, the platform
silently drops genuine call pushes, so incoming calls fail to ring
while the device is in the background.
Restricting high priority to audioCall/videoCall keeps calls waking the
device while the surrounding presence/sync noise is delivered at normal
priority. This is a strict subset of the previous high-priority set, so
no notification that was normal before becomes high.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-06-18 07:51:31 -04:00
Cyrille Béraud and Copilot
e0ecf06f52
proxy server: add testable high-priority push decision
...
Extract the decision of whether a push-listen notification must be
delivered at high (urgent) FCM/APNs priority into a static, pure
helper (isHighPriorityPush) so it can be unit-tested without a push
gateway.
Only real-time call signaling — values whose pushType is "audioCall"
or "videoCall", published at high priority (priority == 0) — warrants
an urgent push. Presence/connection-request refreshes (empty
pushType), non-call types and expirations are not urgent.
The helper is not wired in yet; this commit only adds it and its
tests, keeping the current handlePushListen behavior unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-06-18 07:51:22 -04:00
Adrien Beraud
732da0e478
default types: add ValueId to TrustRequest
2026-06-11 16:52:03 -04:00
Adrien Béraud
9a60329f66
proxy server: use token as request url
2026-06-03 20:00:34 -04:00
Adrien Béraud
0bb393ec36
http: allow to build Request by std::string url
2026-06-03 19:30:53 -04:00
vx32
947610003b
http: allow to build Url from std::string, cleanup
2026-06-03 19:14:32 -04:00
Adrien Béraud
dcbe158554
proxy server: allow url-encoded base64 for UnifiedPush
2026-06-03 19:12:40 -04:00
vx32
38e9a7fd61
base64: add support for url-encoded base64
2026-06-03 17:01:19 -04:00
François-Simon Fauteux-Chapleau
7cf3e8b738
thread_pool: notify when task queue becomes empty
...
This prevents ThreadPool::stop from hanging if it is called with `wait`
set to true (which is notably the case in ThreadPool::join) and the
pool's task queue is non-empty.
v4.0.4
2026-05-21 10:17:08 -04:00
François-Simon Fauteux-Chapleau
e924ef5620
tests: add regression test for hang in thread pool
...
The worker threads in a ThreadPool don't signal the pool's condition
variable when completing the last task in the queue. As a consequence,
ThreadPool::join() hangs if called while the task queue is non-empty.
2026-05-21 10:17:08 -04:00
Adrien Béraud
d96115b445
docs: update manpage for dhtnode
2026-05-18 10:50:23 -04:00
Adrien Béraud
bb96d2d80e
dhtchat: adapt for new API
v4.0.3
2026-05-18 10:36:48 -04:00
Adrien Béraud
8b96652b32
dhtrunner: add signatures for putEncrypted(InfoHash, PkId to, Value&&)
2026-05-18 10:36:48 -04:00
Adrien Béraud
d1235660d5
crypto: add support to build with Nettle 4.0
v4.0.2
2026-05-13 14:36:13 -04:00
Adrien Béraud
23c6b5547b
python: update for API changes in 4.0
v4.0.1
2026-05-13 14:18:08 -04:00
Adrien Béraud
61c4a3880f
update version to 4.0.0
v4.0.0
2026-05-11 09:28:57 -04:00
Adrien Béraud
44f2aaa876
remove deprecated APIs
2026-05-11 09:27:56 -04:00
Adrien Béraud
a363d573e3
dht: fix persisted permanent values never expiring
...
When values are exported and re-imported, permanent values retain their
time_point::max() expiration but lose their permanent flag. This caused
them to be stored as non-permanent with an effectively infinite
expiration, so they would never expire.
Cap the expiration of non-permanent values to created + type.expiration,
ensuring that imported permanent values get a finite expiration matching
their value type.
2026-05-09 00:39:49 -04:00
Adrien Béraud
3ff9338980
tests: add test for permanent value import expiration
...
Add testImportPermanentValueExpires to verify that values originally
stored as permanent (with time_point::max() expiration) properly expire
after being exported and re-imported, since the permanent flag is lost
during the import process.
2026-05-09 00:39:49 -04:00
Adrien Béraud
ea3c0f0d93
update version to 3.7.9
v3.7.9
2026-05-02 20:40:25 -04:00
Adrien Béraud
f0cf074576
BUILD.md: add llhttp dependency and remove CMAKE_INSTALL_PREFIX
2026-05-02 19:08:02 -04:00
Adrien Béraud
760586ed4a
python: build for python 3.14
2026-05-02 19:06:25 -04:00
dependabot[bot]
b951f4f40a
build(deps): bump softprops/action-gh-release from 2 to 3
...
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release ) from 2 to 3.
- [Release notes](https://github.com/softprops/action-gh-release/releases )
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md )
- [Commits](https://github.com/softprops/action-gh-release/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: softprops/action-gh-release
dependency-version: '3'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-18 13:55:23 +10:00
dependabot[bot]
63cc650a72
build(deps): bump pypa/cibuildwheel from 3.4.0 to 3.4.1
...
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel ) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/pypa/cibuildwheel/releases )
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md )
- [Commits](https://github.com/pypa/cibuildwheel/compare/v3.4.0...v3.4.1 )
---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
dependency-version: 3.4.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-18 13:54:34 +10:00
Adrien Béraud
c020d2e1ef
update version to 3.7.8
v3.7.8
2026-04-02 16:37:17 -04:00
copilot-swe-agent[bot] and aberaud
aae1bb2ae5
infohash: fix unaligned memory access on strict-alignment architectures (sparc64)
...
Agent-Logs-Url: https://github.com/savoirfairelinux/opendht/sessions/d4106989-db2c-4d34-b1ea-4ca2ecab524a
Co-authored-by: aberaud <101827+aberaud@users.noreply.github.com >
2026-04-02 16:08:33 -04:00
Pavan Koushik Nellore
593e59e093
proxy: add pushType field and propagate through proxy notifications
2026-04-02 15:03:11 -04:00
dependabot[bot]
86d5065aca
build(deps): bump microsoft/setup-msbuild from 2 to 3
...
Bumps [microsoft/setup-msbuild](https://github.com/microsoft/setup-msbuild ) from 2 to 3.
- [Release notes](https://github.com/microsoft/setup-msbuild/releases )
- [Commits](https://github.com/microsoft/setup-msbuild/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: microsoft/setup-msbuild
dependency-version: '3'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-25 16:25:14 -04:00
dependabot[bot]
308d8ff82b
build(deps): bump actions/upload-artifact from 6 to 7
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 18:32:26 -04:00
dependabot[bot]
34b9ddd023
build(deps): bump docker/build-push-action from 6 to 7
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 18:32:04 -04:00
dependabot[bot]
88cb14ad95
build(deps): bump actions/download-artifact from 7 to 8
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 7 to 8.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v7...v8 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '8'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 18:31:48 -04:00
Adrien Béraud
e453a47242
update version to 3.7.7
v3.7.7
2026-03-16 11:05:38 -04:00
Adrien Béraud
199090b959
network engine: log exceptions
2026-03-15 19:42:09 -04:00
Adrien Béraud
d250e6a349
dhtrunner: cleanup
2026-03-15 10:43:46 -04:00
Adrien Béraud
99da0be2b7
misc: remove lock mutex template argument
2026-03-15 00:00:33 -04:00
Adrien Béraud
22d219c695
dht: close socket on auth error
2026-03-14 18:19:06 -04:00
Adrien Béraud
ccd4865df5
dht: allow search table update with listen token refresh
2026-03-14 16:17:32 -04:00
Adrien Beraud
5afc452f32
build/cmake: set SIMDUTF_CXX_STANDARD to match CMAKE_CXX_STANDARD
2026-03-14 11:37:53 -04:00
Adrien Beraud
a06596d365
tests: unlock mutex before join
2026-03-14 11:37:50 -04:00
Adrien Béraud
aa260c7b40
tests: add testShutdownCompletesWithPendingPut
2026-03-14 11:37:43 -04:00
Adrien Béraud
7183847e44
tests: use random ports
2026-03-13 22:59:41 -04:00
Adrien Béraud
884cb09220
tests: bound dhtrunner async waits
2026-03-13 22:00:09 -04:00
Adrien Béraud
04edaafa57
dht: simplify bootstrap logic
2026-03-13 20:59:24 -04:00
Adrien Béraud
6be58884aa
tests: set timout for test_crypto to 60s
2026-03-13 20:58:53 -04:00
Adrien Béraud
d50d3d4f32
tests: set timout for test_dhtrunner to 60s
2026-03-13 20:52:56 -04:00
Adrien Béraud
8acafe844d
dht: release pending bootstrap after first attempt
2026-03-13 20:39:40 -04:00
Adrien Béraud
688b713c09
tests: cover bootstrap put failure after disconnect
2026-03-13 20:39:37 -04:00
Adrien Béraud
017df59dde
update version to 3.7.6
v3.7.6
2026-03-13 18:30:43 -04:00
Adrien Béraud
964800a506
tests: disable test_networkengine on MSVC
2026-03-13 16:30:36 -04:00
Adrien Béraud
4f423d066f
tests: attempt to fix test_networkengine on MSVC
2026-03-13 16:09:49 -04:00