Yo. It’s been a while since I’ve shared any updates about Coop. I’ve been silently working to improve it over the last few months. Today, I’ve released version 0.2.0, it’s stable and robust. You can download and try it here: https://reya.su/coop

about coop:

coop is a NIP-17-focused client for desktop, simple as that.

p.s.:

Thanks to nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 for testing and giving me valuable feedback over the last few months.

Reply to this note

Please Login to reply.

Discussion

running it from source and my inbox relays wss://auth.nostr1.com and wss://frens.nostr1.com fail to AUTH so it barely finds any messages

Can you help me copy the log? I'm also have some auth problems with auth.nostr1.com before, not sure it same error as you.

I've also running a free relay for nip17, you can try it too: wss://nip17.com

i'll add that relay. here are the logs:

```

2025-08-05T10:37:49.419807Z INFO coop: Connected to bootstrap relays

2025-08-05T10:37:49.420162Z INFO coop: Connected to search relays

2025-08-05T10:37:49.491796Z INFO auto_update: Checking for updates...

2025-08-05T10:37:49.510850Z ERROR cargo_packager_updater: failed to check for updates: error sending request for url (https://coop-updater.reya.su/)

2025-08-05T10:37:49.674394Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://relay.primal.net'

2025-08-05T10:37:49.682092Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://purplepag.es'

2025-08-05T10:37:49.715597Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://nostr.wine'

2025-08-05T10:37:49.766815Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://relay.damus.io'

2025-08-05T10:37:49.831925Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://relay.nostr.band'

2025-08-05T10:37:49.930701Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://user.kindpag.es'

2025-08-05T10:37:49.984687Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://search.nos.today'

2025-08-05T10:37:55.010566Z INFO identity: Getting all user's metadata and messages...

2025-08-05T10:37:55.011009Z INFO registry: Starting to load chat rooms...

2025-08-05T10:37:55.011494Z INFO registry: Starting to load chat rooms...

2025-08-05T10:37:55.051438Z INFO coop: Subscribed to get DM relays: nostr:npub107jk7htfv243u0x5ynn43scq9wrxtaasmrwwa8lfu2ydwag6cx2quqncxg - Relays: {RelayUrl("wss://frens.nostr1.com/"), RelayUrl("wss://filter.nostr.wine/"), RelayUrl("wss://pyramid.fiatjaf.com/"), RelayUrl("wss://auth.nostr1.com/")}

2025-08-05T10:37:55.233233Z ERROR nostr_relay_pool::relay::inner: Connection failed. url=wss://pyramid.fiatjaf.com/ error=HTTP error: 429 Too Many Requests

2025-08-05T10:37:55.463374Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://frens.nostr1.com/'

2025-08-05T10:37:55.483993Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://auth.nostr1.com/'

2025-08-05T10:37:55.648099Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://filter.nostr.wine/'

2025-08-05T10:37:55.767465Z INFO nostr_relay_pool::relay::inner: Authenticated to relay. url=wss://auth.nostr1.com/

2025-08-05T10:37:55.859871Z INFO nostr_relay_pool::relay::inner: Authenticated to relay. url=wss://filter.nostr.wine/

2025-08-05T10:37:56.010870Z ERROR nostr_relay_pool::relay::inner: Impossible to handle relay message. url=wss://auth.nostr1.com/ msg=["OK","",true,""] error=Invalid event ID

2025-08-05T10:38:05.769433Z ERROR nostr_relay_pool::relay::inner: Can't authenticate to relay. url=wss://auth.nostr1.com/ error=timeout

2025-08-05T10:38:05.875143Z ERROR nostr_relay_pool::relay::inner: Impossible to handle relay message. url=wss://auth.nostr1.com/ msg=["OK","",true,""] error=Invalid event ID

2025-08-05T10:38:06.481596Z WARN nostr_relay_pool::relay::inner: Timeout reached for subscription, auto-closing. id=15cff13bbf11cbf22942f31b262c59b9

2025-08-05T10:38:06.481596Z WARN nostr_relay_pool::relay::inner: Timeout reached for subscription, auto-closing. id=b9aaf43e46cdc61161f60997186995f1

2025-08-05T10:38:06.482136Z INFO coop: Subscribed to get DM relays: nostr:npub1sgx8tkmn2gm4s788tssy5kgx0qjw9q8efda7wmg4afuyx2smdcjq2q7wnj - Relays: {RelayUrl("wss://relay.primal.net"), RelayUrl("wss://relay.damus.io"), RelayUrl("wss://nos.lol")}

2025-08-05T10:38:06.834408Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://nos.lol'

2025-08-05T10:38:15.771578Z ERROR nostr_relay_pool::relay::inner: Can't authenticate to relay. url=wss://auth.nostr1.com/ error=timeout

2025-08-05T10:38:15.878343Z ERROR nostr_relay_pool::relay::inner: Impossible to handle relay message. url=wss://auth.nostr1.com/ msg=["OK","",true,""] error=Invalid event ID

2025-08-05T10:38:16.484516Z WARN nostr_relay_pool::relay::inner: Timeout reached for subscription, auto-closing. id=bef88b2b890ab0efe9e88924fddfe7c5

2025-08-05T10:38:16.485484Z INFO coop: Subscribed to get DM relays: nostr:npub1vp8fdcyejd4pqjyrjk9sgz68vuhq7pyvnzk8j0ehlljvwgp8n6eqsrnpsw - Relays: {RelayUrl("wss://relay.nostr.band"), RelayUrl("wss://premium.primal.net"), RelayUrl("wss://auth.nostr1.com"), RelayUrl("wss://inbox.nostr.wine"), RelayUrl("wss://nostr.wine"), RelayUrl("wss://relay.0xchat.com")}

2025-08-05T10:38:16.552538Z INFO registry: Starting to load chat rooms...

2025-08-05T10:38:16.741696Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://premium.primal.net'

2025-08-05T10:38:17.120991Z INFO nostr_relay_pool::relay::inner: Connected to 'wss://inbox.nostr.wine'

2025-08-05T10:38:17.171455Z ERROR nostr_relay_pool::relay::inner: Connection failed. url=wss://relay.0xchat.com error=HTTP error: 403 Forbidden

```

