Great read.

You can be a Lead developer of Bitcoin and still not understand bitcoin:
https://media.utxo.nl/wp-content/uploads/nostr/4/7/47bd310a9804baf3e20a700eb14244053d60cc452a1642decfff6f0b181522bd.webp


good idea


In Nostur the Hot feed and Media Gallery are ranked on likes and reposts. If you are wondering if all the fake likes today are messing it up, don’t worry, it’s based only on likes and reposts from people you follow.

WoT fixed this.
https://media.utxo.nl/wp-content/uploads/nostr/5/5/55a02d79f0545fa03fb1632ec8bbb06e8d482400eff7984ebbcf9f7e3600f33b.webp


the bubbles are files, the lines with labels are folders.


code changes on Nostur, basically this but in an animation: https://github.com/nostur-com/nostur-ios-public/commits/main/


1 year of building Nostur

https://nostur.com/v/nostur-1y.mp4

Looking forward to the next year! Enjoy the holidays all


Yes its a bug, not exactly sure what triggers it, switching Accepted/Requests tabs usually fixes it.

(unless you are logged in with npub, then it should look like that)


#Nostur v1.10.0 is released

New in this version:
- Never miss someones posts with New Post notifications toggle on profile
- Show balance on custom zap sheet if you have NWC connected
- Block for X hours/days/week/month
- Relay Mastery screen to configure published relays
- See published relays from others on profile tab
- Configure to only use some relays if posts can't be found
- Block for X hours/day/week/month
- Redeem card for Cashu tokens
- Use camera directly when creating new post
- Full content rendering in DMs
- Receive home/lock screen notifications
- Include nostr.build in media upload selection
- Restore draft after Undo send
- Many bug fixes and performance improvements

https://nostur.com/screenshots/nostur-release.jpg

https://nostur.com/screenshots/icloud-sync-multi-device-medium.jpg

App Store: https://nostur.com/appstore
Non-App Store: (with zaps on posts): https://nostur.com/Nostur-1.10.0.dmg
Source code: https://nostur.com/source


hmmm I think stacker.news added a minimum amount of 1000 sats


you get an error or?


They could complement each other if we use both. Right now it’s possible to send reports but when receiving reports it doesn’t do anything with them yet. We could leverage WoT to decide which reports are relevant or not.


In your screenshot the profile picture of Ranger looks very different though, could be a very old cached false positive from back when there were code errors if you have been using Nostur since back then, or the pixel checking still needs improvement.


It adds the label if both the following is true:
- you are not following the contact
- it has a 80% similar name and profile picture as someone you already follow

For picture it checks pixels and for name it uses Jaro-Winkler from https://github.com/autozimu/StringMetric.swift I tried levenshtein before but it seemed a bit buggy. Both could probably be improved but I haven't had false positives for a while, there were a few a while back but that was actually related to code errors, not the algorithms.


#Nostur update (TestFlight)

- Faster loading of new post notifications
- Improved post rendering performance
- Show if a post came via proxy (activitypub etc)
- Only do database clean up when phone is on charger
- Added support for reading image metadata from inline urls (NIP-54)
- Fixed nsecBunker connection on non-nsecBunker accounts

https://nostur.com/screenshots/c/nostur-via-proxy.png

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


Weird coincidence but I also have a neck pain the last 2 days, but not as bad as you, hope you get well soon.

Maybe "they" are going after the nostr devs 😆

nostr:note1k3tzgeqrhmwv37e5eq25zztqq2hz0fm0lsw58n3alyp0kjhdhtgsdl6tge


yea looking back the one thing I regret is the name, I’m still looking for a new one, but it will be difficult to top Damus, that name is just… perfect.


Ok good to know. I also found the issue with connecting to nsecbunker, will be fixed in the next update.


This is great! going to try it also. nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 I see the connection string is a bit different than I remember when integrating Pablo’s version, does it work the same or is this a different spec?


I fixed a few things related to slow typing and freezes. I’ll check what I can find between 206 and 219 related to loading.


This should only happen if one of your accounts uses nsecBunker


That is a bit far back to pin down what the problem could be. 206 is before most iCloud sync updates. 219 is before big relays/networking update, you could try that.

On which feed types do you get this? Following/Relay/Contact/Hot/Any/etc  ?


New notifications, profile relays tab, and more.
nostr:note18hnyln0kqqwegypyvt98d2cp5vk5jr9ajsh4lwcjy95ymqykyh6qs834lt


yes


Trying out notifications without going through APNS, not sure how well it will work, we’ll find out soon in TestFlight.
https://media.utxo.nl/wp-content/uploads/nostr/e/7/e7b380c7d26476321b9a59582c10e56c6cbf4b040e61e2a2fe28a86b805c9285.webp


That’s ok, this is about a separate relay list that others can use to reach or find you, you can still use 20 relays, but others only need to know about 2-4 for the whole thing to work.


Clients need to do it right though, not sure which ones are doing what but it doesn’t look good yet

nostr:note1p9z3yexdc32ueyme6n78wsz4fgzfkax6xqptfj406nqj0xqlafzquy42qp


Loads weird for me too on full width, will look into it


hmm the crash on close still seems to happen


Yes it should be separate, there are many useful type of relays that a client could connect to but are useless in kind:10002: blastr relays, special feed relays from nostr.band or nostr.wine, private relays…


After looking at a small random sample of kind:10002 events, it looks to me like clients are ignoring this important note of NIP-65: **Clients SHOULD guide users to keep kind:10002 lists small (2-4 relays).**

I see way too many relays, also its not useful to have blastr relays in there.

It almost looks like a copy paste of kind 3 relays, which then defeats the point NIP-65.


me when I first saw a another JSON string inside JSON on nostr
https://media.tenor.com/kPdZAwlOit0AAAAC/cacacs-the-office.gif


Practise safe nsec - be careful where you enter your nostr private key


The badge system only work for badges that are reputable. Reputation comes from who makes them and how well they are chosen. I would choose a few categories you like watching out and give out Best of 2023 on X type of awards.


#Nostur update (TestFlight)

- Improved main feed scrolling / rendering performance
- Added full content rendering and timestamps in DMs
- Fixed crash when closing / minimizing app
- Fixed camera toolbar button spacing

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


Yes the crashing has been fixed but not on TestFlight yet. 99% videos I’ve noticed too, not sure yet and not all videos


Maybe I could make a choice per type: on, mute, mute+hide tab.

Because I have some muted but I still like to go to the tab sometimes to see whats there


New feature on Nostur 🤙

https://nostrcheck.me/media/public/d77c3d42c2411f2f4290da241fc0776aa3106916261873ca463353b5874edb6f.webp


Curious, can people other than sender/receiver verify these ecash zaps? or we still need a receipt from the mint for that? (assuming you trust the mint)


For me it was
- Open "global”
- See pictures of Jack in a dress
- Never open “global” again, remove feed

https://media.utxo.nl/wp-content/uploads/nostr/4/f/4f5bfbbf98082ea11cc5beece92322ed7f4a7b9c881dfbf5f95a91c4632faad1.webp


Yes or eventually any type of content, basically leveraging Drupal as a CMS for nostr content, could be products, articles, etc


Yes I added it a while back, but it only tries the first relay included in the nprofile atm when it can’t be found the users relays, it doesn’t try all included relays yet


The check for this label is a bit naive right now, will be fixed. When you post from Nostur it is correct but when you post from somewhere else and then receive your own post in Nostur its actually counting "received from"


I think so, but I don’t fully understand the Cashu protocol yet, just picking the low hanging fruit first.


yes


Take pictures, redeem Cashu tokens, never miss posts from someone, and more.
nostr:note1yyzdep0gfz3lyqee7q2c7d4sx0dn5a28hgsmsxrtp9mvnu6s5stq0x2m9v


nice!

Have you thought about turning the drupal site into a “niche” article relay? So in addition to optionally publishing to other relays it would act as its own relay for just the articles, relay hints by others referencing the articles in “e” or “a” tags would be the website url but over wss.


I haven't read the whole article because skimming it and seeing crypto or blockchain as solutions triggered a close tab reflex for me.

But your comment about nostr features around RSS notes is interesting, and I would generalize it to nostr features or conversations around URLs.

NIP-84 (Highlights) sort of does this but it has the emphasis more on a partial blurb that someone finds interesting.

I'd like to see something where the article or URL is the "root", and then your client would show something like "Petri & 2 others have started a conversation around this article".


