Commit Graph

1046 Commits

Author SHA1 Message Date
Christien Rioux
3268836a5b improve offline subkey writes to ensure failed setvalue even when online tries again
add help for record list opened as well as active watch debugging
2024-04-22 22:16:41 -04:00
Christien Rioux
43e6be2912 add ping validator every 10 seconds for active watch nodes 2024-04-21 20:24:20 -04:00
Christien Rioux
ee040b32b9 don't fan out for watch value changes or cancels
fix fanout pop ordering
2024-04-21 18:01:06 -04:00
Christien Rioux
a0de48771e Merge branch 'main' into 'main'
removed hotfix, as this has been integrated into cargo-ndk already

See merge request veilid/veilid!269
2024-04-20 15:14:33 +00:00
Christien Rioux
62c38a7642 valuechange now fires for offline writes 2024-04-19 15:00:43 -04:00
Debanjan Basu
70bc2235d7 upgraded the ndk version 2024-04-14 15:31:16 +10:00
Christien Rioux
4a190a6853 add offline subkeys to dht record report 2024-04-13 14:15:09 -04:00
Debanjan Basu
0756107d95 removed hotfix, as this has been integrated into cargo-ndk already 2024-04-13 19:34:47 +10:00
Christien Rioux
ce3d333397 fanout seeding 2024-04-07 16:19:22 -04:00
Christien Rioux
918cd0de95 seed dht fanout 2024-04-07 11:43:34 -04:00
Christien Rioux
149aa49575 fix set dht value during a sequence number conflict 2024-04-06 22:33:00 -04:00
Christien Rioux
6f49acffbb watch member check bugfix 2024-04-06 20:20:10 -04:00
Christien Rioux
0b587e8f04 minor android fixes 2024-04-05 21:22:42 -04:00
TC Johnson
3effd2deef Version update: v0.3.0 → v0.3.1
Signed-off-by: TC Johnson <tc@veilid.org>
2024-04-04 19:35:13 -05:00
Christien Rioux
0ab27a6dea Merge branch 'dht-triage' into 'main'
DHT cleanup

See merge request veilid/veilid!266
2024-04-04 23:31:32 +00:00
Christien Rioux
ad085ed15e improve logging
dart ffi has duration measurements for veilid_api calls
2024-04-04 14:12:54 -04:00
Sergei Surovtsev
53555a5ebe fix dht rust integration test 2024-04-03 12:33:55 +03:00
Christien Rioux
9eaa353d57 correct the inspect capabilities too, don't worry about backward compatibility here. 2024-04-02 14:01:47 -04:00
Christien Rioux
3e7e0a381a fix default timestamp behind/ahead 2024-04-01 22:50:02 -04:00
Christien Rioux
39d5e0435c fix debug commands
clean up dht capabilities
add temporary fanout debugging logs
2024-04-01 22:29:04 -04:00
Christien Rioux
0589e6dc31 add entries debug command filter by capability 2024-04-01 14:34:12 -04:00
Christien Rioux
ca9fec75d2 allow value changed data to be optional in rpc schema 2024-03-31 21:35:52 -04:00
Christien Rioux
6e1439306a make valuechanged update no longer happen when value hasn't changed or is older 2024-03-31 16:34:12 -04:00
Christien Rioux
2ec00e18da Merge branch 'parse_as_target_no_async' into 'main'
Make VeilidAPI::parse_as_target a sync function

