A decentralized music tracking and discovery platform built on AT Protocol 🎵 rocksky.app
spotify atproto lastfm musicbrainz scrobbling listenbrainz
98
fork

Configure Feed

Select the types of activity you want to include in your feed.

Support did:web DIDs in resolution checks

+8 -4
+1 -1
apps/api/src/scripts/dedup.ts
··· 15 15 16 16 let did = args[0]; 17 17 18 - if (!did.startsWith("did:plc:")) { 18 + if (!did.startsWith("did:plc:") && !did.startsWith("did:web:")) { 19 19 did = await ctx.baseIdResolver.handle.resolve(did); 20 20 } 21 21
+1 -1
apps/api/src/scripts/feed.ts
··· 82 82 83 83 let userDid = args[0]; 84 84 85 - if (!userDid.startsWith("did:plc:")) { 85 + if (!userDid.startsWith("did:plc:") && !userDid.startsWith("did:web:")) { 86 86 userDid = await ctx.baseIdResolver.handle.resolve(userDid); 87 87 } 88 88
+1 -1
apps/api/src/scripts/seed-feed.ts
··· 30 30 31 31 let userDid = args[0]; 32 32 33 - if (!userDid.startsWith("did:plc:")) { 33 + if (!userDid.startsWith("did:plc:") && !userDid.startsWith("did:web:")) { 34 34 userDid = await ctx.baseIdResolver.handle.resolve(userDid); 35 35 } 36 36
+5 -1
apps/api/src/xrpc/app/rocksky/actor/getProfile.ts
··· 62 62 > => { 63 63 return Effect.tryPromise({ 64 64 try: async () => { 65 - if (!params.did?.startsWith("did:plc:") && !!params.did) { 65 + if ( 66 + !params.did?.startsWith("did:plc:") && 67 + !params.did?.startsWith("did:web:") && 68 + !!params.did 69 + ) { 66 70 return { 67 71 did: await ctx.baseIdResolver.handle.resolve(params.did), 68 72 ctx,