If someone can login to your Apple ID they can find your nsec if the app:
- stores the nsec in keychain and you have iCloud keychain enabled
- stores the nsec somewhere else on device unencrypted and you have iCloud back-up enabled

So to keep your nsec safe keep your Apple ID safe, or disable iCloud.

Also technically Apple can always get your nsec by pushing a malicious update to your device, but this is very tinfoil.


Correct


I don’t know:

nostr:note17scqddfn59svs2g0v0fdytxj8sfdcy377wxdhxvm3ukkdzsjenxsdqkftv


I was secretly hoping no one is using this so I can remove it but I guess I have to improve it now


nostr:npub1n0stur7q092gyverzc2wfc00e8egkrdnnqq3alhv7p072u89m5es5mk6h0 update
nostr:note1jgwfmg5y4t5sh80mt5fq72sn59plunktd8flydsg3xmt95d2vmjszjsgjj


Low Data mode:
- Doesn't fetch pictures or videos in posts
- Doesn't fetch profile pictures
- Doesn't fetch post stats when scrolling
- Doesn't fetch link previews
- Skips new follower notification checking

Will still show pictures/videos or profile pictures if already downloaded in cache


I did some more testing and it seems pasting with nostr:npub also does not notify in some situations, if you can please wait till next update before using Nostur when pasting npubs.


yes nostr:npub is preferred but I’ll make it work with `@npub` too


hmm I see `@npub…` in the source, Nostur shouldn’t generate it like that, probably because it was pasted? It should work if its pasted as `nostr:npub…`

I’ll check if I can make it work for `@npub…` too


In preparation of implementing the outbox model you can now (finally) publish your relays with nostr:npub1n0stur7q092gyverzc2wfc00e8egkrdnnqq3alhv7p072u89m5es5mk6h0
nostr:note1wqzt4jr558gc92xy4j4qqudmvzg3v2vyafrjskh8x6mnackuh8psq5zjvz


#Nostur update (TestFlight)

- Restore draft on Undo send
- Added iCloud sync for relay settings
- Added Relay Mastery tab to configure your published relays
- Added toggle to use a relay just for search
- Improved notification checking

https://nostur.com/screenshots/c/nostur-relay-mastery.jpg

https://nostur.com/screenshots/c/nostur-published-relays__.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


This reply looks out of context, wrong “e” tag it seems?


On November 28th, #Bitcoin mining will change forever.

Join nostr:npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237lmu63q0uf63m Dorsey, nostr:npub1lh273a4wpkup00stw8dzqjvvrqrfdrv2v3v4t8pynuezlfe5vjnsnaa9nk , Giacomo Zucco, Bob Burnett, and other prominent Bitcoiners live to discuss the Future of Bitcoin Mining.

https://ocean.xyz/event?nostr


also learned nostr:npub1qqqqqqyz0la2jjl752yv8h7wgs3v098mh9nztd4nr6gynaef6uqqt0n47m is a nostr OG
https://media.utxo.nl/wp-content/uploads/nostr/b/9/b98bd10be557e3ba5a94bdf0930d323b6dd1f56e37b5fe5d5064ebf0c5b982ac.webp


Yes found the culprit :) Can’t believe the board didn’t fire him for this.
https://media.utxo.nl/wp-content/uploads/nostr/c/4/c44daed927cead850c3030f4fc7677e77e521e7591d51e50f482bfecf99724f6.webp


I'm curious how they ended up in the contact list, this was from before my nostr journey, anyone knows?

#asknostr


Two wrongs don't make a right, connecting to random urls for nip05 validation is also not good for privacy.

Better use nip05 minimally, just for finding npubs. The idea of using it for verification didn't turn out to be a good idea anyway.


yes on https://github.com/nostur-com/nostr-essentials (used by Nostur) as client and on https://github.com/fabianfabian/nostr-media as server.


I don’t remember changing anything there but I’ll take a look


I also want to make an Android client.

But here are the reasons why I probably won't:
- Android already has Amethyst
- nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s is going to make an android client which I'm sure will be amazing
- I thought I would have time after I finish Nostur on iOS, but nostr evolves fast so Nostur is never finished, there is always something new and interesting to build
- There is the Apple way of doing things and there is the Android way and I don't use Android enough to know how to do things the Android way. This is also why many cross platform apps suck, they don't do things the best Apple or Android way, they do it in 1 way that works on both platforms, leading to not the best but the worst of both worlds.


How exactly should it work? I want to implement all these “hidden” navigation improvements. The last one was navigating back and to top with the bottom tab buttons, explained to me by nostr:npub1lrnvvs6z78s9yjqxxr38uyqkmn34lsaxznnqgd877j4z2qej3j5s09qnw5 and nostr:npub14f6xcqnv8vmauty6wg0mlrs3qg6llwe4lxtzqqpdnlmqah47nxrq60qvty, I never knew this was possible and now I use it all the time.


This would save me so much time!


It is no longer defined by NIP-01, it is described by NIP-01, changing NIP-01 does not automatically change the code in clients and relays.


You may be putting too much weight on the nips repo. If it was shut down today nostr would be fine, another repo fork would replace it.

One entity has complete control over that repo, but that doesn’t define nostr, it has at most a big influence, which can be lost if it no longer reflects what is implemented in clients and relays.


I like the rule for NIPs that at least 2 clients should have it implemented.

That way this "centralized" repository just reflects what is already out there, and what others can also implement if they also want to be interoperable, it is not a top down decision of what every client should implement.


nostr:npub1n0stur7q092gyverzc2wfc00e8egkrdnnqq3alhv7p072u89m5es5mk6h0 1.9.0 is now on the App Store!
nostr:note1lnasdvz4d62v3uylhefqs7jrctnxapu38g3lqk8752mhtl55za9q4u258z


I would do a separate installation but that is a bit more difficult. Specific category or tag is not a bad idea, I will add that.


yes NIP-98 (HTTP Auth) and NIP-96 (HTTP File Storage Integration)


If you have a WordPress website and want to host pictures you post on nostr yourself, you can connect it with your nostr client using this plug-in:
https://github.com/fabianfabian/nostr-media/releases/tag/0.7-beta

Installation video:
https://nostur.com/v/nostr-media.mp4


good idea! will add


Thank you! 💜


Nostur reconnects when coming from background, but it has been a bit buggy in the past, since build 222 on TestFlight I reworked a big part of the network code and its much faster and reliable now.

This is showing no internet -> internet, its similar with coming from background:
https://video.nostr.build/1572166206fe2b235a79200cb387fe0b65d5e2c1db2b5380aacb733117f4ee25.mp4


Just ignore labels outside WoT and increase significance of labels from direct follows.


Good idea 👍


nostr:npub1n0stur7q092gyverzc2wfc00e8egkrdnnqq3alhv7p072u89m5es5mk6h0 update
nostr:note1epk6qv2v3r0m8y67j705hwtfd2d988y735rr3aar9tux6f0srtlssdsdla


Assuming there is some way to know it is sold, i.e. it starts spamming, possible solutions:

If it is a direct follow: Unfollow
If it is a follow within your following graph: show which follows are following the sold nsec so you can inform them to unfollow, or unfollow those who don't unfollow

Labels could probably help with automating this to make it easier


jeez ☹


Is there a NIP somwhere? For now, I'm planning to add just `["client", "Nostur"]`


you can already do that by just making a weird note and saying you posted it from whatever client


Hey thanks! The crash is a bug in the last version, will be fixed soon


No that should still be there, strange


nostr:npub1n0stur7q092gyverzc2wfc00e8egkrdnnqq3alhv7p072u89m5es5mk6h0 update
nostr:note1etcn53h2d2e8twdfjjgchd5kjmxr4hvdf7u660c2cetcjr2uc4hs4ufpqz


Nostr - in my language this is a noun "nostur" and a verb "nostra". It means to work on something with great care and attention to detail.

I just wanted to share that with my fellow  nostriches. Keep up the good work. 💜🧡


Should be like this:
https://video.nostr.build/08ead7408356ac9a015276bac9bce91a2e49d0ba1d20955d28627c5111d6cdfd.mp4


If you open the feed tab and then go to the feed settings (icon next to the turtle at the top) and then choose “Configure contacts..." does it show all your selected contacts or only 1?

If you see only 1 then there may be a duplicate feed. You can delete duplicate feeds from  Sidebar->Feeds and then swiping the feed to the left.


Do you still have the note id or the url of the image that failed to upload?


No right now it shows only the followers that are also followed by the person viewing the profile.

