It was ok, as first try. I think relay list check need to be cache ( and async ? ). I have to test more.

Reply to this note

Please Login to reply.

Discussion

I'm so thankful for your tests. Feedback is essential to make the products better.

There are a bunch of improvements needed related to async and using a local cache that require a refactor.

The user relays do get cached but it checks for updates after 3 minutes (perhaps the cache should be used for longer).

The biggest UX improvement with async would be is with `ngit list` which does 4 queries synchronously.

1. checks for profile event updates

2. gets the repository event

3. gets proposals

4. get proposals patches for selected proposal

I think this is only really painful for the user if one of the relays is timing out, as it will take 10s per query.

The reason I didn't do async straight away was because I couldn't find suitable terminal UI widgets in rust that supported dynamic refreshing so I'll need to write my own.

Right now I'm trying to identify where I should focus my effort to learn lessons about:

* what tooling is needed

* how to shape the tools to make it as intuitive and smooth as possible maintainers and contributors

* whether there is even a market for code collaboration over nostr

I'd like to avoid having to do to many big refactors to address different issues which could have more efficiently been done at the same time, but this is somewhat inevitable.