Commit Graph

256 Commits

Author SHA1 Message Date
Mike Dilger
f8bb4d74b0 UI rework and fixes, in preparation for three feeds 2023-01-03 10:55:17 +13:00
Mike Dilger
9c10c8a56c tracing logging changes 2023-01-03 10:03:34 +13:00
Mike Dilger
8d7f062a1a Update Metadata 2023-01-03 06:30:06 +13:00
Mike Dilger
f991e4e801 Move failed_avatars list so we can remove items from it when metadata is updated 2023-01-03 00:08:21 +13:00
Mike Dilger
e64c85a5ea Process events that are not text notes immediately 2023-01-03 00:08:17 +13:00
Mike Dilger
e05b68f05e Rename handle of events fetch 2023-01-02 23:29:58 +13:00
Mike Dilger
f991813f27 Minion internal subscribe/unsubscribe generic 2023-01-02 23:23:38 +13:00
Mike Dilger
30aea31818 Remove unused code 2023-01-02 23:23:38 +13:00
Mike Dilger
f1f860f1a9 clippy 2023-01-02 23:23:38 +13:00
Mike Dilger
01b1defa7b Fetcher fixed, plus a requests-in-flight tracker 2023-01-02 22:34:29 +13:00
Mike Dilger
61597e841b Feed: track get_my_event_ids(), get_followed_event_ids() 2023-01-02 21:45:41 +13:00
Mike Dilger
a625cb7c91 People::get_followed_pubkeys() does not need to be async 2023-01-02 21:45:41 +13:00
Mike Dilger
a85c416657 People::get_all() does not need mutable self 2023-01-02 21:45:41 +13:00
Mike Dilger
14d18d635c Revert "New subscription work, not yet in use"
This reverts commit 56dac88404.
2023-01-02 21:24:16 +13:00
Mike Dilger
f89b403beb Revert "Update metadata button (under a menu so it's not too easy to click often)"
This reverts commit 605fa54a37.
2023-01-02 21:23:38 +13:00
Mike Dilger
605fa54a37 Update metadata button (under a menu so it's not too easy to click often) 2023-01-02 13:16:43 +13:00
Mike Dilger
0eec4fad80 person_relay::fetch_matching() on people and relays 2023-01-02 13:10:22 +13:00
Mike Dilger
56dac88404 New subscription work, not yet in use 2023-01-02 13:09:55 +13:00
Mike Dilger
c57977943d Change buttons 2023-01-02 11:30:36 +13:00
Mike Dilger
c5b844c9d2 Include recommended relay url in replies 2023-01-02 09:49:33 +13:00
Mike Dilger
cf7a495ba3 Update for nostr-types change 2023-01-02 08:34:54 +13:00
Mike Dilger
8424f889e8 Render links as links 2023-01-02 07:22:55 +13:00
Mike Dilger
7a830ec89f Don't actually render posts too far outside of the viewable window. Just fake it. 2023-01-02 07:01:40 +13:00
Mike Dilger
4f74b8940a Offline mode 2023-01-02 07:01:40 +13:00
Mike Dilger
1622660f0b Fix status bar covering bottom of feed 2023-01-02 07:00:00 +13:00
Mike Dilger
997e6474df relays: Add more default relays; added ability to add your own; status bar 2023-01-01 22:48:43 +13:00
Mike Dilger
6acff785c6 Show key copy button in person list 2023-01-01 15:45:07 +13:00
Mike Dilger
0297cdf4ae Immediate feedback on follow/unfollow button 2023-01-01 14:54:20 +13:00
Mike Dilger
14a54a5536 Avatars! 2023-01-01 14:40:40 +13:00
Mike Dilger
8585f72392 FIX: bug in fetcher keeping fetched items pending forever 2023-01-01 13:19:39 +13:00
Mike Dilger
522689b388 move people.mod 2023-01-01 12:33:27 +13:00
Mike Dilger
f28ae0d9c6 Stop using the syncer with the fetcher; Remove the syncer 2023-01-01 12:18:27 +13:00
Mike Dilger
26141a27d1 Stop using syncer with people, just spawn a task instead 2023-01-01 12:07:55 +13:00
Mike Dilger
dd0ce06828 Start tokio runtime on main thread and enter context there, so non-async code can spawn tasks too 2023-01-01 11:54:13 +13:00
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