See merge request veilid/veilid!262
2024-03-30 15:14:27 +00:00
Sashanoraa
b5cf325c5a Make VeilidAPI::parse_as_target a sync function
VeilidAPI::parse_as_target doesn't perform any async operations so it
should be a sync function.
2024-03-30 10:40:29 -04:00
Christien Rioux
4a4271db61 clippy fixes and cleanup 2024-03-29 21:24:20 -04:00
TC Johnson
9d3ee579d3 Version update: v0.2.5 → v0.3.0 2024-03-27 21:11:00 -05:00
Christien Rioux
00758d3146 clean up rpc logging 2024-03-27 17:53:51 -05:00
Christien Rioux
8fd0491d11 fix crlf 2024-03-27 17:53:51 -05:00
Christien Rioux
6ed458260a fallback for inbound relaying 2024-03-27 17:53:51 -05:00
Christien Rioux
4d7e7ab3bd reduce this to a trace 2024-03-27 17:53:51 -05:00
Christien Rioux
d999ade143 reduce this to a trace 2024-03-27 17:53:51 -05:00
Christien Rioux
c484a2ae14 remote route recordkeeping fix 2024-03-27 17:53:51 -05:00
Christien Rioux
a5ffcee36f add missing file 2024-03-27 17:53:51 -05:00
Christien Rioux
b7aedbbe7d add missing expiration check for server side watches 2024-03-27 17:53:51 -05:00
Christien Rioux
94ce43f944 reliable + ensureordered is now the routingcontext and private route default 2024-03-27 17:53:51 -05:00
Christien Rioux
800348451e improve route selection and add generate_shared_secret 2024-03-27 17:53:51 -05:00
Christien Rioux
37dbbc39fd testing cleanup 2024-03-27 17:53:51 -05:00
Christien Rioux
30cc4a814b add python watch test 2024-03-27 17:53:51 -05:00
Christien Rioux
3970b6f294 fix flutter/dart wasm 2024-03-27 17:53:51 -05:00
Christien Rioux
d586748333 add inspect test to wasm 2024-03-27 17:53:51 -05:00
Christien Rioux
ee54358c27 wasm unit tests work and attachment manager fix 2024-03-27 17:53:51 -05:00
Christien Rioux
ff28273a59 wasm support for inspect and watchvalue
(needs tests)
2024-03-27 17:53:51 -05:00
Christien Rioux
cfce0a35b4 add inspect to python api 2024-03-27 17:53:51 -05:00
Christien Rioux
c9f0003150 reporting correction and better debug 2024-03-27 17:53:51 -05:00
Christien Rioux
39eee4708c more cleanup 2024-03-27 17:53:51 -05:00
Christien Rioux
630d2a53b1 clarify 2024-03-27 17:53:51 -05:00
Christien Rioux
d800f39c28 xfer 2024-03-27 17:53:51 -05:00
Christien Rioux
64832748a9 proper valuesubkeyrangeset truncation 2024-03-27 17:53:51 -05:00
John Smith
d67ef0eb2c increase minimum number of nodes for bootstrap 2024-03-27 17:53:51 -05:00
Christien Rioux
8bc3e7f9ef improve internal doc on validation 2024-03-27 17:53:51 -05:00
Christien Rioux
4cfbc18f4a better doc 2024-03-27 17:53:51 -05:00
Christien Rioux
7fdd5f9555 more inspect work 2024-03-27 17:53:51 -05:00
Christien Rioux
ea74d646f8 more inspectvalue, en route to rehydration 2024-03-27 17:53:51 -05:00
Christien Rioux
7a1e6f96e6 fix bugs 2024-03-27 17:53:51 -05:00
Christien Rioux
9bccb59f77 first stab at inspectvalue 2024-03-27 17:53:51 -05:00
Christien Rioux
ca65d12836 checkpoint, adding 'inspect value' 2024-03-27 17:53:51 -05:00
Christien Rioux
946d33ced6 fixes for privacy issues, closes #357 2024-03-27 17:53:51 -05:00
Christien Rioux
ab419f03ef do not permit node id to be a schema member. closes #359 2024-03-27 17:53:51 -05:00
Christien Rioux
fdc3de906f major logging cleanup 2024-03-27 17:53:51 -05:00
Christien Rioux
6455aff14a make change_log_ignore a thing 2024-03-27 17:53:51 -05:00
Christien Rioux
78e84f6573 fix in feature 2024-03-27 17:53:51 -05:00
Christien Rioux
2dc2f97dfc watch cleanup 2024-03-27 17:53:51 -05:00
Christien Rioux
86f7473727 clarify semantics 2024-03-27 17:53:51 -05:00
Christien Rioux
119a5668ac more semantics cleanup 2024-03-27 17:53:51 -05:00
Christien Rioux
9b4e490994 break everything / xfer 2024-03-27 17:53:51 -05:00
Christien Rioux
72066360ad oops 2024-03-27 17:53:51 -05:00
Christien Rioux
e009b1097b watch ids 2024-03-27 17:53:51 -05:00
Christien Rioux
4b632d8156 more debugging 2024-03-27 17:53:51 -05:00
Christien Rioux
7e5d0d1204 clean up watch logic 2024-03-27 17:53:50 -05:00
Christien Rioux
78e5590d5b fix record debug 2024-03-27 17:53:50 -05:00
Christien Rioux
728038c197 fix tablestore namespacing 2024-03-27 17:53:50 -05:00
Christien Rioux
ec71c9631c io read write 2024-03-27 17:53:50 -05:00
Christien Rioux
bf6be2beed fixes for 'nom' out of date 2024-03-27 17:53:50 -05:00
Christien Rioux
a04d4e12c5 integration test and config work 2024-03-27 17:53:50 -05:00
Christien Rioux
8818e63dc0 add default veilid config to the api 2024-03-27 17:53:50 -05:00
Christien Rioux
31bb8018f6 fix race condition in setting dht values before network is ready 2024-03-27 17:53:50 -05:00
Christien Rioux
ad45660db9 fix tests 2024-03-27 17:53:50 -05:00
Christien Rioux
ef6ecdab79 logging improvements 2024-03-27 17:53:50 -05:00
Christien Rioux
292664f3fe add veilid_api logging to debug calls through the api 2024-03-27 17:53:50 -05:00
Christien Rioux
380ac1883f fix spurious error 2024-03-27 17:53:50 -05:00
Christien Rioux
019cb5fd79 preserve watches 2024-03-27 17:53:50 -05:00
Christien Rioux
1cacc547e0 python work and network keying work 2024-03-27 17:53:50 -05:00
Christien Rioux
0c3271b3b9 add writer to set_dht_value, allow multiple open_dht_record 2024-03-27 17:53:50 -05:00
Christien Rioux
2156449486 fix missing address range for local 2024-03-27 17:53:50 -05:00
Christien Rioux
9b04fb1e4b debug 2024-03-27 17:53:50 -05:00
Salvatore Testa
6c6f0c4966
Default config listen_address to empty string
If the address is `""` then an available address is automatically
picked.

