If anyone out there is currently dissatisfied with their nostr client, may I humbly suggest Coracle. It is stable, reasonably fast, and has better feed customization than anyone else. It also now comes in "android" flavor as well.
Haven looks awesome, I have a question though, is it available at a single url and adapts policy based on auth? Or is it available at multiple urls for use in different client settings? The "Four Relays in One" bit confused me.
Got it, you might add that information to the readme. Any particular reason you decided to use paths? In the past this has resulted in a single client being unable to deduplicate connections to a single logical server, sucking up resources unnecessarily (nostr.wine/pubkey being an example).
I was thinking some kind of invite link with a secret in it that would allow the issuer to auto follow the new user. Kind of a referral link. The new user would publish some kind of message only the issuer could read, and the issuer could listen for that and follow on validation. You might want to make these single use to prevent them being stolen and re-used.
Hmm trying to install apktool, getting a few errors:
```
✔ Are you sure you trust the signer and want to install apktool? · yes
✔ The executables () already exist in PATH, likely from another package manager. Would you like to continue installation? · yes
⠋ Installing package apktool...Unhandled exception:
FileSystemException: Cannot open file, path = '/var/folders/4k/n5mtn2hs32l1cz1pcr9628qw0000gn/T/3a38525e08502aba7347cb3be7dd70d4c0011df9a7dfd7aebacf9c55f99bcd62' (OS Error: Is a directory, errno = 21)
#0 _checkForErrorResponse (dart:io/common.dart:55)
#1 _File.open.<anonymous closure> (dart:io/file_impl.dart:381)
#2 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:861)
#3 Future._propagateToListeners (dart:async/future_impl.dart:890)
#4 Future._completeWithValue (dart:async/future_impl.dart:666)
#5 Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:736)
#6 _microtaskLoop (dart:async/schedule_microtask.dart:40)
#7 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
#8 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118)
#9 _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:185)
```
Yeah, I published the app on impulse and didn't QA it at all. I messed around with nip 55 signing a little bit today and am totally lost, so I made a bounty for it:
nostr:nevent1qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qguwaehxw309a5x7ervvfhkgtnrdaexzcmvv5h8gmm0d3ej7qg6waehxw309ac8junpd45kgtnxd9shg6npvchxxmmd9uq3gamnwvaz7tm0dek8jmn0w3jhxtnvdakz7qg3waehxw309ahx7um5wgh8w6twv5hsqgrp3vh8ut9yu3lhzzs0nnwlp64yyprht4zn73n9jy64l9grzpqzr5d7jdwz
NOW
https://github.com/coracle-social/coracle/releases/tag/0.4.10
nostr:nevent1qyghwumn8ghj7mn0wd68ytnhd9hx2tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9nhwden5te0wfjkccte9ekk7um5wgh8qatz9uqsuamnwvaz7tmwdaejumr0dshszxthwden5te0vd5zuur4wfcxcetjv4kxz7fwvdhk6tcqyr2wcwru4exg7u3fp7zst583k43gfn3ced7afxec2md2jj8e2u86sn3vjay
This is a thing; Coracle uses nostr:nprofile1qywhwumn8ghj7cn0wd68ytnzd96xxmmfde68smmtduhxxmmd9uq3uamnwvaz7tmwdaehgu3dwp6kytnhv4kxcmmjv3jhytnwv46z7q29waehxw309uek2urnvdnkxcm6vea8samf0p6hy7nwvd3hxdrcdp4nwatgv9uk2mr4xa48ydrzwpnhwmn3v4nk2vnxxekhyumwd9jzummwd9hkutcprpmhxue69uhkyetfdf5kueewwd3kzunpvghxjmf0qyvhwumn8ghj7cmg9ec82unsd3jhyetvv9ujucm0d5hsqgzk6jeavvg04kmjjjmlqsd2k35utl7gnyd3kxenrxqmj63yda4wv5gq2f2q by Nos to privately send reports
It doesn't, that's a trade-off. I've considered allowing users to pick public/private reports, because public reports of spam would be far more useful/less dangerous than public reports of e.g. csam or harassment.
The spam replies to this note are absolutely surreal
nostr:nevent1qyghwumn8ghj7mn0wd68ytnhd9hx2tcpzfmhxue69uhkummnw3e82efwvdhk6tcprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxnhwden5te0dehhxarj9e6xsetnv9kk2cmpwshxjme0qyw8wumn8ghj7umpw3jkcmrfw3jju6r6wfjrzdpe9e3k7mf0qqstzkf9yxy06ft7ztrhfj05wah03nx3thpzn3gvlh2s5vsm26plf0ctftkse
🦫 Got a new Coracle release for you all on this fine autumn day.
This is again mostly a maintenance release, with lots of performance improvements of all stripes due to moving a fair amount of code to welshman and refactoring it on its way.
@welshman/app is now available for any aspiring nostr client developers out there, with lots of high-level utilities so that you can hit the ground running — although beware, no docs, tests, or stable versions yet.
Other highlights include showing profile pictures in DMs, and removing WoT score display so it's purely visual. I've gotten a lot of feedback that the numbers are confusing and/or unhelpful. nostr:nprofile1qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qyvhwumn8ghj7un9d3shjtnndehhyapwwdhkx6tpdshsz9nhwden5te0v96hg6pwdehhxarjxyhxxmmd9uq32amnwvaz7tmjv4kxz7fwv3sk6atn9e5k7tcpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcqyrmg86rsxhm66n6yuzuce77e2dlpv326jtxn3nhufje3md640a00yhrhac9 will probably consider this a win 😆
# 0.4.10
- [x] Show loading when sending note reply
- [x] Support rendering zap responses
- [x] Speed up web of trust calculation and search page
- [x] Reduce extra encrypt/decrypt calls when updating lists
- [x] Apply mute keywords to usernames as well as note content
- [x] Large refactor to use @welshman/app utilities
- [x] Add profile picture to DMs
- [x] Add pubkey to profile name, fix wot info on mobile (zmjohnson)
- [x] Render highlight comments
- [x] Improve initial load and search performance
- [x] Remove web of trust numbers
There are a few possible reasons for this — coracle loads a fair amount of data in the background, like DMs, groups, relay selections, profiles, follow lists, etc of people you follow, which requires connecting to relays, which often implies signing an authentication event. You can turn this off in settings.
Another thing that happens in the background is decrypting various messages, lists, or settings. That can create some chatty dialogs too if you don't accept all.
Finally, I'm in the process of prototyping an interoperable "seen status" event kind which tracks when you last checked your notifications or various conversations. These will get created when you visit your notifications page or open a conversation.
If this doesn't explain it, send over the signing request (in particular the event kind), I might be forgetting something.
Yo nostr:nprofile1qy08wumn8ghj7mn0wd68yttyv4mzuam9d3kx7unyv4ezumn9wshszxnhwden5te0wpuhyctdd9jzuenfv96x5ctx9e3k7mf0qyxhwumn8ghj7cnjvghxjme0qyc8wumn8ghj7v3cxashvatpdpnkwctywdjryvfnwfnnzwrpvasnx7t8xdmkseecvuuxzen89eu8j730qyt8wumn8ghj7un9d3shjtnddaehgu3wwp6kytcqyqr260qrsgcp9c04rdfthzy625mmexygar494ah8fde7wru5ham8xmzscq5 you should use relay hints or nevents
I'm getting some incredible applications from the bitcoiner dev community. Bitcoin is a massive source of signal, as always. Most of these people are way more qualified than I am for the job 😂
nostr:nevent1qyw8wumn8ghj76r0v3kxymmy9e3k7unpvdkx2tn5dahkcue0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qg6waehxw309ac8junpd45kgtnxd9shg6npvchxxmmd9uq3gamnwvaz7tm0dek8jmn0w3jhxtnvdakz7qgawaehxw309ak82mnrdp3x77pwwdskuerhd93kstnxv9ex6tcqyrt4jdmxngdz6xkec0k0pq9g9p7lgxmathkgypu0j72dsaf8watvurt04u0
It is private on some clients, not coracle though unfortunately. Of course, that would make it harder to identify impersonators with web of trust. Tricky tradeoff.
Now don't get me wrong, I love that nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qg3waehxw309ahx7um5wgh8w6twv5hszrnhwden5te0dehhxtnvdakz7qghwaehxw309aex2mrp0yhxummnw3ezucnpdejz7qgcwaehxw309aex2mrp0yhxvmm4de6xz6tw9enx6tcqyrj0d90stwc9kgcj2hxvu028rwxhn3j2vk7vcq2xvtf87rm7jggfy9c9dz5 is bridging podcast boosts over to nostr, but there's definitely some UX work that needs to be done. This note was auto-published from fountain, and it basically works, but it's missing a little bit of context and strikes me as a self-aggrandizing thing for someone to do (if for example I did this manually). Anyhow, food for thought.
nostr:nevent1qyw8wumn8ghj76r0v3kxymmy9e3k7unpvdkx2tn5dahkcue0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qg5waehxw309ahkumredehhgetn9ekx7mp0qyd8wumn8ghj7urewfsk66ty9enxjct5dfskvtnrdakj7qgkwaehxw309ahx7um5wghxgct5vyhxsct4wvhsqg8r8rul7r9qhs86t0m5zdlkp4gwv9rwfmsdl4j0s3eygc2yj7d57uj8rvey
Totally, and I really like the feed you've made, because it sort of actually does that! I'm not able to reproduce the problem of existing follows getting in there though. I even double checked the code, and "network" doesn't include your follows. Maybe send a screenshot?
Notes by hodlbod | export