Commit Graph

222 Commits

Author SHA1 Message Date
Mike Dilger
db6907dea5 FIX: hot loop in overlord when there are no minions 2023-01-01 07:22:57 +13:00
Mike Dilger
c4f30f3d0d Fetcher: changed to interior mutability 2023-01-01 07:03:44 +13:00
Mike Dilger
cef0dcfcb1 bugfix in People::get_followed_pubkeys() 2023-01-01 05:28:32 +13:00
Mike Dilger
533dba7191 follow/unfollow on person page (no immediate feedback because of ui caching person_view_* data) 2023-01-01 05:20:14 +13:00
Mike Dilger
12b0014485 Update for upstream nostr-types Url::is_valid_relay_url() 2022-12-31 20:50:00 +13:00
Mike Dilger
7ae6608c69 Fetcher: a way to GET and cache resources from the web 2022-12-31 19:49:59 +13:00
Mike Dilger
72b086d48d Use PublicKeyHex instead of PublicKey where we can 2022-12-31 15:25:04 +13:00
Mike Dilger
a6bb675f83 All DbPerson functionality is now moved into People, data is in sync 2022-12-31 15:05:32 +13:00
Mike Dilger
8a7e35ac9b GLOBALS.people replaced with a People Manager object that keeps memory and database in sync. [plus a lot of dead code commented out] 2022-12-31 14:37:41 +13:00
Mike Dilger
59abfdd15b Setup a Syncer which will do background database syncrhonzation (when messaged to do so) 2022-12-31 13:55:24 +13:00
Mike Dilger
9994072485 ui: render person 'followed', name line more uniform 2022-12-31 13:51:05 +13:00
Mike Dilger
63d1b3d8ab bugfix 2022-12-30 22:22:19 +13:00
Mike Dilger
47faa42c07 Improve person page 2022-12-30 20:26:00 +13:00
Mike Dilger
2ff85497a9 Person page (click on an avatar to arrive) 2022-12-30 20:16:06 +13:00
Mike Dilger
739b05dd72 Help page to get people started 2022-12-30 18:06:18 +13:00
Mike Dilger
11784b33eb event_new tracking/highlighting 2022-12-30 17:07:30 +13:00
Mike Dilger
bd7363b40e Belatedly wire-up private key generation 2022-12-30 15:14:53 +13:00
Mike Dilger
0fba9d4588 Get rid of unused overlord.private_key 2022-12-30 13:58:09 +13:00
Mike Dilger
1b8ea9d447 Prevent UI lockup by doing try_lock() in a few places, and rendering -1 if we couldn't get a lock 2022-12-30 13:58:09 +13:00
Mike Dilger
ac49a8828d close-all and open-all buttons 2022-12-30 11:33:34 +13:00
Mike Dilger
aeab1e98b1 Ability to collapse threads 2022-12-30 11:15:51 +13:00
Mike Dilger
409860ab29 Remove 'autofollow' setting 2022-12-30 10:25:38 +13:00
Mike Dilger
4969a7a08a Default to 4 relays per person (especially when getting started, if not enough relays, sometimes you don't get anything) 2022-12-30 10:22:40 +13:00
Mike Dilger
d400e4e2f3 Do not send negative unixtimes to relays, keep everything 2020 or newer. 2022-12-30 10:22:40 +13:00
Mike Dilger
359670cf99 cleanup 2022-12-30 10:08:12 +13:00
Mike Dilger
2c9801b9f1 fixup don't hang 2022-12-30 10:07:52 +13:00
Mike Dilger
9e34cd7393 Change some setting defaults 2022-12-30 10:07:22 +13:00
Mike Dilger
cc304d79f4 People page notice about no synchronization 2022-12-30 10:06:17 +13:00
Mike Dilger
9105602016 Don't hang the overlord when processing incoming events 2022-12-30 10:04:38 +13:00
Mike Dilger
003cb3b3f8 Render NIP-05 dns id (not checking validity, most will be strikethrough still) 2022-12-30 09:36:30 +13:00
Mike Dilger
f7e6f567b0 ui: feed background color 2022-12-30 09:35:52 +13:00
Mike Dilger
477fdbcf80 Buffer up incoming events, require "Process N incoming events" button to process them. 2022-12-30 09:15:41 +13:00
Mike Dilger
0adfe4329f bugfix/rework around updating last reply 2022-12-30 08:50:58 +13:00
Mike Dilger
9aa2845366 POW setting for your posts [This currently blocks the overlord while it's computing PoW] 2022-12-30 07:56:59 +13:00
Mike Dilger
9d89d95350 Show POW of posts 2022-12-30 07:14:21 +13:00
Mike Dilger
dcd821de0f Only show key if name is missing; Show key icon next to copy button 2022-12-29 21:56:26 +13:00
Mike Dilger
acbd71ba11 UI to use global(saved) settings; but to edit local(unsaved app) settings 2022-12-29 21:45:52 +13:00
Mike Dilger
7b0d9d6370 Replying has been implemented 2022-12-29 21:17:20 +13:00
Mike Dilger
e9abf2add8 Get button combined 2022-12-29 18:02:09 +13:00
Mike Dilger
139b65010c Slightly larger fonts 2022-12-29 18:02:09 +13:00
Mike Dilger
958989b01e Feed object, only recomputes periodically; comes with a new setting 2022-12-29 16:47:10 +13:00
Mike Dilger
669bcde3f4 Max FPS setting, and repaint at least once per second 2022-12-29 15:37:52 +13:00
Mike Dilger
352b674a60 Hamburger menu on each post. Dismiss option. 2022-12-29 15:37:52 +13:00
Mike Dilger
05b6e91a6e ui: show success/failure in relays table 2022-12-29 14:23:06 +13:00
Mike Dilger
6d9f7760e4 fix: avoid starting minion on bad url 2022-12-29 13:32:56 +13:00
Mike Dilger
8520afdd28 fix get desired events 2022-12-29 13:12:30 +13:00
Mike Dilger
0fa10a8e1c Modify 'since' computation when pulling from relays on startup 2022-12-29 13:12:01 +13:00
Mike Dilger
46281ca6e6 Logarithmic indent, so deep indents don't go too far to the right 2022-12-29 13:11:54 +13:00
Mike Dilger
3839426b8a log nip11 better 2022-12-29 13:09:27 +13:00
Mike Dilger
ba9a47846e Change populate_new_relays() to avoid inserting bad URLs into relays table 2022-12-29 13:08:46 +13:00
Mike Dilger
45c6fe3915 URL related code updated for upstream 2022-12-29 13:07:24 +13:00
Mike Dilger
8593a4e4c7 relays page: put your relays at the top 2022-12-29 06:30:43 +13:00
Mike Dilger
65306f93f3 Simplify font handling, get at least some emojis rendering (even if b/w) 2022-12-28 19:11:24 +13:00
Mike Dilger
1d4e65a963 More ui copy stuff 2022-12-28 19:07:32 +13:00
Mike Dilger
fab8c7400b Improve relay picker 2022-12-28 19:07:14 +13:00
Mike Dilger
cfbcbfd7de clean up 2022-12-28 16:22:12 +13:00
Mike Dilger
d4b70fd85c Add copy button to pubkey of post 2022-12-28 16:20:26 +13:00
Mike Dilger
8d07305875 ui: feed: button to copy post 2022-12-28 16:06:31 +13:00
Mike Dilger
897756bdb9 CopyButton widget 2022-12-28 16:06:15 +13:00
Mike Dilger
33f4d18913 Improve a log message 2022-12-28 13:08:55 +13:00
Mike Dilger
87a91c670e Carry through with post 2022-12-28 13:08:50 +13:00
Mike Dilger
243a9a2af4 show what you need to do at top of feed 2022-12-28 13:08:49 +13:00
Mike Dilger
f583276aa9 ui: Selection of relays to post on 2022-12-28 13:08:49 +13:00
Mike Dilger
825fc8b5bb Overlord to save dirty relays on "save_relays" message (post field only) 2022-12-28 12:18:20 +13:00
Mike Dilger
0bca661974 DbRelay.dirty, a dirty hack flag we will use until we refactor persistence 2022-12-28 12:14:59 +13:00
Mike Dilger
70b161fd7e DbRelay: add 2 fields 2022-12-28 12:14:25 +13:00
Mike Dilger
6be709a9ed schema 6: relay.post 2022-12-28 12:14:21 +13:00
Mike Dilger
7d2985def1 Save keys after importing 2022-12-28 07:30:22 +13:00
Mike Dilger
e327891a52 Generate or Import a Key pair 2022-12-27 23:37:06 +13:00
Mike Dilger
e440475755 If no RUST_LOG env is set, default to Info 2022-12-27 22:59:17 +13:00
Mike Dilger
388e92ac05 Load Signer at startup 2022-12-27 21:58:26 +13:00
Mike Dilger
2802fe01a0 Settings: added PublicKey and EncryptedPrivateKey 2022-12-27 21:58:13 +13:00
Mike Dilger
ef7849e659 Signer 2022-12-27 21:57:51 +13:00
Mike Dilger
83c603a5b6 Switch from Mutex locks to to RwLocks where it makes sense 2022-12-27 20:55:38 +13:00
Mike Dilger
b1995ead86 Strip out dead setting handling code, we use the Setting object now 2022-12-27 19:24:26 +13:00
Mike Dilger
8e95ccab00 New settings: num_relays_per_person, max_relays (with new relay picker logic) 2022-12-27 17:48:49 +13:00
Mike Dilger
c8c6fb04af Increase size of to_minions() channel buffer 2022-12-27 17:43:27 +13:00
Mike Dilger
1c377e058a Fix overlord's wrong usage of default settings 2022-12-27 17:02:46 +13:00
Mike Dilger
daac5124bf bugfix 2022-12-27 16:30:05 +13:00
Mike Dilger
0fdbd03fa1 Follow via public key and relay 2022-12-27 13:25:32 +13:00
Mike Dilger
863b680f04 small style tweak 2022-12-27 12:13:55 +13:00
Mike Dilger
03611e7323 Tweak NIP-35 follow support to work even if relays missing 2022-12-27 11:48:34 +13:00
Mike Dilger
5653bb781a NIP-35 support 2022-12-27 11:32:18 +13:00
Mike Dilger
2072a445df Improve seek by desiring entire reply chain at once 2022-12-26 21:33:26 +13:00
Mike Dilger
ae33ab24f5 Improve search for missing events 2022-12-26 21:16:50 +13:00
Mike Dilger
a86776f5f2 get_missing_events button on feed 2022-12-26 21:07:23 +13:00
Mike Dilger
4f57ad26f5 fix: restore debug logging 2022-12-26 21:07:00 +13:00
Mike Dilger
8b2e8bd4e5 Improve tracing output 2022-12-26 18:50:04 +13:00
Mike Dilger
26a6261312 Even more Url validation 2022-12-26 18:39:12 +13:00
Mike Dilger
ccf969f717 Get desired events (from relays) at startup at least (and minion logging improvements) 2022-12-26 18:27:28 +13:00
Mike Dilger
28c2439989 better new event logging 2022-12-26 17:35:58 +13:00
Mike Dilger
0d503a5857 Tunstenite and reqwest connect timeout 2022-12-26 15:01:49 +13:00
Mike Dilger
a5c5627749 Start driving minions with messages 2022-12-26 14:44:29 +13:00
Mike Dilger
eb8df21e2e overlord: refactor handle_tasknextjoined() 2022-12-26 13:17:22 +13:00
Mike Dilger
bd9f57cb44 overlord: track urls we are watching 2022-12-26 13:05:57 +13:00
Mike Dilger
3795034b1e More Url validation 2022-12-26 12:33:18 +13:00
Mike Dilger
5255d33fdd Update more data on event processing 2022-12-26 12:33:18 +13:00
Mike Dilger
67859ef9e5 On relay success, update relay table, not person_relay last_fetched 2022-12-26 12:14:05 +13:00
Mike Dilger
d693907cf4 Schema 4: relay.last_success_at 2022-12-26 12:14:05 +13:00
Mike Dilger
90563d4da6 ui: relays page: sorted 2022-12-26 09:50:48 +13:00