Commit Graph

1467 Commits

Author SHA1 Message Date
Bu5hm4nn
4ee91da38a RelayEntry: Hide "force disconnect" button when relay is not currently connected 2023-08-08 11:19:52 -10:00
Mike Dilger
bd5bf71f5e fix panic in unsupported event kind 'alt' tag handling 2023-08-09 08:31:26 +12:00
Mike Dilger
c62348cf2c When copying from a DM, copy the decrypted content 2023-08-08 21:15:08 +12:00
Bu5hm4nn
eb6ca10158 RelayEntry [E3]: Implement "Remove relay from personal list" button 2023-08-07 14:11:34 -10:00
Bu5hm4nn
92c3486d88 Merge branch 'master' into feature/relay-list-widget
# Conflicts:
#	src/ui/relays/mod.rs

resolved conflict by moving penalty box to active view for now
2023-08-07 12:48:45 -10:00
Mike Dilger
4af6a1f2f0 NIP-48: show note proxy info 2023-08-08 08:26:43 +12:00
Mike Dilger
976a1e1aa6 Better note cache invalidation when changing people 2023-08-08 06:39:44 +12:00
Mike Dilger
70e5d40176 lmdb: do import only after GLOBALS has been lazy-static created 2023-08-07 16:00:17 +12:00
Mike Dilger
b25a07b491 hover text to explain stats bar 2023-08-07 11:35:06 +12:00
Mike Dilger
cf24e945cf Better rendering of non feed-related events, support 2nd half of NIP-31 2023-08-07 10:56:27 +12:00
Mike Dilger
7afb09853e Track open subscriptions and show in stats bar 2023-08-06 11:37:16 +12:00
Mike Dilger
770e1ecf82 Only verify new events, not duplicates that we discard 2023-08-06 11:20:00 +12:00
Mike Dilger
014dc4a190 FIX: update last eose was not saving 2023-08-06 11:12:55 +12:00
Mike Dilger
506a6d3b64 Cleanup/minor fix subscriptions of threads 2023-08-06 10:17:50 +12:00
Mike Dilger
28ad46a83a search: Handle nostr URLs and bech32 encodings and find those things 2023-08-06 10:05:07 +12:00
Mike Dilger
c68c54d696 fetcher: better comment; fetch shouldn't be pub 2023-08-06 10:03:41 +12:00
Mike Dilger
4cfb7cdd25 Merge branch 'unstable' into lmdb 2023-08-06 08:17:47 +12:00
Mike Dilger
aee795fda9 fetcher: wait 30 seconds if requeueing 2023-08-06 08:17:11 +12:00
Mike Dilger
5060f8799b Merge branch 'unstable' into lmdb 2023-08-06 07:53:06 +12:00
Mike Dilger
00148740ad Add number of events processed to stats bar 2023-08-06 07:52:24 +12:00
Mike Dilger
94259d220a Fix image orientation 2023-08-06 07:51:19 +12:00
Mike Dilger
a298d116c7 bias minion event handling to prefer overlord messages 2023-08-05 16:15:15 +12:00
Mike Dilger
bba6ad5073 lmdb: has_event() optimization 2023-08-05 16:14:21 +12:00
Mike Dilger
f56d00022f Merge branch 'unstable' into lmdb 2023-08-05 16:12:39 +12:00
Mike Dilger
dd67df119c fetcher: show status code on other error 2023-08-05 14:47:19 +12:00
Mike Dilger
9f0b242bd2 Merge branch 'unstable' into lmdb 2023-08-05 14:21:17 +12:00
Mike Dilger
9bdfe47f43 fix fetcher fall-through 2023-08-05 14:11:40 +12:00
Mike Dilger
2d0ebafcab Improve logging of lmdb migration 1 2023-08-05 10:13:54 +12:00
Mike Dilger
58bd2b7299 FIXES: more fixes in recent lmdb code 2023-08-05 10:02:26 +12:00
Mike Dilger
df5a250176 FIX: several critical commit()s were missing 2023-08-05 09:46:55 +12:00
Mike Dilger
2e7bcc129f Merge branch 'unstable' into lmdb 2023-08-05 09:29:24 +12:00
Mike Dilger
205a28f84a Passing transactions through storage calls 2023-08-05 09:29:02 +12:00
Mike Dilger
ea2d521c6c Use shatter content to highlight drafted post, so it matches the highlighting that will be in the event. 2023-08-05 08:13:33 +12:00
Mike Dilger
2c94ff9201 tweak augments code 2023-08-05 07:41:30 +12:00
Mike Dilger
c9ba4b0fcd Fix #438 Failed to setup database connection (on first run) 2023-08-04 22:23:10 +12:00
Mike Dilger
d9aff6a664 Try to share transaction on migration1, see how it affects disk usage 2023-08-04 11:25:17 +12:00
Mike Dilger
83a977d01a cargo clippy 2023-08-03 11:10:36 +12:00
Mike Dilger
c0dadafd7d Remove event_tags index and two unused temporary functions 2023-08-03 11:10:36 +12:00
Mike Dilger
feba64d9d2 Merge branch 'unstable' into lmdb 2023-08-03 11:09:52 +12:00
Mike Dilger
4e384bcde5 FIX: fetcher success status issue 2023-08-03 11:09:10 +12:00
Mike Dilger
3594f70c64 Use a smaller 24GB lmdb maximum 2023-08-03 06:17:41 +12:00
Mike Dilger
4c67016675 Merge branch 'unstable' into lmdb 2023-08-02 22:12:38 +12:00
Mike Dilger
1e7eb30d6b Fix even more fetcher problems 2023-08-02 22:12:13 +12:00
Mike Dilger
4ad66a7197 Merge branch 'unstable' into lmdb 2023-08-02 21:40:02 +12:00
Mike Dilger
460565fdd8 Workaround badly cached images and fetcher-etag-cache error causing avatar failure 2023-08-02 21:34:12 +12:00
Mike Dilger
f5fe7a059e some cargo clippy 2023-08-02 19:05:41 +12:00
Mike Dilger
d421b499fb cargo fmt 2023-08-02 19:03:52 +12:00
Mike Dilger
08b9013633 Get merge to compile 2023-08-02 19:03:38 +12:00
Mike Dilger
216b71d56d POSSIBLE MERGE remote-tracking branch 'remotes/bushmann/feature/relay-list-widget' into try 2023-08-02 18:54:04 +12:00
Mike Dilger
f6a3e97012 Add relays to stats bar 2023-08-02 18:39:42 +12:00
Mike Dilger
3021196702 Status line at the bottom; reorg help stats 2023-08-02 18:20:42 +12:00
Mike Dilger
4b87dd6804 On shutdown, every 10 seconds, signal the minions again (channel might drop messages under high load) 2023-08-02 17:50:36 +12:00
Mike Dilger
d4a7104a58 Update for nostr-types new PublicKey type 2023-08-02 17:50:36 +12:00
Mike Dilger
b04d64b0eb Increase size of to_minions channel (in case of slow situations/machines) 2023-08-02 17:27:17 +12:00
Mike Dilger
b2a1dc3f6a Bring some feeds back to 1 month, not 1 year 2023-08-02 17:26:48 +12:00
Mike Dilger
df1239e05e inbox feed using new index 2023-08-02 17:21:21 +12:00
Mike Dilger
3101bd3ff0 Collect and show storage stats 2023-08-02 17:21:06 +12:00
Mike Dilger
c185d6e531 lmdb: index: event_references_person 2023-08-02 17:21:06 +12:00
Mike Dilger
d76325c267 feed: dont load augments, don't filter augments 2023-08-01 15:19:34 +12:00
Mike Dilger
b08fedf8b8 Update for nostr-types change 2023-08-01 09:17:31 +12:00
Mike Dilger
b3fa700ebf Implement indices, first pass 2023-07-31 19:56:19 +12:00
Mike Dilger
817ad52dd4 cargo fmt & clippy 2023-07-31 17:52:31 +12:00
Mike Dilger
3f89799630 Describe how to shrink the LMDB files in the prune help. 2023-07-31 17:49:26 +12:00
Mike Dilger
53130bb83b Fix prune 2023-07-31 17:46:44 +12:00
Mike Dilger
b74f9c1178 Sync LMDB when shutting down, just in case 2023-07-31 17:46:44 +12:00
Mike Dilger
86356ccccf Be more consistent about how LMDB keys/values are handled 2023-07-31 17:46:44 +12:00
Mike Dilger
31e4ce8108 storage.prune(from_when) 2023-07-31 17:46:44 +12:00
Mike Dilger
ced0c6b46d Disable sync during import and migration 1 2023-07-31 17:46:44 +12:00
Mike Dilger
3c07cc3d96 lmdb: turn sync back on, will sync on each commit 2023-07-31 17:42:41 +12:00
Mike Dilger
cc0c646a9f Mark migration as done after importing 2023-07-31 17:37:53 +12:00
Mike Dilger
c6428f02fc Log progress during LMDB import 2023-07-31 17:37:53 +12:00
Mike Dilger
7b2045113b Strip out the database connection 2023-07-31 17:37:53 +12:00
Mike Dilger
ddfc75a238 Strip back SQLite startup - don't upgrade anymore, just create the connection 2023-07-31 17:37:53 +12:00
Mike Dilger
161d9ddbce lmdb: switch to LMDB for person_relay 2023-07-31 17:37:53 +12:00
Mike Dilger
cdc4405da9 lmdb: person_relay: Create Database and Import from SQLite 2023-07-31 17:37:53 +12:00
Mike Dilger
cacd405db4 Change types/names of fields in PersonRelay 2023-07-31 17:37:53 +12:00
Mike Dilger
05ed0ce430 move PersonRelay out of db/ module 2023-07-31 17:37:53 +12:00
Mike Dilger
b72cf26049 fix pubkey rendering 2023-07-31 17:37:53 +12:00
Mike Dilger
a0f6c19125 Move relay.rs from /db to / 2023-07-31 17:37:53 +12:00
Mike Dilger
4b8316de4d Rename DbRelay -> Relay 2023-07-31 17:37:53 +12:00
Mike Dilger
add7c99303 Load last contact list data at startup so we have data on the people-followed page 2023-07-31 17:37:53 +12:00
Mike Dilger
162c1e0727 When importing settings, force setting for feed refresh interval to at least 5 seconds while LMDB is slow 2023-07-31 17:37:53 +12:00
Mike Dilger
93fddc6cf0 lmdb: switch to LMDB for person 2023-07-31 17:37:53 +12:00
Mike Dilger
a0e28fbcfc lmdb: person: Create Database and Import from SQLite 2023-07-31 17:37:53 +12:00
Mike Dilger
7cd7c2362a Dispense with Person.loaded 2023-07-31 17:37:53 +12:00
Mike Dilger
69d0f98d7d Fix bool data types in struct Person 2023-07-31 17:37:53 +12:00
Mike Dilger
6b43ae7558 Major rework away from PublicKeyHex towards using PublicKey instead. NOTES:
We plan to switch to a different secp256k1 library soon, at which point this PublicKey will
become interoperable again, e.g. in gossip-relay-picker
2023-07-31 17:37:53 +12:00
Mike Dilger
344ef0d041 Renames: DbPerson->Person, DbPersonRelay->PersonRelay 2023-07-31 17:37:53 +12:00
Mike Dilger
3d0ec5af81 lmdb: retire EventRelay 2023-07-31 17:37:53 +12:00
Mike Dilger
4e6dab17aa Stop trying to load events from the database at startup - we access it directly now 2023-07-31 17:37:53 +12:00
Mike Dilger
edc2ef490f lmdb: Switch to lmdb relationships map [plus code adjustments to make migration work] 2023-07-31 17:37:53 +12:00
Mike Dilger
4209062517 lmdb: event_relationships: Create Database, Migration to process all event relationships 2023-07-31 17:37:53 +12:00
Mike Dilger
0d3483bf29 lmdb: Finish switching to lmdb for events 2023-07-31 17:37:53 +12:00
Mike Dilger
02984ae1ef storage.find_events() performs more efficient scanning of lmdb events 2023-07-31 17:37:53 +12:00
Mike Dilger
3ef5f7a49e lmdb: Partial switching to lmdb for events 2023-07-31 17:37:53 +12:00
Mike Dilger
5b587c9803 Finish replacing DbEvent 2023-07-31 17:37:53 +12:00
Mike Dilger
6d4269b4ca Speed up search with less deserialization 2023-07-31 17:37:53 +12:00
Mike Dilger
49e7942f0b lmdb: search_event() 2023-07-31 17:37:53 +12:00
Mike Dilger
6b537dc431 Settings::feed_displayable_event_kinds() 2023-07-31 17:37:53 +12:00
Mike Dilger
c3ae6b6775 Error: handle regex::Error 2023-07-31 17:37:53 +12:00
Mike Dilger
36148316ea lmdb: temporary fetch_reply_related_events() and fetch_relay_lists() 2023-07-31 17:37:53 +12:00
Mike Dilger
692fc72425 Partial retiring of DbEvent to use nostr_types::Event with LMDB 2023-07-31 17:37:53 +12:00
Mike Dilger
c40f381971 lmdb: event: Create Database and Import from SQLite 2023-07-31 17:37:53 +12:00
Mike Dilger
4bc1918f75 lmdb: event_tags: Switch to LMDB 2023-07-31 17:37:53 +12:00
Mike Dilger
98dda51c97 lmdb: event_tags: Create Database and Import from SQLite 2023-07-31 17:37:53 +12:00
Mike Dilger
33d0315e87 lmdb: relay: Switch to LMDB [Large with additional changes] 2023-07-31 17:37:53 +12:00
Mike Dilger
7bb0d9a703 lmdb: relay: Create Database and Import from SQLite 2023-07-31 17:37:53 +12:00
Mike Dilger
dc5d5783a4 lmdb: event_hashtags: Switch to LMDB 2023-07-31 17:37:53 +12:00
Mike Dilger
ce99b47835 lmdb: event_hashtags: Create Database and Import from SQLite 2023-07-31 17:37:53 +12:00
Mike Dilger
72b60f8a19 lmdb: event_flags: Switch to LMDB 2023-07-31 17:37:53 +12:00
Mike Dilger
06326ac91e lmdb: event_flags: Create Database and Import from SQLite 2023-07-31 17:37:53 +12:00
Mike Dilger
3c5ef55fd9 lmdb: key! macro (to avoid LMDB errors with keys longer than 511 bytes) 2023-07-31 17:37:53 +12:00
Mike Dilger
0663477f3a lmdb: event_relay: Switch to LMDB 2023-07-31 17:37:53 +12:00
Mike Dilger
ff8db47f7c lmdb: event_relay: Create Database and Import from SQLite 2023-07-31 17:37:53 +12:00
Mike Dilger
3adab6531e lmdb: MAX_LMDB_KEY = 511 2023-07-31 17:37:53 +12:00
Mike Dilger
b613f92486 lmdb: settings: Switch to LMDB 2023-07-31 17:37:53 +12:00
Mike Dilger
803060b091 lmdb: settings: Create Database and Import from SQLite 2023-07-31 17:37:53 +12:00
Mike Dilger
2fdba6c362 lmdb: local settings: last_contact_list_edit: Switch to LMDB 2023-07-31 17:37:53 +12:00
Mike Dilger
6927584cae lmdb: local settings: EncyptedPrivateKey: Switch to LMDB 2023-07-31 17:37:53 +12:00
Mike Dilger
da0d254c74 lmdb: local settings: Create Database and Import from SQLite 2023-07-31 17:37:53 +12:00
Mike Dilger
54b1d9e19e lmdb: Setup for importing into LMDB 2023-07-31 17:37:53 +12:00
Mike Dilger
972c4d4506 lmdb: Setup LMDB when creating Storage 2023-07-31 17:37:53 +12:00
Mike Dilger
a917b5cde5 lmdb: Add lmdb dir to profile 2023-07-31 17:37:53 +12:00
Mike Dilger
2a30c38b85 lmdb: storage module 2023-07-31 17:37:53 +12:00
Mike Dilger
db8d123349 Handle several stdlib errors we will soon encounter 2023-07-31 17:37:53 +12:00
Mike Dilger
f1953063ea Handle errors from lmdb and speedy 2023-07-31 17:37:53 +12:00
Mike Dilger
955d25d61a Derive speedy serialization traits where we can (and serde where we missed) for stored data 2023-07-31 17:37:53 +12:00
Mike Dilger
768022a1c2 Allow data_dir/gossip to be a symlink 2023-07-31 10:57:05 +12:00
Mike Dilger
9740c0bcbf Fetcher loop honors shutdown flag; shorter timeouts to keep moving 2023-07-29 13:22:24 +12:00
Mike Dilger
8adbcf6623 fetcher: cleanup some, and use stale cached data if the fetch for refreshing fails, fetch in parallel 2023-07-28 13:29:14 +12:00
Mike Dilger
accc0ab6b8 Use async-friendly tokio::fs in async code 2023-07-28 07:28:04 +12:00
Mike Dilger
aafe115c92 fetcher: Maintain a per-host load count, don't allow more than 3 in-flight to any single host 2023-07-27 19:41:57 +12:00
Mike Dilger
c19e88507b Fetcher reworked 2023-07-27 16:12:35 +12:00
Mike Dilger
f532b75d40 Don't echo the "Done picking relays" results as info (do as debug) 2023-07-27 16:12:35 +12:00
Michael Dilger
0758eb7c1f
Merge pull request #435 from dtonon/fix/cut-nip11-output-on-parse
Keep only the first 10 output lines when unable to parse NIP-11
2023-07-27 13:52:00 +12:00
Mike Dilger
c880465665 Consider relay disconnection errors significant enough to penalty-box them
related to #433, improves that situation
2023-07-27 08:14:08 +12:00
Mike Dilger
0b0cd34d56 Merge branch 'master' into unstable 2023-07-27 08:01:40 +12:00
Mike Dilger
9f6b2538f6 Revert "Fetcher: refresh if too old; Store etag and only download if-none-match the etag"
This reverts commit e837b69492.
2023-07-27 08:01:16 +12:00
Daniele Tonon
ee00bc8f3c Keep only the first 10 output lines when unable to parse NIP-11 2023-07-26 13:17:49 +02:00
Mike Dilger
3cf8d9cc52 Remove two unused Relationship variants (created, never read back) 2023-07-23 19:14:29 +12:00
Mike Dilger
1fba6a126a Remove the never-used DbContact 2023-07-23 19:12:48 +12:00
Mike Dilger
1123de1a5f Minor UI improvement 2023-07-23 18:54:28 +12:00
Mike Dilger
a03310196e cargo fmt & clippy 2023-07-23 11:26:02 +12:00
Mike Dilger
5eae10c2fd Zapping: can copy invoice; QR is in uppercase so simpler 2023-07-18 13:22:31 +12:00
Mike Dilger
f92e8eb570 cargo fmt 2023-07-18 09:38:23 +12:00
Mike Dilger
ab5f230533 Change default settings; clean up settings code 2023-07-17 09:32:44 +12:00
Mike Dilger
57f215b339 Allow emojis in hashtags 2023-07-17 08:46:33 +12:00
Mike Dilger
479f346bd0 Create 't' tags for hashtags found in content 2023-07-17 08:23:56 +12:00
Bu5hm4nn
4d12e3473d Relay Lists:
- cache relay list during editing to prevent re-arrangement
- but update edited entry so changes are reflected
2023-07-15 22:55:00 -04:00
Mike Dilger
e837b69492 Fetcher: refresh if too old; Store etag and only download if-none-match the etag 2023-07-16 10:39:13 +12:00