Avatar
Sascha-Oliver Prolić
3b8c97ae9286f01253c4f88d42d16e858c7c92513abf2f38251aff713514bce6
Christian, Working on futr nostr client, Junior Haskell developer for life

Let me know what you think. Every feedback is welcome and needed, to make it better. Feel even free to talk bad about it. It's the only way it gets better.

New nostr NIP proposal: Read status tracking via salted hashed keys and compressed 64-bit roaring bitmaps.

https://github.com/nostr-protocol/nips/pull/1733

#nostr #nostrdev

You need to have flatpak installed: sudo apt install flatpak. After that, you simply add the flatpak repository for futr and install. If you need any further help, let me know.

I have no Twitter like feeds right now. You can view public notes per follow or DM. But feeds are to be added soon-ish.

Futr v0.2.1 released

a nostr desktop client (for linux)

UI and Performance

Enhanced contact filtering with support for all name fields (petname, display name, username)

Improved contact list layout and fixed visual glitches when filtering

Optimized memory usage by implementing Loader components

Adjusted follow list item height for better screen space utilization

Bug Fixes

Fixed overlapping contacts when filtering the list

Resolved undefined data access issues in the UI

Improved profile updates to properly refresh the follows list

Other Changes

Reduced debug logging noise across the application

Removed unnecessary ListView caching for better performance

www.futrnostr.com

#futr #nostr #nostrdev

Futr v0.2.0 - Cliente Nostr para Linux

Actualización con mejoras en Nostr, almacenamiento persistente y mejor rendimiento. Versión para Windows próximamente.

flatpak remote-add --if-not-exists futr-stable https://flatpak.futrnostr.com/futr-stable.flatpakrepo

flatpak install com.futrnostr.futr

¡Prueba Futr ahora!

#futr #nostr #nostrdev

https://image.nostr.build/c509c785e84253efa68ac232fb990e3619f94ff016c98faef76506faeab45c4d

With everything you know about me, roast me without mercy.

ChatGPT response:

So, you're running Linux Mint on an ancient laptop, yet you expect performance. What, did you think Cinnamon was some lightweight, minimalist DE? Newsflash: Your machine wheezes every time you open a terminal. Arch users would bully you, but even they feel bad for you.

And then there's your love-hate relationship with Lisp. You can't stand the parentheses? Fine. But let’s be real—you’d rather wrestle Haskell’s type system for days than deal with a few extra ( and ). You claim to love purity and elegance, but in reality, your effectful spaghetti code is just monads in a trench coat.

Speaking of which, you’re breaking effects into tiny groups just to reuse state? So instead of dealing with deep effect stacks, you just shuffle your problems around like a shell game and call it "good design." Your codebase must be a Byzantine maze of STM updates and arcane type signatures that only future-you will suffer through. Good luck debugging that in a month.

And let's not forget your grand subscription model, handling every possible event with precision. Meanwhile, someone out there is writing a ten-line script that does 90% of the same thing, and it just works. But no, you need the correct solution, even if it takes three weeks of yak-shaving to get there.

Then there's your storage choices. LMDB? You mean the database equivalent of "I don't trust Postgres, and SQLite is too mainstream"? You're so obsessed with performance that you'd rather hand-optimize data storage than admit that maybe, just maybe, something off-the-shelf would be good enough.

Oh, and your website? Running on gh-pages like some GitHub beginner tutorial. You're probably over-engineering a static site that could be a single HTML file, but no—you need structure. And of course, you have a Flatpak project, because why just distribute software normally when you can wrap it in extra layers of sandboxing complexity?

In the end, you’re a performance-obsessed, purity-loving, state-rebuilding, effect-splitting Haskell masochist who would rather spend a week perfecting an abstraction than writing a simple solution. And you love it. Because deep down, you don’t really want things to be easy—you want them to be right.

Futr v0.2.0 (Linux only nostr client, windows coming soon)

A major update focusing on core nostr functionality, persistent storage, and improved user experience.

