Commit Graph

12 Commits

Author SHA1 Message Date
William Casarin
36c0971fd9 Flexible routing
Another massive refactor to change the way routing works. Now any
column can route anywhere.

Also things are generally just much better and more modular via the
new struct split borrowing technique.

I didn't even try to split this into smaller commits for my sanity.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-09-16 14:50:20 -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
dd60d03407 filter: create filter from contact list
This adds a method for creating filters from contact lists. We will be
using this for creating follow timelines.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-08-30 08:49:29 -07:00
William Casarin
a28db5d330 local thread subscriptions
This adds local nostrdb thread subscriptions. When navigating to a
thread, we first check to see if we have any active nostrdb
subscriptions for that thread. If not, we create a new subscription. If
we do, we re-use that subscription.

This works by storing thread state in the Threads struct in the Damus
application state.

When we pop a route, we check to see if its a thread route. If it is,
then we try to unsubscribe, but only if that is the last remaining
subscriber for that thread, as there could be more than one.

Signed-off-by: William Casarin <jb55@jb55.com>
2024-07-31 13:51:24 -07:00
William Casarin
87f385b683 profile picture image cache
coding from a plane so this is helping alot with PFPs
2024-02-27 14:26:02 -08:00
William Casarin
adc74dd7c9 home: move subscriptions to timeline 2024-02-10 14:56:44 -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
e17b73abab Profile picture processing
This is still single-threaded, so perf is pretty bad. Will need to think
about how to do this more efficiently in a web context where we don't
have threading.
2023-07-06 08:40:50 -07:00
William Casarin
898ccfb132 switch to shatter 2023-07-05 16:40:40 -07:00
William Casarin
3033943e52 parser: add utf8 seeking functions
useful for peeking the previous utf8 char on a 0-copy utf8 buffer view
2023-07-01 11:27:47 -07:00
William Casarin
48af3dde9d many improvements 2022-12-12 14:33:37 -08:00
William Casarin
e6571d8847 initial nostr code 2022-12-11 15:46:18 -08:00