```
// Network#allocate_tcp_port
if listen_address.is_empty() {
    // If listen address is empty, find us a port iteratively
    let port = self.find_available_tcp_port(5150)?;
    let ip_addrs = available_unspecified_addresses();
    Ok((port, ip_addrs))
} else {
    // ...
}
```
2024-02-16 15:52:02 -08:00
Kyle Hamilton
aa43f8d4a6 chore: rebrand trust-dns-resolver to hickory-resolver 2024-02-12 17:04:27 -05:00
Christien Rioux
ff853a6546 Merge branch 'salvatoret/copyable-target' into 'main'
Make Target copy-able

See merge request veilid/veilid!253
2024-02-10 20:33:50 +00:00
eve.hobert
62ebd4a0aa oops, removing some test code 2024-02-02 16:16:10 -06:00
eve.hobert
6b2c9ed48a adding an impl from and into [u8; size] for byte array types 2024-02-02 16:04:23 -06:00
Salvatore Testa
5e55be4b7a
Make Target copy-able
Clippy also informed us that we can drop some of the clone calls.

```
❯ cargo clippy
    Checking veilid-core v0.2.5 (~/Developer/veilid/veilid-core)
error: using `clone` on type `Target` which implements the `Copy` trait
   --> veilid-core/src/storage_manager/record_store.rs:912:33
    |
912 |                         target: w.target.clone(),
    |                                 ^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `w.target`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy
note: the lint level is defined here
   --> veilid-core/src/lib.rs:25:9
    |
25  | #![deny(clippy::all)]
    |         ^^^^^^^^^^^
    = note: `#[deny(clippy::clone_on_copy)]` implied by `#[deny(clippy::all)]`

