Ken Sedgwick
35e8e536e6
debug: implemented fmt::Debug for NoteId
2024-09-26 12:42:35 -07:00
Ken Sedgwick
f00b301e88
debug: implemented fmt::Debug for Pubkey
2024-09-26 12:42:35 -07:00
kernelkind
6f5f090fbe
Add 'more options' to each note
...
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-09-19 19:04:28 -04:00
kernelkind
de9e0e4ca1
post quote reposts impl
...
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-09-18 11:26:40 -04:00
William Casarin
b3f065fd2e
nostrdb: update to support fast kind6 repost ingest
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-17 15:28:01 -07:00
William Casarin
00091c5088
Switch to Columns
...
Also refactor damus app usage to only pass in things that we need in views.
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-11 15:49:34 -07:00
William Casarin
bc8a8d4a74
perf: coordinate unknown id lookups
...
This is a huge improvement over what it was before. Now all unknown id
lookups are debounced and happen through a central coordinator. This
ensures there is no duplication between timelines.
Fixes: https://github.com/damus-io/notedeck/issues/279
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-02 17:38:18 -07:00
William Casarin
ad244d48c0
fetch contact lists
...
If we don't have a contact list, make sure to fetch one
Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-02 16:22:29 -07:00
William Casarin
71259a8dd5
timeline: initial contact queries
...
This implements initial local contact queries. For testing you can
create contact list columns via:
Examples
--------
Make a contacts column from a specific npub:
$ notedeck --column contacts:npub...
Use the current user's contacts:
$ notedeck --column contacts --pub npub...
We also introduce a new ColumnKind enum which is used to describe the
column type.
Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-30 08:59:48 -07:00
William Casarin
21fd57f2c5
nostrdb: bump version
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-30 07:17:56 -07:00
William Casarin
4ff30304e1
fix android build
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-21 07:48:56 +03:00
William Casarin
1f149aec3b
fix clippy warnings
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-19 21:26:20 -07:00
William Casarin
973a7c780f
thread: remote subscriptions working
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-19 21:22:58 -07:00
William Casarin
9328ef2dff
remove duplicate filter types
...
only use nostrdb::Filter
Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-19 21:12:32 -07:00
William Casarin
d43c46aaf4
nostr: fix parsing of OK events
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-07-31 13:51:24 -07:00
William Casarin
a36ce31fc7
pool: increase default reconnect time to 5 seconds
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-07-10 16:00:38 -07:00
William Casarin
4c490e1436
Merge 'impl linux credential storage' #115
...
From PR description:
See the test_basic() test in linux_key_storage.rs. I ran it successfully
on my MacOS machine and a linux VM. The BasicFileStorage impl just
stores each Keypair as a SerializableKeypair json object with the file
name as the public key hex in ~/.notedeck_credentials. The
SerializableKeypair uses the nip49 EncryptedSecretKey, but we just use
an empty string as the password for now.
The BasicFileStorage impl works in MacOS, but it only conditionally
compiles to linux for simplicity.
pub enum KeyStorageResponse<R> {
Waiting,
ReceivedResult(Result<R, KeyStorageError>),
}
This is used as a response so that it's possible for the storage impl to
be async, since secret_service is async. It seems that secret_service
would allow for a more robust linux key storage impl so I went ahead and
made the API compatible with an async impl.
* kernelkind (1):
impl linux credential storage
2024-07-01 10:49:15 -07:00
William Casarin
a04df88ff6
initial note posting
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-07-01 06:49:12 -07:00
William Casarin
307b8af8f1
enostr: rename Event to Note
...
we will likely replace Note with nostrdb::Note in the future,
this just helps with that transition
Signed-off-by: William Casarin <jb55@jb55.com>
2024-07-01 06:38:08 -07:00
kernelkind
2a47a66bbb
impl linux credential storage
...
Signed-off-by: kernelkind <kernelkind@gmail.com>
2024-06-28 15:27:46 -04:00
William Casarin
1458498131
initial post box view
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-06-17 16:21:46 -07:00
William Casarin
0dd33c90e7
initial navigation
2024-06-11 17:50:09 -07:00
William Casarin
ab08e678a9
filter: add default limit
...
This is just an opinionated default limit if we ever need it (we will)
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-31 09:24:52 +02:00
William Casarin
31b2b5c950
initial refactor in preparation for routing
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-28 15:09:01 -07:00
William Casarin
135a5c99ae
Revert "deps: using tracing instead of log"
...
This reverts commit af92e326f6
.
2024-05-23 16:10:07 -07:00
William Casarin
af92e326f6
deps: using tracing instead of log
...
also update some other deps
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-23 11:16:43 -07:00
kernelkind
95f8623c41
migrate AccountManagementView to enostr Keypair
...
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-14 14:39:05 -07:00
kernelkind
e04c8821d5
Add keypair & update pubkey
...
Keypair & FullKeypair match structs in damus ios
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-08 14:14:37 -07:00
kernelkind
b8177459ab
use nostr in enostr
...
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-05-08 14:14:37 -07:00
William Casarin
f4d496012b
log relay subscriptions
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-29 14:06:20 -07:00
kernelkind
5ee415c1b4
enostr: expose RelayStatus
...
Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-19 14:13:11 -07:00
William Casarin
d4ccf7435f
get all missing ids from all timelines
...
before we were only fetching missing profiles from the first timeline,
update the logic to pull both missing authors and ids from all timelines
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-12 18:52:32 -07:00
William Casarin
6222a7db63
Fix all warnings
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-04-01 10:19:47 -07:00
William Casarin
2936012308
filters: fix hashtag filters
...
We might need to move to something a bit more generic that works
for all generic tag filters.
2024-03-22 10:23:41 +01:00
William Casarin
4ea82cd332
debug: fix annoying decode error message
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-16 11:39:22 -08:00
William Casarin
7dcfde7109
enable passing queries via argument
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-12 01:06:59 -08:00
William Casarin
3e96f815b1
apply cargo warning suggested fixes
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-10 16:19:31 -08:00
William Casarin
9feb6465c0
enostr: remove nostr crate for now
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-10 16:14:45 -08:00
William Casarin
f323fe7379
LOCAL RELAY MODEL IS WORKING
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-09 16:59:49 -08:00
William Casarin
74ce87049d
local nostrdb subscriptions working
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-07 15:18:23 -08:00
William Casarin
9a9bb13e08
enostr: use data instead of strings in Pubkey and EventId
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-07 12:02:13 -08:00
William Casarin
6c2c352e6f
enostr: update deps
...
Signed-off-by: William Casarin <jb55@jb55.com>
2024-02-07 12:01:58 -08:00
William Casarin
f46797ea10
net: geometric backoff connection retries on disconnects
2023-12-24 14:24:22 -08:00
William Casarin
09cd8ff379
pool: implement keepalive pinging
...
To prevent us from disconnecting, introduce keepalive pinging. In the
event loop we check if any relays need a refresh ping.
2023-12-24 12:34:17 -08:00
William Casarin
dd7093288b
relay: add ping method
...
we will use this to ping relays
2023-12-24 12:34:17 -08:00
William Casarin
2526f8001c
make sure it's still working on android
2023-07-09 12:17:54 -07:00
William Casarin
ad8bc9e6c3
enostr: add initial note code
2023-07-06 19:38:49 -07:00
William Casarin
684bc5f913
eventid: asref implementation
2023-07-06 19:36:12 -07:00
William Casarin
80c06e4ec4
pool: fix some warnings when targeting wasm
2023-07-06 19:35:45 -07:00
William Casarin
ba973cbe1b
bump deps in prep for profiling changes
2023-07-06 19:35:21 -07:00