Commit Graph

1044 Commits

Author SHA1 Message Date
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
TC Johnson
dcd4c0d22a
Version update: v0.2.4 -> v0.2.5
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
2023-11-06 20:51:41 -06:00
Christien Rioux
2dee3ff6cc allow returning local values when offline, even when forcerefresh is turned on 2023-11-05 21:16:13 -05:00