Commit Graph

8880 Commits

Author SHA1 Message Date
parazyd
3bdae810b3 net/channel: Add helpful debugging error calls 2024-07-09 12:28:36 +02:00
parazyd
27fd3785f8 chore: Update crate dependencies and CI Rust version 2024-07-09 12:20:06 +02:00
parazyd
7945e2eb18 net: Implement mutable Settings which allow dynamic reconfiguration 2024-07-09 11:22:55 +02:00
parazyd
795e2300cb net: Remove SettingsPtr type alias 2024-07-09 11:16:43 +02:00
draoi
f78af159aa chore: improve some hosts.rs code documentation 2024-07-09 10:40:21 +02:00
draoi
b735f9ffd9 channel: block all ports when blacklisting an inbound peer 2024-07-09 10:39:29 +02:00
parazyd
60114d71ab darkwallet: Add license headers 2024-07-09 09:42:39 +02:00
parazyd
46a74e6b60 net: Use AtomicBool for dnet_enabled mark 2024-07-09 09:42:25 +02:00
darkfi
40b4280170 wallet: add empty ChatView stub struct 2024-07-08 13:21:16 +02:00
darkfi
dfd4f43dbc wallet: editbox add missing on_modify hooks 2024-07-08 13:00:12 +02:00
darkfi
35bd4fc24c wallet: editbox dont draw selected when start == end, and unfocus event will unset selection 2024-07-08 12:49:13 +02:00
darkfi
baf83715e6 wallet: editbox phone touchscreen highlighting text 2024-07-08 12:35:12 +02:00
darkfi
8a40ac3cf8 wallet: editbox highlighting text with the mouse 2024-07-08 11:07:02 +02:00
draoi
c463537fd2 chore: fix net/ HostRegistry documentation 2024-07-08 10:25:22 +02:00
darkfi
77417cc9b8 wallet: editbox click to focus/unfocus editing 2024-07-07 15:03:05 +02:00
draoi
3c526d179f hosts: more permissive transitions from HostState::Free
This was a bug regarding the following state transition functions:

Free -> Connected
Free -> Move

Inbound connections go directly to Connected (1) and Move (2) in the
following cases- when an inbound connection connects to us (1), when we
blacklist a peer due to missing dispatchers (2).

