Implement NIP-85 fallback WOT ranking #221
Reference in New Issue
Block a user
Delete Branch "priyanshu_bharti/flotilla:feature/fallback-wot-nip85"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Issue
Fallback WOT score: #46
Summary
This PR replaces the expensive built-in fallback WOT flow with NIP-85 assertion-based ranking for people discovery/search.
What Changed
Added support for
VITE_ASSERTION_RELAYSand used it as the relay source for fallback rank fetch.Implemented fallback rank utility in
src/app/util/wot/getPubkeyRank.ts:30382events#dfilter for target pubkeyranktag valuesRemoved old bootstrap fallback logic:
bootstrapPubkeyspath fromsrc/app/core/state.tsUpdated people discovery sorting in
src/routes/people/+page.svelte:Updated score display in
src/app/components/WotScore.svelteto use new rank source.Updated env/docs:
.env.example.envREADME.mdWhy
The original built-in WOT calculation was a performance bottleneck. NIP-85 assertions provide a lightweight, relay-driven fallback trust signal while keeping discovery usable.
Validation
pnpm run checkpassedsvelte-check: 0 errors, 0 warnings/people:4b30cb1527to318baf64b5priyanshu_bharti referenced this pull request2026-04-17 15:08:30 +00:00
This follows the old spec which used nip 85 assertions, see this comment for the updated design. Also, I'm happy with the old rendering, keep that as is, just change the score calculation.
I'm sorry, this is far too complex a solution. There are library functions that cover 80% of this functionality. There's also wording about nip 85 still in here, which is not relevant.
@@ -0,0 +21,4 @@VITE_SIGNER_RELAYS=relay.nsec.app,ephemeral.snowflare.cc,bucket.coracle.socialVITE_VAPID_PUBLIC_KEY=BIt2D4BdgdbCowD_0d3Np6GbrIGHxd7aIEUeZNe3hQuRlHz02OhzvDaai0XSFoJYVzSzdMjdyW-QhvW9_yq8j4YVITE_GLITCHTIP_API_KEY=GLITCHTIP_AUTH_TOKEN=This file should no longer exist, we switched to .env with overrides
@@ -13,3 +13,4 @@- `VITE_PLATFORM_NAME` - The name of the app- `VITE_PLATFORM_LOGO` - A logo url for the app. Can be a local path or https link. Must be a PNG file.- `VITE_PLATFORM_RELAYS` - A list of comma-separated relay urls that will make flotilla operate in "platform mode". Disables all space browse/add/select functionality and makes the first platform relay the home page.- `VITE_ASSERTION_RELAYS` - A list of comma-separated relays used to fetch NIP-85 assertion ranks (kind 30382) for fallback trust scores.Incorrect, we are not using nip 85
Pull request closed