Replying to Avatar Laser

Wishlist for primal.net (cc nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9q586nvr).

1. Store profile metadata in local storage; browser should read from that instantly on refresh then issue a fetch in the background to test for updates. A refresh shouldn't do a full refetch every time: it takes forever and slows the whole experience down.

2. Messages that were marked resurface as unread. It's annoying and makes me want to write a firefox plugin to hide the message button entirely.

3. In Settings>Appearance, allow a minimal mode where the primary nav can be reduced to only icons (no text) and font-size for the entire site can be made larger.

Additional primal.net requests:

A. Actions, like liking a post, should immediately be rendered in the frontend and then queud to be persisted in the backend. Today, a like will only activate the like button once it has been persisted. This makes the entire UI feel slow. Queue actions, never block on them.

B. The frontend only renders once it gets a reply from the backend. This causes the UI to take many seconds before rendering. Instead, the UI should be rendered immediately then populated asynchronously as data comes in. Architecturally speaking, this means decoupling the presentation layer from the data layer, which makes sense for #Nostr given it's heavier, complex data stream.

C. The frontend refetches notes it already has seen before; frontend caching can calculate a hash of the note (or use a unique id if one already exists) to not only display the UI faster but skip fetching duplicate notes that already exist in local data cache.

cc nostr:npub16c0nh3dnadzqpm76uctf5hqhe2lny344zsmpm6feee9p5rdxaa9q586nvr

nostr:note1cd6l3gntmfv8yhmkw855ae9xvyy2jc4ufwk849tqap7kxfv6zumscjp6tu

Reply to this note

Please Login to reply.

Discussion

I'm already doing most of these things in Zapthreads as I've always design things for offline-first

Go to https://zapthreads.dev/ , wait for notes to sync and then reload the page. It's instant.