If we previously had a connection on the same port that was now marked
as HostState::Free in the hostregistry, this would create a panic.
2024-07-07 14:30:06 +02:00
draoi
ab52d14372 hosts: enable the transition from Refine to Move
We need to be able to move hosts after refining them, whether that's to
send them to the greylist or to the whitelist.
2024-07-07 12:37:38 +02:00
draoi
3b5273c332 hosts: make unregister() call less dangerous
We introduce a new HostState called HostState::Free, which means a host
is freely available for use. This fixes race conditions where multiple threads could try to delete
the entry (using the unregister() call) at the same time.
2024-07-07 12:37:38 +02:00
darkfi
86deef0b5b wallet: editbox replace highlighted text when typing 2024-07-07 10:13:50 +02:00
draoi
df8c1a8e86 lilith: fix logic error that was causing responsive nodes to be sent to greylist 2024-07-06 20:41:29 +02:00
draoi
3acf49e6a0 net: use standardized methods for net and lilith refinery's 2024-07-06 20:41:29 +02:00
darkfi
1b8e7b3d06 wallet: editbox copy/pasta from clipboard 2024-07-06 12:52:57 +02:00
darkfi
e0336f4a03 wallet: editbox delete/backspace of text (both selected and normal) 2024-07-06 12:40:06 +02:00
darkfi
52e01b443e wallet: editbox selecting text 2024-07-06 12:24:53 +02:00
darkfi
6442d4f30a wallet: woo editbox cursor scrolling bitches 2024-07-06 12:07:52 +02:00
darkfi
76d48a1bd1 wallet: replace ((a, b), c) in foo1.iter().zip(foo2.iter()).zip(foo3.iter()) with custom zip3(...) util 2024-07-06 11:27:11 +02:00
darkfi
04ede06c9c wallet: editbox clip the rendered text properly 2024-07-06 10:45:13 +02:00
draoi
01f3d5d000 net/tests: more efficiently start nodes 2024-07-06 09:17:35 +02:00
draoi
611f6e0454 session: call subscribe_stop() earlier in channel setup
Fixes a bug on seedsync_session where due to us quickly stopping
channels after they are formed the Subscription would occasionally miss
the channel.stop() event.
2024-07-06 09:08:32 +02:00
darkfi
750935e156 wallet: editbox clipping rect when regenerating mesh 2024-07-06 08:49:15 +02:00
darkfi
e540f799d3 wallet: text shaping algo, use labels for ambiguous break/continue inside if let block 2024-07-05 14:34:06 +02:00
parazyd
c6227e38e4 net: Create datastore in P2p::new() 2024-07-05 11:17:58 +02:00
parazyd
ee147076b3 lilith: Fix typos in config file 2024-07-05 10:55:38 +02:00
darkfi
69ced21cad wallet: editbox correctly handle both char events and keycodes 2024-07-05 09:16:21 +02:00
darkfi
c9b699a638 wallet: editbox full unicode input 2024-07-04 17:15:28 +02:00
darkfi
3ce7d4cdcb wallet: bugfix editbox chars randomly repeating. sometimes miniquad doesn't send the key_up event. 2024-07-04 16:58:37 +02:00
darkfi
2a08980807 wallet: add EditBox 2024-07-04 14:29:03 +02:00
draoi
74eb6f9ba3 seedsync: don't allow duplicate connections to the same seed 2024-07-02 21:43:23 +02:00
skoupidi
97820d7301 darkfid: fixed some sync issues 2024-07-02 22:41:51 +03:00
skoupidi
4582e23745 darkfid: minor cleanup 2024-07-02 17:52:20 +03:00
skoupidi
89424e1126 minerd/rpc: more logs added 2024-07-02 17:18:14 +03:00
skoupidi
85670eb1f6 src/rpc: server handle requests in the background 2024-07-02 17:17:34 +03:00
draoi
9033567f00 net: stabilize HostState.unregister() calls
We previously deleted the call to `unregister()` after the refinery is
successful on a16dd562d9.

It was considered redundant since the `unregister()` call happens in
`subscribe_on_stop()`, which for refine session is called directly after
the refinery process finishes (after `channel.stop()`).

However, in a highly async environment the `unregister()` call in
`subscribe_on_stop()` can be called before the call to `move_host()`, meaning
that the host would then be stuck in the `Moving` state.

We have fixed this by specifying that `unregister` should only be called
in `subscribe_on_stop()` to peers that are not part of a refine session.
We seperately call `unregister` after `move_host` in the refinery.

This commit also fixes some documentation.

Note: the call to `unregister()` is highly fragile and can lead to race
conditions. We are working to replace this with something more robust
(like `tombstone()`).
2024-07-02 13:57:02 +02:00
parazyd
e09f0b192d net/tor: Add a way to retrieve the running onion address 2024-07-02 13:05:43 +02:00
parazyd
ccc5d9cf30 net/tor: Use P2P datastore for Tor's state and cache dirs 2024-07-02 12:13:22 +02:00
parazyd
c6aa5c1544 net: Define a datastore path 2024-07-02 11:51:42 +02:00
parazyd
ba62cdf6e5 net/settings: Convert hostlist into an Option<String> 2024-07-02 11:45:06 +02:00
parazyd
7858b933f2 chore: Update arti crate dependencies 2024-07-02 11:16:22 +02:00
darkfi
c9e13255cf wallet: editbox stub 2024-07-02 11:09:41 +02:00
dasman
1280470758 tau: gitignore python stuff 2024-07-02 01:24:47 +03:00