I think the problem is this log:

```

2025-08-05T10:38:05.875143Z ERROR nostr_relay_pool::relay::inner: Impossible to handle relay message. url=wss://auth.nostr1.com/ msg=["OK","",true,""] error=Invalid event ID

```

rust-nostr-sdk is verifying the auth response, it required relay must response with event id like describe in nip-42, but auth.nostr1.com just respond with "", so it cause the error Invalid event ID

this issue happen with me too, but strangely if I use login with nsec, it's working fine πŸ₯². Anyway I will find a way to fix it.

oh i see, cc nostr:npub10npj3gydmv40m70ehemmal6vsdyfl7tewgvz043g54p0x23y0s8qzztl5h so you are aware. i'm using nsec too #yolo

When you restart Coop, do you still see empty messages, or does it load now? If not, there is a bug somewhere, and I need to check it.

nostr:npub1zfss807aer0j26mwp2la0ume0jqde3823rmu97ra6sgyyg956e0s6xw445 this is strange. I am unsure how the relay would say OK without an event ID this should never happen. It could be a bug with multi-auth or something but I would need to see a dump of the websocket to debug. Typically I use wireshark for this.

I also ran into with issue on this relay when building nip-17 support for noStrudel

Didn't end up fixing it, the auth just times out :(

I ended up running a free relay for DMs πŸ˜‚. you can try it here: wss://nip17.com

While I have your attention. What do you think about using NIP-40 on the gift wrap event to support messages that "disappear".

I've found that it's kind of nice to have the DM auto remove themselves after a few weeks.

expiration tags should do this, what is that, nip-70 lol, these numbers.

Yes, I think it is the easiest way for now. I will add support for it in Coop later.

well crap

nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr tried nostrudel with my only DM relay is auth.nostr1.com so it must be your bug. I had to tell it my nip17 relay list (of one relay by hand) and then click the "yes i want to authenticate". works fine. perhaps the problem is when you use more than one relay or something :megashrug: :sweating: 🌝

Of course, by "works fine" I mean, the websocket does what it's supposed to do, and nostrudel downloads all the giftwraps. Then since I told it no cache, I suppose it just kind-of fails to decrypt them, even though I gave it a lot of time, the button just seems to do nothing.. Then each time I try to click around, it opens new websockets to auth.nostr1.com that also I assume are lurking asking me to auth but they don't actually ask me so those connections stall.

Looks like its working now. I remember it having a bug at one point but that was a month ago when I was working on NIP-17 stuff

https://cdn.hzrd149.com/2a153953ccdf83cf606ff33d6538c0b27c9e9a082ea1443d5ec321479e4f087a.webp

oh good, good. yeah nothing has been changed in that auth code for many months (last change was multi-auth support).

Maybe it was a different relay. but I do remember running into an issue where it responded with an empty event id

Either way thanks for running that relay. it helps with my DMs

Hi nostr:npub107jk7htfv243u0x5ynn43scq9wrxtaasmrwwa8lfu2ydwag6cx2quqncxg , I've released a new version to improve fetching messages, it should work fine now, you can download and try it here: https://github.com/lumehq/coop/releases/tag/v0.2.1

let me know if you have any issues

Nice, I'll give it a try today!