error: using `clone` on type `Target` which implements the `Copy` trait
   --> veilid-core/src/storage_manager/watch_value.rs:199:21
    |
199 |                     target.clone(),
    |                     ^^^^^^^^^^^^^^ help: try removing the `clone` call: `target`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy

error: using `clone` on type `Target` which implements the `Copy` trait
   --> veilid-core/src/storage_manager/mod.rs:737:17
    |
737 |                 vc.target.clone(),
    |                 ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `vc.target`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy

error: could not compile `veilid-core` (lib) due to 3 previous errors
```
2024-02-01 14:32:30 -08:00
Christien Rioux
fd4d42c6a2 clippy lint 2024-01-21 15:50:48 -05:00
Christien Rioux
2ef91116ee switch to build hash from modtime for capnp generation 2024-01-20 21:52:23 -05:00
Christien Rioux
ae339e6573 wasm fixes 2024-01-19 21:30:48 -05:00
Christien Rioux
b9705285e9 xfer 2024-01-19 14:34:09 -05:00
Christien Rioux
7848c14c2b disable dht test due to inconsistencies 2024-01-19 13:55:35 -05:00
Christien Rioux
37ed0239f3 checkpoint 2024-01-19 13:55:35 -05:00
Christien Rioux
92cb5a07cf add watch capability 2024-01-19 13:55:35 -05:00
John Smith
b11f404d3f async-std support 2024-01-19 13:55:35 -05:00
John Smith
d454f9fdf9 update deps 2024-01-19 13:55:35 -05:00
John Smith
7129343ea1 some debugging for bootstrap and route purge 2024-01-19 13:53:43 -05:00
John Smith
cfd7a319d2 remove unused function 2024-01-19 13:53:43 -05:00
John Smith
277aed5d40 private route respondto fix 2024-01-19 13:53:43 -05:00
John Smith
c33b00fe32 clamp instead of reject max expiration time 2024-01-19 13:53:43 -05:00
John Smith
9c0c7cf0b2 config oops 2024-01-19 13:53:43 -05:00
John Smith
064661f20d expiration work 2024-01-19 13:53:43 -05:00
John Smith
b6f1e706f7 fix expiration 2024-01-19 13:53:43 -05:00
John Smith
5f5515af5e oops 2024-01-19 13:53:43 -05:00
John Smith
827a3443b0 fix lengths 2024-01-19 13:53:43 -05:00
John Smith
448267217e ranges 2024-01-19 13:53:43 -05:00
John Smith
0411055aed fixes for init nodes 2024-01-19 13:53:43 -05:00
John Smith
a076082763 punish clear 2024-01-19 13:53:43 -05:00
John Smith
1e1faa3c1a debug 2024-01-19 13:53:43 -05:00
John Smith
2ffba2c528 bug fixes 2024-01-19 13:53:43 -05:00
Christien Rioux
8ed3f0672e fix clear screen 2024-01-19 13:53:43 -05:00
Christien Rioux
88d13d36c9 cleanup 2024-01-19 13:53:43 -05:00
John Smith
d7783e27dd fix bugs 2024-01-19 13:53:43 -05:00
John Smith
cdf823c1cc better debug commands for dht 2024-01-19 13:53:43 -05:00
John Smith
99fb135b5b fix invalid nodeinfo check 2024-01-19 13:53:43 -05:00
John Smith
ac6aa8f2eb fix overflow 2024-01-19 13:53:43 -05:00
Christien Rioux
96ead7dba5 fix address in use error and don't send valuechanged to node that sets value 2024-01-19 13:53:42 -05:00
Christien Rioux
05f89e070c fix tests 2024-01-19 13:53:42 -05:00
Christien Rioux
b46fd7690f watch maintenance tasks 2024-01-19 13:53:42 -05:00
Christien Rioux
a67bfde1f7 send valuechanged 2024-01-19 13:53:42 -05:00
Christien Rioux
d1dad8de61 checkpoint 2024-01-19 13:53:42 -05:00
Christien Rioux
9b8420d288 more watchvalue 2024-01-19 13:53:42 -05:00
Christien Rioux
8efa2de82c config -> record store 2024-01-19 13:53:42 -05:00
Christien Rioux
077a1808a5 propagate set logic to watch logic 2024-01-19 13:53:42 -05:00
Christien Rioux
4a76353f33 ensure get_value doesn't try to pull values unless they are close enough 2024-01-19 13:53:42 -05:00
Christien Rioux
a211c7cce3 more watchvalue 2024-01-19 13:53:42 -05:00
Christien Rioux
248f8dad06 watchvalue recordkeeping 2024-01-19 13:53:42 -05:00
Christien Rioux
9d9a76e45c more watch value 2024-01-19 13:53:42 -05:00
Christien Rioux
70e256a25a checkpoint 2024-01-19 13:53:42 -05:00
Christien Rioux
3f86801ecd Merge branch 'salvatoret/clean-up-warnings' into 'main'
Clean up the compile-time warnings

See merge request veilid/veilid!247
2024-01-19 18:53:31 +00:00
Salvatore Testa
5884f89d1a
Clean up the compile-time warnings
These are all the auto-applied warning corrections.
2024-01-11 15:16:18 -08:00
Salvatore Testa
e378d01682
Move default storage config to veilid-core
The default is currently `""` which puts all of the files without
grouping them in the top level.

Instead, use the paths that `veilid-server` has configured as the
defaults.
2024-01-11 10:19:31 -08:00
Christien Rioux
ead8e9ab86 Merge branch 'salvatoret/more-defaults' into 'main'
Populate config defaults with more helpful values

See merge request veilid/veilid!244
2024-01-10 00:31:56 +00:00
Salvatore Testa
37530b9128
Populate config defaults with more helpful values
Make it easier for someone to spin up a Veilid node.

I copied a lot of these from the `default_config.dart`.
2024-01-08 17:44:41 -08:00
Salvatore Testa
7a55be8015
Add VeilidConfigInner-based VeilidAPI startup
Allow for a type-safe initialization of the API

Closes https://gitlab.com/veilid/veilid/-/issues/354
2024-01-06 13:21:44 -08:00
Christien Rioux
bd74ac7bce Merge branch 'salvatoret/android-dev-2023-11' into 'main'
Update the Android development enviornment setup

See merge request veilid/veilid!237
2023-11-23 14:51:38 +00:00
Kyle H
af27b5aa85 Change 'whitelist' to 'allowlist' globally. 2023-11-23 14:49:45 +00:00
Salvatore Testa
38d9610c6b
Update the Android development enviornment setup
1. Update `ANDROID_SDK_ROOT` to `ANDROID_HOME`. The former variable is
   deprecated. (see https://developer.android.com/tools/variables#envar)
2. Remove `ANDROID_NDK_HOME` environment variable. This should allow the
   build script to work out of the box for more folks.
3. Check that Java is on the `PATH` as opposed to just installing it.
   `asdf` and other runtime management tools are pretty popular, and all
   we care about is that the Java version is accessible.
4. Remove calls to `sudo`. Check to see if CocoaPods exists, if it
   doesn't install it using Homebrew which doesn't require `sudo`.
2023-11-19 17:31:23 -08:00
Christien Rioux
6f8f636d5d disable dht test in CI 2023-11-08 08:04:53 -05:00
Christien Rioux
c67a427610 mtime fixes 2023-11-07 21:06:29 -05:00
Christien Rioux
ffacbdfe25 clarify error 2023-11-07 20:38:36 -05:00
Christien Rioux
425b31c023 make capnp only necessary if modifying generated files 2023-11-07 19:27:08 -05:00
Christien Rioux
1e4e9c203c check in generated files 2023-11-07 14:19:28 -05:00
Christien Rioux
5070b0a560 use forked repositories for async-tls and async-tungstenite 2023-11-07 13:49:19 -05:00
Christien Rioux
8515e0dccc cargo update 2023-11-06 22:49:20 -05:00