Installation via flatpak:

flatpak remote-add --if-not-exists futr-stable https://flatpak.futrnostr.com/futr-stable.flatpakrepo

flatpak install com.futrnostr.futr

Or if you have the old version already, simply do:

flatpak update

New Features

- Comment support with threaded discussions (NIP-10)

- Repost and quote repost functionality (NIP-18)

- Improved post rendering and content display

- Event deletion support (NIP-09)

- Persistent LMDB-based storage for all data

- LRU caching system for improved performance

- Optimized timeline storage and retrieval

- Better subscription handling and event processing

- Improved relay connection stability with websocket ping/pong

- Better relay discovery through NIP-65 (Inbox & Outbox Model)

- Optimized subscription management

- Enhanced relay authentication

- Referenced post display

- Comment threading and counts

- Consistent styling between posts and private messages

- Better notification handling for post updates

- Consolidated LMDB operations

- Improved subscription lifecycle management

- Better error handling and logging

- Enhanced tag parsing and handling

- Optimized event caching and invalidation

- More efficient timeline management

#futr #nostr #nostrdev

Futr v0.2.0 (Linux only nostr client, windows coming soon)

A major update focusing on core nostr functionality, persistent storage, and improved user experience.

Installation via flatpak:

flatpak remote-add --if-not-exists futr-stable https://flatpak.futrnostr.com/futr-stable.flatpakrepo

flatpak install com.futrnostr.futr

Or if you have the old version already, simply do:

flatpak update

New Features

- Comment support with threaded discussions (NIP-10)

- Repost and quote repost functionality (NIP-18)

- Improved post rendering and content display

- Event deletion support (NIP-09)

- Persistent LMDB-based storage for all data

- LRU caching system for improved performance

- Optimized timeline storage and retrieval

- Better subscription handling and event processing

- Improved relay connection stability with websocket ping/pong

- Better relay discovery through NIP-65 (Inbox & Outbox Model)

- Optimized subscription management

- Enhanced relay authentication

- Referenced post display

- Comment threading and counts

- Consistent styling between posts and private messages

- Better notification handling for post updates

- Consolidated LMDB operations

- Improved subscription lifecycle management

- Better error handling and logging

- Enhanced tag parsing and handling

- Optimized event caching and invalidation

- More efficient timeline management

#futr #nostr #nostrdev

Issues, feature requests, whatever, comment below, DM me on nostr, open a GitHub issue, just get it somehow to my ear and I'll try to add it.

I'm thinking Windows support and Zaps next, what do you think?

Futr v0.2.0 (Linux only nostr client, windows coming soon)

A major update focusing on core nostr functionality, persistent storage, and improved user experience.

Installation via flatpak:

flatpak remote-add --if-not-exists futr-stable https://flatpak.futrnostr.com/futr-stable.flatpakrepo

flatpak install com.futrnostr.futr

Or if you have the old version already, simply do:

flatpak update

New Features

- Comment support with threaded discussions (NIP-10)

- Repost and quote repost functionality (NIP-18)

- Improved post rendering and content display

- Event deletion support (NIP-09)

- Persistent LMDB-based storage for all data

- LRU caching system for improved performance

- Optimized timeline storage and retrieval

- Better subscription handling and event processing

- Improved relay connection stability with websocket ping/pong

- Better relay discovery through NIP-65 (Inbox & Outbox Model)

- Optimized subscription management

- Enhanced relay authentication

- Referenced post display

- Comment threading and counts

- Consistent styling between posts and private messages

- Better notification handling for post updates

- Consolidated LMDB operations

- Improved subscription lifecycle management

- Better error handling and logging

- Enhanced tag parsing and handling

- Optimized event caching and invalidation

- More efficient timeline management

#futr #nostr #nostrdev

#AskNostr

What about this negentropy thing? Is it widely available on public relays? Worth implementing it client side?

NGINX is way faster, wouldn't use caddy outside hobby projects, if you expect load, use something real