Any hand-picking that may be added in the future will be based on hand-picking by the person viewing the profile, not the person on the profile. For example, if you think someone is important, you would be able to see that this important person also follows this profile.


nostr:npub1n0stur7q092gyverzc2wfc00e8egkrdnnqq3alhv7p072u89m5es5mk6h0 update
nostr:note1gdeg78psmn54qwl06zwdny3j47hgfrfvkaaxvnqf3kfh6skcttsq5sc4kw


No this was supposed to be fixed but I missed a part of embedded posts, will fix.


nostr:npub1n0stur7q092gyverzc2wfc00e8egkrdnnqq3alhv7p072u89m5es5mk6h0 update
nostr:note18y0lzn287wy4hyc8h7wdggcw4q94eud5n79cls4nj097pfaa704slcw8lv


hmm 🤔 sounds like this could have some interesting use cases


Yes, it already backs up own events, but context is coming too


I'm open to suggestions, only names with an available domain name accepted.


Good catch, will fix


I couldn't find the event because my navigation doesn’t have gossip.


Maybe IRC?


yes


Yea I need to add some extra checks on the notifications, I miss some too sometimes. I’m not sure how an “All” view would help, that seems just a GUI thing unless I misunderstand?


Yes but with the custom feeds, I will sync them and then also add export/publish


They are already mixed on the Follow tab, but probably burried beneath all the other posts


No bookmarks are local to the device, not related to any nostr account and only synced across devices if using the same Apple ID

I will add a export/publish to relays so bookmarks will also be interoperable with other nostr apps and then they will be linked to which account you choose during export.


#Nostur update (TestFlight)

- Added synced bookmarks via ☁iCloud, more synced features coming soon
- Remember last typed text on new post, until submit
- Fixed issues with selectable text
- Fixed problem with stretched GIFs

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


Wouldn't you have preferred to know it was fake, if it was possible, before you reacted like this? This is possible to do without censhorship
https://media.utxo.nl/wp-content/uploads/nostr/b/7/b73054ead18e8cc4fa251e6b3f391c1d1d8022ff951c336fe70b5409903c361c.webp


Yes in this case it essentially requires clients to provide some way to easily label something as fake, and then for other clients to read the labels, make some decision probably based on follow graph on which labels to show or not.

Maybe NIP-32 is enough, I need to look into it again, last time I checked it seemed a bit complex.


solution? besides “two legs bad”


That's good advice for the poster of (accidental) fake news.

I’m looking more for a solution for readers, it would have been nice if my client automatically added as a note Pablo’s post:

nostr:note1lrt7542lf0ljgzs07adl8z6a75nmw6aq9rcq0k0m568s9699954s9lgkam

with a reference to Miljan’s post

Which is basically a very simplified version of Community Notes


needs more hashtags


Solutions to fake news on nostr? Are we going to need Community Notes or something similar?

nostr:note1djlnzq44d2zele9gc8f2vj3aw4d4u2jzv5nvlnvu92jke40gaprq0euadk


In a way its possible to do this now by using a different account, post something, maybe to a private “drafts” relay, then on the main account find that post, copy the source and post it again using the Signer


Fixed in next update!


I guess it could be, but wouldn’t it be better to do this with nsecBunker?


Oct 31st is when you make sure you have a copy of bitcoin.pdf in the root folder of all your websites


There is a professional #football club on #Nostr now!

Who are your favorite athletes/teams that you would like to see (already are) on Nostr?

#grownostr #soccer #welcome nostr:note1s7uvfptnrluzpfskc94s6sxckp83l2n6y7rwlpu6u8d5j8nsqkkq7axww4


Test
https://media.utxo.nl/wp-content/uploads/nostr/4/6/465a0ff0b1509782cabe5d67604705de3795339553fa665f105d6d1df9f2fe82.webp


Only resizing to max 2800 width and jpg 85% compression

nostr:npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe is it possible for me to have the original image so I can test some things?


Thanks, Copilot AI
https://media.utxo.nl/wp-content/uploads/nostr/3/5/359358eefcfdd0afbfe34db4aa26942e64be40d6114ffed805103ef2af0bf940.webp


Seems to be something related to the text selection, will look into it


the postr


Which part of Nostur needs to be faster the most?


Fantastic!


Nostr Media Uploads for WordPress update:

- Add API Authorization checks for "method", "kind", "created_at", and "u"
- API gives better feedback in the response if there is something wrong
- Show warning at installation if post_max_size or upload_max_filesize is too low
- Fixed: Unable to remove npub from WordPress user

https://github.com/fabianfabian/nostr-media/releases/tag/0.6-alpha

Demo and installation video: http://nostur.com/v/nostr-media.mp4


Typo: Use nostr for public things not private.


Just show it. If people don't know they won't change behavior.
Its the same with the Last Seen feature I have in Nostur, I don't want to have this feature in Nostur, and people want to to be able to turn it off but its inherent to the protocol, it can't be turned off, so I show it so people are not using nostr under false assumptions.

Use nostr for public things to private.


#Nostur update (TestFlight)

- Enabled text selection on posts and DMs
- Fixed NIP-96 ToS link not opening
- Fixed not using correct account for NIP-96 uploads when using in-post account switcher
- Added timestamp on repost notifications
- Fixed unread notifications sometimes resetting to older count

https://nostur.com/screenshots/c/nostur-text-selection.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


yes its your website url


How to install Nostr Media Uploads for WordPress on your website and use it with Nostur:

https://nostur.com/v/nostr-media.mp4


Nostr Media Uploads for WordPress 0.5:

https://github.com/fabianfabian/nostr-media/releases/tag/0.5-alpha


another test
https://media.utxo.nl/wp-content/uploads/nostr/8/1/81550ade14fc330677ca03f75724e52831296f3925ee15bc3930b39cd08e635c.jpg


I have decided to fork the nostr protocol. This new fork is maximum compatible with the legacy nostr protocol. This fork will be аіrdrοpped for free on all existing and future npubs, and any client connecting to existing nostr network will be also be able to connect to the new fork. The fork is called: postr: Posts and Other Stuff Transmitted by Relays.

NIPs have been renamed to NIPs, which stands for: Now Its Posts.  The new Github is at: https://github.com/nostr-protocol/nips I see many of you have joined already.

Thank you and lets keep building!


Relays you add in Nostur are already hidden, I’m still working on a Relay Mastery screen where you can choose which ones to publish or not.

If you already have published relays you want to hide they are published from another client, you can use another client to remove them.


They are posts


People keep telling me to call my Nostr posts "notes".

Yes, it is "notes and other stuff transmitted by relay". But my note is a post. I posted it. I have used the term "post" for two decades. I posted it.

This is Nostr. We don't have rules. I'll call them what I want. I called it a post. Fight me.

I continue to call posts on "X" tweets as well. I tweet them. My father called tissues "Kleenex" down to his end days and I plan to do the same for this unless or until it just naturally feels right to do otherwise. Every time someone tells me to change my terminology, I just channel my late father and say, "no". I called it what I called it.

I tweet on X and I post on Nostr.

https://m.primal.net/HObu.jpg


nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s is this warning still relevant? I want to implement DIP-01
https://media.utxo.nl/wp-content/uploads/nostr/6/4/646a9cde60176823024ace1f401bcf4ae44d8f6f329b02213a60edeb2ab04de3.jpg


one more test
https://media.utxo.nl/wp-content/uploads/nostr/d/0/d0c0db5b65104add337d851725c451ccd8b618bdfc017946b78cca82599a3be6.jpg


one more test
https://media.utxo.nl/wp-content/uploads/nostr/9/9/99419bec84f431fd9de3cd2a7276c1d59ed05b109573e6844fb9af80c397810d.jpg


WP backend not showing images is a problem with the plugin and upload with “shared” settings shouldn’t happen as that could leak your alt account (but only to your own media server), will fix both soon.

Thanks for testing!


a report


another test
https://media.utxo.nl/wp-content/uploads/2023/10/99419bec84f431fd9de3cd2a7276c1d59ed05b109573e6844fb9af80c397810d.jpg


test
https://media.utxo.nl/wp-content/uploads/2023/10/99419bec84f431fd9de3cd2a7276c1d59ed05b109573e6844fb9af80c397810d.jpg


This one should work on 7.4 or higher:
https://github.com/fabianfabian/nostr-media/releases/tag/0.3-alpha

only 2 php server requirements I haven’t been able to get rid of: ext-xml and ext-gmp. ext-xml shouldn’t be a problem, most WordPress hosting probably have this. ext-gmp I’m not sure, might be a problem for some hosts, it seems one of the schnorr libraries needs it.


