GOSSIP USERS on "master" branch:
I've just merged in a lot of unstable work. Here is an explanation of what changed:
Expect some data migrations.
PESON LISTS:
The main change is that you now have multiple curatable PersonLists which you can view as feeds. There is a new menu item "Person Lists" where you manage these. And under "Feeds" you can view any of these lists as a feed. "Followed" and "Muted" are now under this system ("My Notes" and "Inbox" are separate).
These PersonLists are all manually synchronized, just like your kind-3 Contact List (Followed) has always been, because other clients may clobber these. You have to publish them manually, and merge or overwrite changes found in nostr events manually.
You can manage who is on these lists from each person page too. Click an avatar and flip switches!
RELAY COMMS
Just this morning I improved gossip's communication with relays, retrying failed subscriptions when appropriate, waiting for AUTH, and handling CLOSED messages better. This code did not wait for the normal unstable testing, so if you notice any problems with it let me know.
TAGGING
This was already on master, but in case you hadn't noticed we finally fixed the horrid tagging UX. Now you type an @ and start typing a name, and you get a picker to choose from.
TLS
This was already on master. We changed how TLS works. By default it uses rust-based TLS code, but your operating system's native certificate store. This combination helps support relays that live on Tor .onion sites as you can now install .onion certificates locally. However, rust-based TLS code does not like self-signed CA certificates (technically they are not valid - you should instead make your own CA and then issue SSL certificates from it), so if you get "The Trust Settings Record was corrupted" you might want to use native TLS code instead by compiling with "--features=native-tls --no-default-features"
RELEASE
We have a few more things to do like renaming a person list, some bugs to fix, and polish, and then I hope to release a new version
Happy Sunday to those people still living in the weekend!
Follow lists are coming to Gossip! Let's go!
nostr:nevent1qqsq4v6uqf55e8jkq377jvrd2mhdtynx3jvz2a8kjf7yej3t2mgd0hcpzpmhxue69uhkummnw3ezuamfdejsyg8wzxjalaqvrxj4taqlus453uqwvxxfzgjky2hr0dkzhdnmwmzwfypsgqqqqqqsqkhk0l
Really excellent work on this. Love the follow list implementation.
If I toggle "public / private" to private for a person, does that mean that if I publish that list the person who is set as private will not be part of what is published (i.e. I'm following them only from this instance of gossip and nobody can trivially [without access to behind the scenes relay data] see that I am following them?
It means what NIP-51 defines it to mean. The private entries are encrypted into the contents of the list so they are shared with you on other clients, but not visibile to other people looking at the event.
Embarrassed that I can't keep up with the NIPs, but that's awesome.
You can avoid confusion by making a develop branch which can break, and put in master only things you know that are working well
We have these branches:
`master` branch - intended to never be rewritten, all schema changes will only go forwards, safe for general use
`unstable` branch - intended for developers and enthusiasts who want to help test new code, might require database wipes. Might be force pushed (rewritten, not cleanly 'pull'able).
Topic branches - intended for developers only, often just the one developer working on that topic. Totally unsafe, may break databases, tends to get force pushed and rebased onto unstable.