a few things i noticed right after starting the app:

- auth.nostr1.com still has the issue i reported yesterday

- UI is unresponsive while loading the messages and it's been a few minutes already, looks like messages like this appear in the logs very often: 2025-08-06T05:56:43.916956Z INFO gpui::arena: increased element arena capacity to 1326080kb

still unresponsive, and the messages i'm sending from other clients don't appear right away

I've found a issue that cause double subscriptions on login, this maybe resource hike, I'll push a new release to day to fix it too.

nice, thank you. ping me and i'll give it another try and give you feedback!

I've released a new version, can you help me test it? I found that the issue with auth.nostr1.com is unrelated to missing messages but rather another issue. Your inbox should load fine now.

https://github.com/lumehq/coop/releases/latest

I wonder how many messages you have. Maybe some bugs cause Coop to become unresponsive when there are too many messages. I will looking into it.

I'm also working to improve nip 42 auth.

i looked it up in nostr:npub1gm7gw8q6akeft2pjt270we35vlff0v9g2fene6cxkz2h68q5hl6qls0fte and i have 38 convos i participated in, some 1on1 and some are "groups". i have 8 "requests" from npubs i didn't respond to. they are not that many.

No flatpack release yet?

Ah, I've supported flatpak and snap by default, no other packages

Nice. So let me try it. I hope this time it work. πŸ‘€

I'm also running a nip17 relay based on chapar too, you can try wss://nip17.com

Really? Niceeee. I'm installing it know. πŸš€

Make sure you publish it on flathub too. πŸ«‘πŸš€

I'm not publish to flathub yet, I need do some more testing

Coolll. Just installed it now! With snap. Works great.🫑

Can't find the default relay of Coop. What is the address? πŸ‘€

Found it now. Thanksss. πŸ«‘πŸš€

can you try with flatpak too?, flatpak always slow in my machine, so I didn't testing much with it.

I tried the Flatpak first. But it was using old glibc(?) I think. My system was up to date with Coop requirements. Based on what I understand the Flatpak uses its own environment and packages. But I'll try with a up to date Flatpak version and send you the report.

My experience with the Snap:

It was smooth, but when I tried clicking on icon, it said Exec is not specified in app fields. So I changed the Snap app file and did it manually.

Look like I've configured something wrongs in snapcraft.yaml

Probably. πŸ‘€

Small reports:

1. It doesn't save my light mode preference.

2. It didn't synced my old messages from 0xChat and amey.

3. It repeats the messages in same chat (screenshot)

4. It don't sync in realtime. To receive your last message which is a `Yes`, I had to close and open the app.

Sorry for dirty screen. πŸ€£πŸ’”

I'm working to fix it, I will push a new version on tomorrow

I've released a new version to fixes your issues, you can download and try it here: https://github.com/lumehq/coop/releases/tag/v0.2.1

let me know if you have any issues

Why is Coop connecting to a bunch of relays to get my DMs? I only use 3.

Ah, Coop will **try** to subscribe to a user's DM relay (NIP-17) when it receives the user's relay list (NIP-65). this apply for current user and their contacts. The purpose of this is to ensure the local database contains all necessary data. When a user sends a message, the Nostr SDK won't need to perform **the** fetch DM relay step.

You can check my **detailed explanation** for fiatjaf **here**: [https://github.com/lumehq/coop/issues/87](https://github.com/lumehq/coop/issues/87).

Maybe you need to change the log messages then. It sounds like Coop is trying to download everybody's messages

I will come up with a new message for this πŸ˜…

Also, signing off doesn't seem to be deleting the local DB

Sign off is just remove current user, not the local db. But I will add a option to delete the db too.

Where is the local DB saved so I can do it by hand?

Also, I am not seeing my past DMs anymore. It only loads two users. No error message on the logs :(

Not sure what's going on.

If you are on macOS, you can delete everything in the folder /Users/<>/Library/Application Support/Coop

there are some .dot files, you need to delete it too to make everything clean.

Hi nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z

I've released a new version to improve fetching messages as well as fixed some issues, you can download and try it here: https://github.com/lumehq/coop/releases/tag/v0.2.1

let me know if you have any issues.

Still nothing shows up :(

I've identified and fixed this issue completely. You can try running it directly from the source. I will release a new version after making some other fixes.

This one works. You should release a version :)

Yes, but maybe on tomorrow because I want to do more careful testing.

What's nip 17

Is that like the messaging protocol

Is it ephemeral

Hi nostr:npub103q85z326cxwxzfpg9575cdejl80lsmzycet39zkfxql5tuqkl2svtmpfr ,

NIP17 is encrypted direct messaging scheme for nostr

would love to try it but i needs GLIBC_2.38/39 :( to new for my distro.