I will have a 7.x version up soon that you can try, I managed to remove the things that needed 8.1 that are not needed for nip98.


After visiting BTC Amsterdam, my head was full of Nostr and I needed to write down my thoughts on why this protocol resonates. Plus I tried to write it down in a way some of family and friends can understand it (giving them a purpe pill).

---

For me, Nostr resonates with many trends and signals I follow on the internet. Plus, it matches many of my own personal values around online privacy and digital autonomy. Nostr can fix the web in a similar way how bitcoin can fix the money system. And try to image when the two merge together.

For me it makes sense that Nostr will evolve into a future-proof protocol.

## - Nostr clients are ***local-first***
## - ***Data portability*** between clients
## - You really ***own your identity***
## - ***Privacy*** by default
## - ***Permissionless***
## - Going ***trustless***
## - It’s ***easy*** and developer friendly
## - ***Censorship resistance***
## - Nostr is ***agnostic*** and for any data you would like to share
## - Integrating the ***value4value*** model
## - Backed by a ***community***

My full blog explaining each point: https://sebastix.nl/blog/why-nostr-resonates/

---

### It’s still very, very early
Compared to a new discovered territory, we’ve just started building small shelters. The Nostrverse is still very small with maybe 100 builders who are tinkering their way around the protocol. This means new clients and features popup every week. As now, many clients (and relays) are suffering from different performance issues. Most applications out there are doing one thing incredibly well. This means you need to use many different applications to understand and feel the Nostr experience. That’s currently how I’m moving through the Nostrverse. For now that’s ok. We need that friction to innovate and drive discovery. There is no freedom without restrictions. I’m sure the future will bring many more great applications with features which will show a completely new paradigm on how the web can work for us: the individuals.

---

### My quest on contributing to Nostr
As a developer I'm looking for ways how I can contribute to the Nostrverse. Currently I'm maintaining and building on these projects in my spare time.

* [nostr-php](https://github.com/swentel/nostr-php) - a PHP helper library
* Drupal module: [Nostr internet identifier NIP-05](https://www.drupal.org/project/nostr_id_nip05)
* Drupal module: [Nostr Simple Publish](https://www.drupal.org/project/nostr_simple_publish)
* Drupal module: [Nostr long-form content NIP-23](https://www.drupal.org/project/nostr_content_nip23)

I also have some other technical ideas:

* how Nostr people and applications can benefit more from NIP-65 (many people are loosing their contacts if they start using more than one application)
* how Drupal can be used as a RMS (relay management system for e.g. moderating content) on existing relay implementations

If you would like help me out with my quest, please reach out to me on Nostr. My pubkey is
`npub1qe3e5wrvnsgpggtkytxteaqfprz0rgxr8c3l34kk3a9t7e2l3acslezefe` or search for my Nostr handle `sebastian@sebastix.dev`.


Yes I ran into that too, there aren’t many nostr php libraries, and the one I found requires 8.1, I will try to figure out if we can make it run on 7.x


This is meant for self-hosting, not sure if that is possible with nostr.build. With nostrcheck.me you can self-host and has many more features but can be difficult to setup and maintain. This is supposed to be low barrier self hosting solution that you can just drop in your existing WordPress website, and configure your favourite nostr client to use it (when they start supporting NIP96).


Very early rough version of Nostr Media Uploads for WordPress:
https://github.com/fabianfabian/nostr-media

Host your images and media in your own WordPress installation using this plug-in.

Don’t use in production yet.
https://nostrcheck.me/media/public/0d67c57eed7427690d81ce441694ff3dcc47c72b17f9d488ca3472c6fa2a1a66.webp
https://nostrcheck.me/media/public/24fecab98c7078cf7e6dd3e3bcd7cbfd4a9a0d3bfeb059eb474452b24009aff2.webp


Repo and first working version (on my dev machine at least), here:

https://github.com/fabianfabian/nostr-media


👍 will let you know when its up


I think I might do this, I did some wordpress dev in the past and know how things work but its too long ago for me to build anything useful, but I just asked ChatGPT some questions and it gave me all the right code snippets, got a minimal PoC already.


Added HTTP Auth and Media Uploads to NostrEssentials:

https://github.com/nostur-com/nostr-essentials


those are not the only options


It should be possible to create a wordpress plugin that does nip96


I'm going to try setting up my own nostrcheck server soon but I’m still hoping someone creates a service where I can just point my domain at so I don’t have to deal with all the server stuff.


A demo video for the first three instances of nostrcheck server running on a version of Coracle I am working on. The user has the freedom to choose which media provider he wants to upload his files to (NIP98 compatible of course!)

https://nostrcheck.me/media/quentin/a11889a9652f5c12352a5887f9d08edd3ee69ca6a2b1a287e76ca0d34c3223b1.mp4

Nostur is already compatible. Ask the developers of your favourite nostr client to implement NIP96!

This is already a reality, if you want to be sovereign of your data, let me know and I'll help you.


Gallery, Hot and Articles will only show if your account follows more than 10 people


Yes I did it through https://nostrapp.link

nostr:nevent1qqsxmef9z8aux6xg9xt5gkwmss7n9cg4j9zngkhuxqg7ekmef40tplqahjs8w
https://nostrcheck.me/media/public/c2c89f745d1fbc7e7a9413afbdae3e32da553da21e6ca5b250485e2e4b6f125f.webp


iOS apps have the same problem with opening lightning wallets, hardcoding app specific schemes seems the only solution


yes for Nostur its nostur:nostr:<bech32>


That or the WoT filter is not activating correctly, I think it’s fixed in the latest TestFlight, the current App Store release might be a bit buggy. If you see a count with how many contacts are allowed then its working


You can paste the raw message here and it will say if the signature is valid or not: https://nak.nostr.com


In Nostur you can active the Web of Trust spam filter to stop this kind of spam, I wrote something about it here: https://habla.news/u/fabian@nostur.com/nostr-web-of-trust

https://nostrcheck.me/media/public/8cb789b0a2dada76afd35b23fbabfd2c480e3bccbf822a3d6f6a8f0a7d3e85e3.webp


yes should be fixed next update


I think nostr:npub1alpha9l6f7kk08jxfdaxrpqqnd7vwcz6e6cvtattgexjhxr2vrcqk86dsn nostr.kiwi as a pwa


No not yet


I’m very grateful for OpenSats and its donors for supporting me!

I have been funding the development of Nostur for almost a year by myself, because I believe it is worth it and that nostr is one of the last options remaining to have an open discussion on the internet. I have some buffer which allowed me to do this, and while it won't last forever the OpenSats grant will make it last longer.

For those who have not read my mission yet I posted it a while ago: https://blogstack.io/naddr1qq8xummnw36hyttdd9ehx6t0dcq3gamnwvaz7tmjv4kxz7fwv3sk6atn9e5k7q3qn0sturny6w9zn2wwexju3m6asu7zh7jnv2jt2kx6tlmfhs7thq0qxpqqqp65w8jxczy

nostr:naddr1qq8xummnw36hyttdd9ehx6t0dcq3gamnwvaz7tmjv4kxz7fwv3sk6atn9e5k7q3qn0sturny6w9zn2wwexju3m6asu7zh7jnv2jt2kx6tlmfhs7thq0qxpqqqp65w8jxczy

I'm looking forward to improving the nostr ecosystem further.

A little side note, I am looking for a new name for Nostur, I agree with some of the feedback that Nostur is a bit too much like nostr, and confusing. I'm not glued to the current name, it was chosen just by trying to find a domain name that was still available, everything else was already taken and nostur.com was still free. I haven't found a new name yet but suggestions are welcome.
nostr:note13nk9gd6ej8ycar6zp28ezaq6jzlnyj6edz77ek220gl5d5h28vhs49gw7m


After almost 10 months of nostr at UTC +7, I'll be shifting back to UTC +2, curious to find out what nostr will be like at UTC +2.


#Nostur update (TestFlight)

- Added setting to restrict auto media downloads to follows or Web of Trust
- Fixed notifications not loading
- Show bookmarks and private note totals in tab
- Fixed Web of Trust loading and updating issues
- Fixed buttons/tabs too small to tap
- Fixed DM from profile button not completely loading

https://nostur.com/screenshots/c/nostur-restrict-media-auto-download.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


Yes there is a bug in the last few builds, still trying to squash it


They serve a different purpose, WoT is useful against spam and bots, and mute can be useful if you are not interested in a topic. For example with a WoT you no longer see spam, but you could still want to mute “etf” if you are not interested in that.


On the app store version zap is only on the profile card, the direct download from https://nostur.com has it on posts.

You can also close the app and type on the Terminal:

defaults write nostur.com.Nostur footer_buttons "\\Ud83d\\Udcac\\Ud83d\\Udd04+\\U26a1\\Ufe0f\\Ud83d\\Udd16”


useful, added to my list


Now that I read my post again I see I worded it wrong, leading to probably even more confusion.

What happens is this:
Nostur has a local contact list, could be imported from relays or created from Nostur.
Then when you open Nostur and it receives a new contact list it check it against its local list

it will always add contacts found in the new relay list to the local list

and then if the new relay list has missing contacts there are 3 options:

Remove: removes the contacts from the local list (list from relay is correct)
Restore: add local contacts that are missing in the relay list back and republish
Ignore: just add new contacts found in the new relay list to local, but don't republish or remove anything

Yea maybe a dedicated screen is the only way, I wanted to find away to keep it simple.


No but if you ignore Nostur will still restore the missing contacts locally, it just won’t publish a new contact list to relays. So you can check in the side bar there you see a follow count, if it looks about right you can just unfollow/follow someone random and then it will publish a new contact list.


Idea: this embed thing in the screenshot but for replies, so you can reply to someone on twitter but the reply is on nostr, and anyone opening the nostr reply from twitter will still somehow have the context of the original post so we can continue the discussion on nostr.
https://nostrcheck.me/media/public/6b78d1f4d9544f45c5a7e895f96e2455ba55d38ae7ca44065dbb8c31780ef4dc.webp


The solution for the first will probably be related to PoW.
After date —> has to do with time or duration
Duration can be solved with PoW
But that can broken by more compute
Which can be solved with a difficulty adjustment

I’m not smart enough to solve it further.


It related to not opening too many subscriptions to a relay, but should be possible to do this


There is no way to query relays for posts that are not replies 🤔


good idea, will add


#Nostur update (TestFlight)

- Added ability to set a main Web of Trust account to use in combination with alt-accounts.
- Change on screen keyboard to default with "return" key
- Fixed repost notifications showing other reposts if you were tagged
- Fixed showing someone else's feed not working for new accounts
- Fixed Follow button disabled for new accounts
- Fixed threads not rendering correct on first launch for feeds with replies enabled

https://nostur.com/screenshots/c/nostur-main-wot-account.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


#Nostur update (TestFlight)

- Main feeds: loads faster after changing tabs or reopen app
- Main feeds: improved chronological ordering, less loading of older replies as new
- Fixed issue with posts made offline not sending immediately on connection
- Fixed adding new custom feed not loading properly until after restart
- Fixed mute zap notifications also muting zap errors/timeouts

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


Not sure what you mean with the “new” tab, maybe you added a custom feed with that title? DM button on profile was just added in last TestFlight


So far I’m seeing many of these, is this an example spam event or is there another reason why it shouldn’t be loaded?

I only see them when I turn off the Web of Trust spam filter so its handled like regular airdrop spam otherwise.

https://nostrcheck.me/media/public/5aa411b3019cf44c8c12ab45d0dc1960bc242f4a121fe4e7908e60c851440940.webp


as long as its not Boaty McBoatface


very useful thanks!


Yes this one bothers me the most also, so far the only solution I have would also remove the unread counter and new posts coming in the from the top while keeping scroll position, I prefer to keep those.


Some interesting ideas thanks, bookmarked for looking into these later


it tries to be but sometimes posts come in later from different relays and instead of waiting it already shows whats been received so far, this can mess up the order a bit.

I had a better chronological ordering in older versions but I sacraficed a bit for speed, I have to redo some things to get it back to before while keeping it fast.


Thats good to hear! I did change/clean up a lot of the networking/websocket code in the last TestFlight, I was doing a few things all wrong, probably still not doing right but less wrong is still better.


After receiving events from relays they are put in a "bucket", after a short debounce/throttle the importer takes all events in the bucket and saves them to the local database, every time the importer takes events from the bucket it will show “Processing X..”


My UX blind spot is post/content creation.

I used Twitter so much in the past that I wanted to create my own client for it, that would fix or improve all the things other clients were missing. I was using Tweetbot at the time, it was very good, 10x better than Tweetdeck, 100x better than the native twitter client. When Elon shut down the API I was forced to use normal Twitter again and I hated it. From years of daily use of mostly lists (feeds), across multiple devices, in sync, in chronological order with unread counts, to being forced to use a single "For You" feed filled with garbage and unusable UX for lists was extremely annoying to me.

With Nostur I am recreating everything just to have my normal experience back and I am building it on nostr so it cant be taken away again.

But I am mostly a reader/lurker, so while the reading experience in Nostur is great, posting/content creation is my blind spot, I don't know what features are missing there because I don't use it much and didn't use it much on Twitter either, except for some reply posting on an alt-account.

I believe the best apps are built by devs who use their own apps and I'm not using the posting part of Nostur enough to know what's missing, my experience pretty much stops at posting release notes, I know it's great for that, but for other content I need active posters to tell me what's missing.

So if you are missing something, let me know!


#Nostur update (TestFlight)

- Added DM button on profile and profile overlay card
- Added app wide hiding of posts you have already seen
- More space for configurable reaction buttons
- Fixed blocked but following contact showing as unfollowed
- Websocket/connection improvements

https://nostur.com/screenshots/c/nostur-reaction-buttons.jpg

https://nostur.com/screenshots/c/nostur-seen-tracker.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


Not yet but I will add this


Aha! so that's why…


this👆

not sure what exactly the one liner is but for me it is definitely about the social graph

nostr is kind 0+3
kind 1 is the first application


not sure about the logo but I need a new name first


Strange. I'm using https://github.com/kean/Nuke for images, I'll check if there is anything known about this


Yes repost too, this already works in the released version, but not across all feeds, and some may slip through because the way things are loaded but it already reduces duplicates a lot


There are extremes on both ends, your example is one side the other is using public relays as personal storage for everything


here's one from sep 15 https://pastebin.com/Ch4ddZCw


Working on hiding duplicate posts:
https://nostur.com/screenshots/c/nostur-seen-tracker.jpg
Useful for if you have multiple feeds with overlapping contacts


Shoutout to me (😂😂😂 nostr:npub1qny3tkh0acurzla8x3zy4nhrjz5zd8l9sy9jys09umwng00manysew95gx ) for this new client I'm working on (which I hope to release today)

The threading display looks really nice and I was easily able to do client-side spam filtering pretty successfully; here two very low-quality responses are hidden by default

https://cdn.satellite.earth/4a43b2db0036f3ad10f9dfe5f83fda9e753c74180ab7df7205b177f3e4434bd0.mp4


Do you also zap every Sunday?


Sure sounds good, but I need to read up on NIP-96 first. Does it also allow just linking domain or do you need to self-host right from the start?


noted


#Nostur update (TestFlight)

- Fixed text field missing on custom zap sheet
- Reduced new post sheet slowness
- Added new post button on profile page
- Fixed local account info not updating if changed externally

https://nostur.com/screenshots/c/nostur-custom-zap-text.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


Seeing lots of html in your highlights 🧐


yes this is following without publishing that you are following them


Mute for X hours is coming soon, for now you can use Block, it doesn’t actually unfollow, I think that’s a display issue with the Follow/Unfollow button.


macOS App Store version is always a bit delayed, should be there now


I think I forgot to add it to the custom amount sheet and then never noticed. I’ll add it in the next update.


“There aren’t zaps on iOS.”

Me while still zapping:
https://media.tenor.com/E20uu6HgaAQAAAAC/nicholas-cage-funny.gif


#Nostur 1.8.0 is now on the App Store

New since 1.7.0:
- Button configurator for custom reactions 🔥🫂👀
- Show zap receipt origin and full message content with links and preview
- Show your wallet balance (requires NWC wallet)
- Added support for video streams
- Added reply notification toggles
- Low Data mode toggle: uses less bandwidth
- Many performance improvements and bug fixes
- macOS: Show unread badge on dock

https://nostur.com/screenshots/nostur-180-release.jpg

https://nostur.com/screenshots/c/nostur-reaction-button-configurator.jpg

https://nostur.com/screenshots/c/nostur-zaps-balance.jpg

https://nostur.com/screenshots/c/nostur-notify-selection.jpg

App Store: https://nostur.com/appstore
Non-App Store: (with zaps on posts): https://nostur.com/Nostur-1.8.0.dmg
Source code: https://nostur.com/source


Low Data mode:
- Doesn't fetch pictures or videos in posts
- Doesn't fetch profile pictures or banners
- Doesn't fetch post stats when scrolling
- Doesn't fetch link previews
- Skips new follower notification checking


Seems to be caused by “unusual line terminators" whatever that is, I can probably filter it out, just curious how they got in there
https://nostrcheck.me/media/public/nostrcheck.me_95716112044d79adbf4b5ba60e9efe820b71e957100830eb.webp


Yes definitely, and the companies will use the same line that zuck uses: "We don't sell people's data"

And then they will sell access to info based on your data, analytics on your data, recommendations on your data, they will sell everything about your data except your data itself so they can say they don't sell your data.

The only defense against this is to not publish what doesn't need to be published, nostr is more public than other networks so there needs to be more awareness of this.


It should show your wallet balance, but only if you turned it on and your wallet supports it, I think I may have forgotten to hide it if its off/disabled, will check


#Nostur update (TestFlight)

- Zap improvements: now shows where the receipt came from
- Zap improvements: now shows full message content with links and previews
- Show your wallet balance if your NWC wallet supports it, toggle on in settings first
- Enabled video streams
- Performance improvements

https://nostur.com/screenshots/c/nostur-zaps-balance.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


I'm adding a "receipt from” to make it a bit more clear whats happening.
https://nostrcheck.me/media/public/nostrcheck.me_e02c01dedf34afd8c18a70bdbd1b0c5d02206ddf07045afd.webp


Some day, I will post my first GM.


Trying out Nostur’s low data mode. New images, pfps, videos, etc. don’t show. Just a bunch of links.

https://i.nostrimg.com/bc0a6b22e744d890da468c1e399f26337b0be1e6e52abe3c34ab0bc332807d87/file.jpeg


> The question of how to make a "general" trending feed (to show by default to non-signed-in users) seems like a different, separate thing.

Yeah general/trending is a separate thing and I agree it will help.

> If you are some anon poster who is totally unknown but you have really amazing content it would be optimal to surface that content so that person can actually gain followers.

The surfacing problem is an interesting one, I think it fundamentally comes down to the question: Did you not like this post because you didn't like it or because you didn't see it?

After thinking about it a bit more it seems to me most solutions lead to some centralized recommendation service, but one thing that might be feasible is for a client to keep track of your likes and people with similar likes in your WoT, ie customers who bought this also bought... but for likes from your follows.

It would solve 2 problems: show something you probably like that you would have otherwise missed and the anon gained a like or maybe a follow that would have otherwise never been seen.


Incompatible hardware? Was it always like that or since one of the updates?


#Nostur updates (TestFlight)

- Added button configurator for custom reactions and more 🔥🫂👀
- Added profile pictures to reply notification toggles
- Optimize video loading/scrolling, only loads first frame instead of whole player
- Fixed opening external nostr: links opens empty Search tab
- Fixed macOS dock unread badge not updating for DMs
- Other performance improvements

https://nostur.com/screenshots/c/nostur-reaction-button-configurator.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


When applying a Web of Trust difference between a follow and a follower is critical. A Web of Trust based on followers will never work, at least not in a decentralized way, for the reasons you mentioned.

I like how you are thinking of it in terms of a fundamental source of scarcity. With a Web of Trust based on follows that scarcity starts with the user's follow list, everything else is derived from that input.

The nice thing when everything is derived from that 1 input is that any problem in the output can be solved with a simple 'Unfollow'.


I had my first tiny earthquake experience a few months ago, very unusual for someone not used to being in an earthquake country. I noticed afterwards that the trained reaction for most people is to run outside. My initial reaction instead was "Why is the house shaking so much?". Glad it was just a small one so I know what to next time.


👀
nostr:note13mcy0pkts74dg0n86t34qph3afwwmh8tkyfphj4slf44eczfwezs35jtxy


Agree. The original concept of prisms is great but what I see now is just another way to become a paid shill or MLM.

But I also wouldn’t throw it in the trash just yet, just needs more refinement and iteration, there is still potential there.


#Nostur update (TestFlight)

- Added notification toggles when replying to posts/threads
- Replaced nostr.com for sharing nostr web links with njump.me
- Fixed “@npub” in .content instead of nostr:npub

https://nostur.com/screenshots/c/nostur-notification-toggles.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


remove the ; at the end


Great to have some real world data, thanks for measuring this!


#Nostur update (TestFlight)

- macOS improvements: Restore open tabs on startup
- macOS improvements: Show unread badge on dock
- Low data mode fix: also don't load profile banners
- Remove background color flicker when scrolling on main feed

https://nostur.com/screenshots/c/nostur-desktop-unread-badge.png

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


Nostr and the accidental Web of Trust

Read on web: https://habla.news/u/fabian@nostur.com/nostr-web-of-trust

Read on nostr: nostr:naddr1qqfxummnw3ez6am9vgkk7e3dw3e82um5qgsfhc97pejd8z3f488vnfwgaawcw0ptlffk9f94trd9la5mc09ms8srqsqqqa28deejzz


awesome fast thanks!


PING relay.nsecbunker.com (45.77.231.254): 56 data bytes


#[0] relay.nsecbunker.com is blocking kind 24133?

wss://relay.nsecbunker.com: ["OK","892d5856ca9583b8354cbeb34d04af614af118544616e6d8986f5e5285115dcb",false,"blocked: event kind 24133 not allowed"]


#Nostur 1.7.0 is now on the App Store

New since 1.6.0:
- Added separate notification tabs for reposts and new followers
- Multi account improvements: quick follow without switching account
- 50+ performance improvements and bug fixes

https://nostur.com/screenshots/nostur-release.jpg

https://nostur.com/screenshots/c/fullscreen-nostur.jpg

App Store: https://nostur.com/appstore
Non-App Store: (with zaps on posts): https://nostur.com/Nostur-1.7.0.dmg
Source code: https://nostur.com/source


I’m not sure if nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 had a Web of Trust in mind when designing nostr and its use of public contact lists but I think it’s very important to nostr’s future.

Technically there is no need to publish a follow list, if a nostr client wants to show a feed of follows it just needs a list of contacts, this list does not need to exist in public or on relays, but the fact that it does is what makes the Web of Trust work.

**Accidental**

The only other Web of Trust that I know of is PGP’s Web of Trust, it is only used by IT and security people, which is also the reason why it is unusable for most people. It leaves no room for error because security has the highest priority in those circles.

But on nostr the Web of Trust is a side effect of just following people. You press Follow a few times and you are accidentally building a Web of Trust without even knowing it. It might not be perfect, but that’s also why it works, because it is so simple, like nostr itself.

Attempts to “fix” or improve the Web of Trust should be made with that simplicity in mind. Creating new lists with granularity of people you really trust, partially trust, don’t trust at all etc are all great, but this will make it possible for it to end up like PGP. Nostr’s Web of Trust works precisely because people don’t have to think about it.

There is also this idea that likes, reposts or any signal that can be made by users are useless because they can be gamed, but they can only be gamed if you don’t use a Web of Trust.

**Web of Trust fixes almost everything**

nostr:note1a8nq7kdqgr20dnvzmhv2a6quy8vx3l56pfzjlly3jv2u2l55exhs84cev8

Web of Trust fixes spam, bots, abuse of trending/hot algorithms

Zaps were supposed to fix the problem of gaming/abusing likes or reposts, but Web of Trust fixes it better. Zaps are useful for sending value, so let’s use it to send actual value. 1 sat zaps are not much different from Like-spam and considering the technical overhead required for zaps and possibility for timeouts and failures it’s actually worse.

So, Web of Trust Makes Likes Great Again, and with that you can make algorithms that are useful to the individual instead of the advertisers or platforms.

![image](https://nostur.com/a/nostur-wot.png)
*Example of a most basic Web of Trust filter (follows + follows of follows)*

Nostur uses follows + follows of follows to filter spam and bots, and it uses likes and reposts from follows uniquely ranked to create Hot and Gallery feeds.

Another example is nostr:npub1yxprsscnjw2e6myxz73mmzvnqw5kvzd5ffjya9ecjypc5l0gvgksh8qud4‘s https://oddbean.com, a community website where the content of the community is based on the administrator’s follows, the algorithm is incredibly simple and transparent, and it wouldn’t be possible if nostr did not have an accidental Web of Trust:
![image](https://nostur.com/a/oddbean-wot.png)

**Challenges**

Now there are still some challenges to be solved, new users being onboarded won’t have a Web of Trust yet, maybe we could give them training wheels, a preloaded Web of Trust until they followed enough people to use their own.

Also, new users don’t exist in anyone else’s Web of Trust yet, so they won’t be seen until someone follows them. This is not a good new user experience.

You also might miss someone’s post because they are not in your Web of Trust yet.

These are all challenges and I will keep exploring solutions for these.

Why I think nostr's Web of Trust is important to nostr's future


WoT fixes almost everything


#Nostur updates

Build 192 on TestFlight & submitted for App Store 1.7.0 release:

- Fixed search if it starts with nostr: prefix
- Database performance improvements
- Made tap on bottom tab bar scroll to top on most views
- Fixed quote repost was missing p-tag
- Fixed navigate to contact from DM broken

Next TestFlight (194):

Low Data mode:
- Doesn't fetch pictures or videos in posts
- Doesn't fetch profile pictures
- Doesn't fetch post stats when scrolling
- Doesn't fetch link previews
- Skips new follower notification checking

Will still show pictures/videos or profile pictures if already downloaded in cache

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


Nostur Update (TestFlight) https://image.nostr.build/665a328fb8f4340561e362f85cb8458d79b3c1579d9baeac6c6bbcdab83bd5d2.jpg


👍 will add


Damn this is so well done and clean.

https://oddbean.com/

https://image.nostr.build/baf7a0e882f72cf88a5f5ee8921c0f1ff96d07719d046683f66279904dc448ab.jpg


#Nostur update (TestFlight)

- Updated Notifications: separate tabs for reposts and new followers, mute settings for each
- Show more content before cutting off with "Show more" button on main feed
- Fixed highlight quotes not fetching missing author name
- Fixed unable to fetch content / relay hint usage
- Fixed video not loading for kind 1063 events

https://nostur.com/screenshots/nostur-notification-tabs.png

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


Thanks #[0] 🙏


Thanks #[1] I notice it didn’t render the author’s name, this will be fixed in the next update


https://nostrcheck.me/media/public/nostrcheck.me_5582d41a15bea48d06f2646eb6a943f5fdd48ac4b7facc4a.webp
#[0]


soon


and every post too


FYI, you are not the only one confused about names:

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


Should be no problem to modify created_at in Nostur Signer, it could be that the relays are rejecting your event because it is too far in the past


nostr.wine has been here since February with 99.9% uptime across our 4 regional relays and we aren’t going anywhere 🍷

If you want to support us further, use filter.nostr.wine, our monthly subscription aggregator/broadcaster relay. Learn more here: https://docs.nostr.wine/filter/readme nostr:note1x6ku3cz7m4cc4vv6jfww5ymjg83zeuyhvucafv4mfj32wxvmjw8qut8f9x


#[0] is there a way to link a personal domain to images uploaded to nostrcheck.me?
So, any image uploaded comes back with the URL of my own domain instead of nostrcheck.me?

This way anyone could use nostrcheck.me and still have some control over the images included in posts.

Eventually it would allow people to migrate to their self-hosted nostrcheck.me with all their image URLs still working. I think this aligns with your goal of encouraging anyone to self-host their files.

You could provide an option to export all your images to make migration easier and clients would be encouraged to keep copies of their images so they can easily made available again on another instance if needed.


I think this is related to iOS 17 inline text prediction, will have a fix in next update


yes the app store version can’t have zaps directly on posts


NIP-01 defines “name”, it would be nice if all clients just used that and nothing more. I think the confusion and all other fields comes from it describing to put a username in that field, instead of just name so people invented other fields to put names.


Your reputation is your true private key. Your reputation is what gives your #Nostr keys any value to others in the first place, not the other way around. Nobody follows you because they like your npub; they like you, and so they follow the npub you use. Protect your keys, of course, but it is very easy to generate a new key pair if your old one gets compromised. Be more concerned about your reputation and the value and quality of content you are providing to others. If someone switches to a new key, it will get shared around, and if you wanted to follow them before, you will want to follow them again. Rebuilding a lost follower list is a lot easier than rebuilding a lost reputation.


yes I noticed this too, will fix


#Nostur update (TestFlight)

- Fixed following hashtags not working
- Fixed pull to refresh on Hot + Gallery feed
- Performance improvements, less fetching of things that are not going to be on screen
- Fixed slow typing on iOS 17
- Fixed text overlapping on multi stage input keyboards
- Enabled signature validation by default
- Detect duplicate relays with trailing slash when importing accounts

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


this is content imported from news sites to fediverse by something or someone called Press.coop which is then imported to nostr with mostr, am I understanding this right?


Interesting, so just login and subscribe (follow) to news npubs? no zaps, likes, comments?

I’ll give it some thought


Yes this should be pretty easy to add, not sure if this is the best experience for the other app or website because I don't see any callback or redirect handing control back. But for the one off case of signing a single event I could add that.


The cost you mention for PoW only matters for protecting the history of transactions, it is irrelevant for spam, it actually protects the history of spam as well. PoW works because someone trying to redo transactions would have to have more PoW than the cumulative PoW of all others.
There is no cumulative PoW in nostr, unless you are proposing to turn nostr into a blockchain but that sounds absurd to me.

Maybe I'm missing something so don't let me stop you, if you find a way that works I'll even implement it in Nostur, but I'm not convinced right now.

Just a coincidental anecdote, yesterday I was trying another nostr website and was wondering why the submit button was so slow, when I looked at the produced JSON I understood why when I found a nonce in there 🤷


PoW is essential to Bitcoin but PoW doesn't stop spam, it didn't take off when it was Hashcash and it also doesn't stop spam in Bitcoin, see inscriptions for example.

> then why aren't they spamming nostr right now while the cost to do so is absolutely free?

They are. When I turn off the Web of Trust filter in Nostur I see spam all the time, if you are not seeing it you are relying on your relays doing the filtering for you. Add relay.nostr.band and you will have spam in many replies (with WoT filter disabled).


I see, I think my signer had an issue with one of the tags, first time I’ve seen an integer in there:

 ["l", "tmdbId", 603]


You can only zap from the profile card:
https://nostur.com/v/zap-nostur.gif


Just publishing the metadata rating for The Matrix.


not sure where the rating is stored, I only see 🔟  in the content and an extra tag:     ["t", "tt0133093"],

is that title + rating #[0] ?


Checking out how Nostr Potatoes works by rating my favourite movie

 My verdict: 🔟! ✨ nostr:npub12zxgk9lpn2l5uzgtcraly54luqpa0nyv6a6jmuep298kcwfaru0qrg3sj2🎥🥔😁 #NostrPotatoes

 https://images.metahub.space/background/medium/tt0133093/img.jpg


I think I might turn it on by default again in Nostur, I had it disabled because I assumed it would be a big performance hit, but after your post I decided to do an actual measurement and it doesn’t seem that bad actually. I will do some more testing to be sure.


Can someone explain ZBD to me? From Semisol's comment and their website I have this model in my head that doesn't make sense, play games and earn some sats, okay, so some kid is going to play games, after 3 weeks he earned 10 bucks and now the feds after him????


The one in the side bar includes your silent/private follows, those are the ones where the button shows like this:
https://nostrcheck.me/media/public/nostrcheck.me_2b22c03213cb7d857298c01dcbf71527e798869ba90bb306.webp


Relays が重複している可能性があります。Settings にアクセスして、重複を削除できるかどうかを確認してください。(Google Translated)


Fullscreen Nostur is the best Nostur

https://nostur.com/screenshots/c/fullscreen-nostur.jpg


I have these in my bookmarks:

https://nips.be/search
https://nostrdata.github.io/kinds/


Noted!


#Nostur update (TestFlight)

Multi-account improvements:
- Added exclude accounts from publishing to selected relays, useful for paid relays with pubkey restrictions
- Quick multi follow/unfollow from post menu

- Optimized Gallery + Hot feed loading, will not refetch items already in database
- Fixed truncated highlights
- Fixed nip05 loading issues

https://nostur.com/screenshots/c/nostur-multifollow-sheet.jpg
https://nostur.com/screenshots/c/nostur-publish-to-relay.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


So far, upgrading to Xcode 15 has been a big productivity sink for me, everything is slow, previews often not loading, debug logs unreadable on Catalyst. Can't get anything done :(


Creative way of dealing with limited screen space: Giving custom feeds emoji titles:

nostr:note1n0qxefa4c8l8umpz400m26xpw5ss43hajzyyvurlrtwfvwj5ycesjf06eu


nprofile can also contain relay information, other than that its the same


Today I saw #[0] turn separate posts from a thread into an article and then #[1] turned the article back into separate posts using highlights


Build 179 is on TestFlight with a possible fix


Nostur does this
https://nostrcheck.me/media/public/nostrcheck.me_5260d4f7faed7ce75d45aac4f03bffa8de6d7ba5f11f57c1.webp


Yes, first open the Hot feed, then tap the gear ⚙ top right

https://nostrcheck.me/media/public/nostrcheck.me_593ca4da4dc3a70188891217260510f626e1a3531fda5844.webp


https://github.com/coracle-social/bucket by #[0]


test


That’s insane, will def look more into this, thanks for the feedback


#Nostur 1.6.0 is now on the App Store

New since 1.5.0:
- Clean layout, less clutter and new app color themes
- Hot Feed: Most liked by people you follow
- Gallery Feed: Photos Most liked by people you follow
- Articles Feed
- Show someone else's feed with 1 tap
- Multi-Account: Choose account to post from during post creation
- Improved layout for iPad split screen and slide over view
- "Verification" checks are now Nostr address @-signs
- Toggles for muting follower/reaction/zap notifications
- Show names when confirming to restore contact list
- DMs: Rescan for missing messages
- DMs: Toggle to show requests outside Web of Trust
- Many more bug fixes and performance improvements

https://nostur.com/screenshots/160/nostur-release.jpg

App Store: https://nostur.com/appstore
Non-App Store: (with zaps on posts): https://nostur.com/Nostur-1.6.0.dmg
Source code: https://nostur.com/source


If it happens again, could you try to Rebroadcast from the post menu? If that works, I'll automate that as a workaround until I find out what the real problem is.


#[1] mentioned this too here nostr:note1s7ctek3g7prgvzp8grje5djc6c0pgt0v5eju92evrzpm3eldd6nsu2s5pg but I have not been able to find out how this is happening yet, there is only a 9 second Undo delay, but if you hit Send now or wait out the 9 seconds it should send right away.


Fast app review today, I submitted Nostur 1.6 20 mins ago and already accepted, usually it takes a day or longer
https://nostrcheck.me/media/public/nostrcheck.me_e2f522324ac5e47c9efa9392741343f0a24075b7e0428565.webp


Will will write an entire database from scratch instead of going to therapy ;)


not yet


#Nostur update (TestFlight)

- Added Gallery Feed
- Updated Profile Media Feed
- Show profile and navigate to post when viewing Gallery items
- Fixed Hot Feed not fetching all posts
- Fixed Highlight showing wrong author
- Fixed Article feed stuck on "No articles found"
- Fixed inline post account switch not working for nsecBunker

https://nostur.com/screenshots/c/nostur-gallery-feed.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


#Nostur update (TestFlight)

- Added Article feed
- Updated dutch localization

https://nostur.com/screenshots/c/nostur-article-feed.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


#Nostur update (TestFlight)

- Added mini reply profile pics in post footer
- Added pull to refresh to Hot Feed
- Fixed full width images toggle for Hot Feed

https://nostur.com/screenshots/c/nostur-reply-pfps.jpg

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source


#Nostur update (TestFlight)

- Added mute notification settings for new followers, reactions, zaps
- Hot Feed improvements and fixes:
    - Fixed scroll to top
    - Show selected time frame in Hot Feed tab
    - Added 48 hour time frame
    - Fixed not reloading after account switch or block list update

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source
https://nostrcheck.me/media/public/nostrcheck.me_08fc25ebf97f6e21285757261556089226e2432fd6c95173.webp


What if I don’t want to name my posts notes? /hides


It should show Jack but it’s not including replies atm, might add that, or a toggle


I’m not sure how far back I go without it becoming unuseable, its fetching all the likes from your follows, that can take while


both but TestFlight only


📢 NDK 1.0 is out!

Codename: Outbox ✅

When I set out to write NDK my main goal was implementing the gossip protocol, now known as *outbox model*. I wanted nostr applications to have decentralizing tendencies by *default*; transparent to the developer.

After a few failed attempts, it's finally here, which, paired with a bunch of non-backward compatible changes, prompts me to do a major version bump.

# What is outbox model?

In short, the outbox model allows nostr to fragment, instead of everybody coalescing around a few popular relay and using things like Blastr. Nostr simply doesn't work without the outbox model.

# Main changes:

* Outbox model support, obviously.
* `fetchEvent(s)` is now faster, (particularly with queries using exclusively `ids` filters).
* Fixed unstable relay back-off code (credit goes to nostr:npub1az9xj85cmxv8e9j9y80lvqp97crsqdu2fpu3srwthd99qfu9qsgstam8y8 for the valuable testing infrastructure)
* Defaults to blacklisting wss://brb.io #censorship (credit goes to nostr:npub1az9xj85cmxv8e9j9y80lvqp97crsqdu2fpu3srwthd99qfu9qsgstam8y8  for the widely hinted-at dead relay)
* Subscription aggregation now works when multiple filters run at the same time
* Subscriptions that should close when EOSEd are now closed when each individual relay EOSEs instead of waiting for all of them to EOSE.
* A better algorithm on when to signal a subscription's EOSE. The margin that NDK now gives to relays to EOSE is now a function of how many of the connected relays in the relay set have EOSEd (accounting for relays that are still sending events).
* There are *many* more changes that I needed to do to accommodate for this that I don't remember now.

Some of the most glaring breaking changes:

* `ndk.subscribe` now defaults to keeping the subscription alive; the default of closing subscriptions on EOSE was bothering me
* NDKUser changes the `hexpubkey` from a function to a getter, so wherever you were using `user.hexpubkey()` needs to change to `user.hexpubkey`.

# Enabling outbox model

Outbox model comes disabled by default *for now*, as soon as I test it more throughogly it will be the default.

To enable it you need to instantiate NDK with:

```
const ndk = new NDK({
    explicitRelayUrls: [...],
    outboxRelayUrls: ["wss://purplepag.es"],
    enableOutboxModel: true,
})
```

The outbox model will largely be transparent to you and will work on the background once you enable it.


Using the GoldenEye soundtrack as my coding background music https://www.youtube.com/watch?v=M1MPVbZ-vTg


Video showing what it looks like in Nostur when a #[0] impersonator tries to send you a message:

https://nostur.com/v/imposter-demo.mp4


#Nostur update (TestFlight)

- Added Hot feed: show posts most liked by people you follow
- Added block person to DM context menu
- Added toggle to temporarily show DMs outside your Web of Trust
- Fixed issue with DMs not loading if WoT is empty
- Fixed own sent DM showing as +1 unread
- Fixed video muting issue

TestFlight: https://nostur.com/testflight
Source code: https://nostur.com/source
https://nostrcheck.me/media/public/nostrcheck.me_7d9247da682086f0862a3aca0bc956720f7b8d67f8050242.webp


What's this? oh no! "algorithms"
https://nostrcheck.me/media/public/nostrcheck.me_53b84b34c03e0f23915856183e7b008a29ec22736b3a61ff.webp


It's coming :)


it adds the label if both the following is true:
- you are not following the contact
- it has a 80% similar name and profile picture as someone you already follow


Being in the mountains with no internet reminded me to finish offline posting.

It already works by just posting and then manually rebroadcasting later from the menu, but it should be automatic in #Nostur

#mountains #waterfall #indonesia
https://nostrcheck.me/media/public/nostrcheck.me_8620286937678138141690957803.webp


Got it working in the upcoming TestFlight build:

https://nostrcheck.me/media/public/nostrcheck.me_6720903460370801311690474661.webp


Good suggestions, do you have some example .m3u8 posts I can try it with?


This was fixed in yesterdays update 1.4.0 (135) or do you still have this issue?


Proof of Work doesn't solve spam because spammers have more PoW than regular users. In Bitcoin it is effective  because its 1 against the cumulative PoW of all others. Also, its effective against redoing history, not spam - see ordinals.

There is no cumulative PoW in nostr, so easy win for the spammers.


One thing I want to add to Nostur is a “noise” filter, I haven’t decided exactly how to do this but the use case is this:

I open Nostur after a while, the unread counter on the main feed says 600, with one tap I want to filter GM’s, PV’s, and other “noise”, leaving me with just 50 unread posts.

Basically a What Did I Miss filter. Ideas and suggestions are welcome