From 6b5947ae0e574ddc9027108d72eb300bb361fcbc Mon Sep 17 00:00:00 2001 From: Coracle-Bot Date: Mon, 21 Sep 2026 17:58:14 +0000 Subject: [PATCH] Upgrade to welshman 0.11.0 --- .agents/skills/flotilla-views/SKILL.md | 2 +- package.json | 20 +++++++++--------- pnpm-lock.yaml | Bin 400290 -> 400290 bytes src/app/call.ts | 2 +- src/app/commands.ts | 9 ++++---- src/app/components/CalendarEventForm.svelte | 2 +- src/app/components/ChatMessage.svelte | 2 +- src/app/components/ClassifiedForm.svelte | 2 +- src/app/components/ContentQuote.svelte | 2 +- src/app/components/GoalCreate.svelte | 2 +- src/app/components/PinboardEdit.svelte | 2 +- src/app/components/PollCreate.svelte | 2 +- src/app/components/ProfileLatest.svelte | 2 +- src/app/components/ReportItem.svelte | 2 +- src/app/components/RoomDetailMenu.svelte | 2 +- src/app/components/SearchBody.svelte | 2 +- src/app/components/ThreadCreate.svelte | 2 +- src/app/components/ThunkFailure.svelte | 6 +++++- src/app/components/Zap.svelte | 2 +- src/app/feeds.ts | 4 ++-- src/app/pins.ts | 2 +- src/app/repository.ts | 2 +- src/app/roomPins.ts | 2 +- src/app/sync.ts | 4 ++-- src/app/thunks.ts | 2 +- src/routes/[bech32]/+page.svelte | 2 +- src/routes/people/[npub]/+page.svelte | 2 +- .../[relay]/articles/create/+page.svelte | 4 ++-- .../spaces/[relay]/library/+page.svelte | 2 +- 29 files changed, 48 insertions(+), 43 deletions(-) diff --git a/.agents/skills/flotilla-views/SKILL.md b/.agents/skills/flotilla-views/SKILL.md index e4722516..a3364972 100644 --- a/.agents/skills/flotilla-views/SKILL.md +++ b/.agents/skills/flotilla-views/SKILL.md @@ -314,7 +314,7 @@ data every page needs lives in `src/app/sync.ts`. **One entity, or a handful of lists:** call plugin `load` in `onMount`, and toast on failure, as `people/[npub]/+page.svelte` does for the profile, relay list, follow, pin, room and messaging -lists before loading the author's outbox with `$network.load`. +lists before loading the author's outbox with `$network.loadLenient`. **A detail page:** `deriveEvent(address, [url])` loads when nothing local matches. While it is empty, seven pages show a spinner that turns into a failure message: diff --git a/package.json b/package.json index 54f39b6c..4ba73de7 100644 --- a/package.json +++ b/package.json @@ -91,16 +91,16 @@ "@types/throttle-debounce": "^5.0.2", "@vite-pwa/assets-generator": "^1.0.2", "@vite-pwa/sveltekit": "^1.1.0", - "@welshman/app": "^0.10.9", - "@welshman/content": "^0.10.9", - "@welshman/domain": "^0.10.9", - "@welshman/editor": "^0.10.9", - "@welshman/feeds": "^0.10.9", - "@welshman/lib": "^0.10.9", - "@welshman/net": "^0.10.9", - "@welshman/signer": "^0.10.9", - "@welshman/store": "^0.10.9", - "@welshman/util": "^0.10.9", + "@welshman/app": "^0.11.0", + "@welshman/content": "^0.11.0", + "@welshman/domain": "^0.11.0", + "@welshman/editor": "^0.11.0", + "@welshman/feeds": "^0.11.0", + "@welshman/lib": "^0.11.0", + "@welshman/net": "^0.11.0", + "@welshman/signer": "^0.11.0", + "@welshman/store": "^0.11.0", + "@welshman/util": "^0.11.0", "cheerio": "^1.2.0", "compressorjs-next": "^1.1.2", "dompurify": "^3.4.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c2d7cfc0ce8121f2a73bc5092057537a2e7f8424..1d6aed8cddc3bd0b9fac215205eef8d4a6e994ac 100644 GIT binary patch delta 4623 zcmeHLTWB2T6=v*N#h1jXW2u!D%a$Wk$!y}C*|{zusrNd2nZ3;3ccCG3+so|k?0xov z5>&S|p?PS`ko;{zit9eK6apy;EEG!7L+P`h`p`mSN?Q`zl038&lhmD=m5gM|Q3Yzz zLl*{q4)f1{&Ue0ZzVq+R$^6a9{Cm$GKZ;&K0QVR8%)GH!y*iNV-AaR39rdbk6}f^M zMt$SNtofFH>&q+F+wO0}A!~8_LwIW0-~RS@U}nb$(Z9mNcEkJEPd)d5 z_#~o;AUR1%K=sI+bGqZn%`?<`!{+q-=teLpYt>nAS*;v<;RzkhCLEL)|ZZ!BE-=B35Sr9}wM z8~*UWSk06i304iHI&xfVIdWVBPh#ZI?JK&a!%9X;z0>FSz&(Xc_#Y4>_$mVdu_1vb0I=jXUs@Ry8Ib zgXXsw|KSiiZyA50L5tP`8bRkE6#NZ`E`pf>WLAjbZ8o3EL{UY_hShc+BkjCDVJFJ9 zRx{I1t1+POuuELMUyOFeOur#<`QE7G47+?88mknggi$-B%BB=|r-2n|dlTiP zvcB=^68Pl+dS(+7Dw=PU`A$5LRuMz5Pj_oshc}Rv`b;fI7wwU>qs5VRWE3kUDX*(r zD#v-GiVx(jT(0?RV?2dFMcQ)+g11 zwYKK)vHk(lP;%8lk@vfnb$(U9`8lh`Z0Z-R@S8r)goe=3J{L$(BE?DGY+#EjQ#{Pj zk8Opn-#$LONdzZZt&$!m?r|l83|2t+iZ-G;V#wb~$Z^iwh&3P1s~&cCju>dAj**hiiFbiHe2^%`TG+ zbrB<1zBtnyHGKi1Q`i~&b~2bQZ0iY+gBv!Rsk>%la0Y`B4b8{eVpvEHI%=0zhsl9P zX1oN0j}u`5mFc3{ z7@jiFm;v#(;NxKJ8g$Xb<&_)PAmce=JVz%tuEEZu7Fzq8D*o$Ji6I9u@R`lF2>$sf zbQ;`z6;|&h^^5fWp&B{u&<7}sis{dGZJPY_HTXBFWy8AH00nM83tun=<`lT~dpL6# z@duXhug@M^-ITu7Jtw%x+`_r7mmlnLhi~vTM=|dqBh`!G=NfeKp|^trnz17HQy2X9 zBlsoDc>3&Dr)Bqpk74nW$>qKB4o<_i6>}>1fAaTnt-F8xHS6txjso8K1b%+mYA9cP z83O2cjfP?jKon?=p%arAK84T17PYs8Z+oKx!8PdA*Q*B}2w4DblBj~YLUZ1f|UZ0tH GV(#Bq-&QjK delta 4625 zcmeHLTa4UR8J4r2=_YAY+U&yaHoMt0QFp6pGalRHi>gA#Gxl6OJJ+3yN21EuW6#BN z^V~g3t0f>B!Am2nJpxn|Jm&%N01}N5pjIHY4Ra!cSg3K7(AOLGrKg=>>DJerYJzyOl<<>8@AB zOUOl!X*6z~n6qXXx4*b%&-Q&24%>q}AHds|!+o!P3l845pyzL}xYzL0>nC5DHEyiV zzq}p6y0;{vUa5$B2!&Kim|Ucb9=haFWZFxLC`P<^V%7YCOCP~=#_72w>r?0Ur{MNq zV9MB5Y9<}B_x3m6!C_Zi&gX@2Szhb<)u&@U#qrKohD3ATvfPpvu z3@;g9UEI4EI4X9$_bGhYxVv=rpvVr1@PjNguAh7nct3=L#&^!_&0|V?qcu znZ8>TQi8zaZ8fDbM0;2mdP=TN!Bs7})EF(wN#nM09{i&Zp|+do{NfXsoaK%150ouC_cHCa!%Rn^kno+`G+#K<2lb|tZ2Y0xs7>$;R+OdETuI)M;v zKB5@Eymk)!VhFvw>n5+KFlKwMm~PGk5P^{_@ zJ`FFcC~USSb;KkcP_t4i#0`XAuHg*@G8#&zg-u%PQJuWj+8{B7X={oQ?D>7+WVb$S z66F+0WCCS6p1~tnXY3lgTMC*ha6%arLl8D`j-kb4Hu}51eOI8^)ORM-s_+f9rY7W8 zlP@$i3hxe>jGWhVo+MJ%@IoS)4oh)*9Bd~NBaNlviFz(nMDS{mZ1p-mKGx3&^|a0< zioH?FKkPL}33dw2v$o@X*Db9|4J>PVm(8Av^<@9q(jPKVhdo#cumEzk#F z`wg^WtloR_^sc@%<=#|ZELvtq{vwVy$!1}cidVzEwp>L+gKV5sb1ExmG(jO)_qZN! z(n{3B1Y|x^@b;_Owm9xo*|K-MAxFBN9M2AFMVG)cLp)RJM(+p3%71p6zj5dIwy2rT zvkj~!_{9pNN760PEwP&@&r~brP-&b-Wg#0QyMyr1Gwfr7Oe~=H)R5Fq4^=cX;&T`m z%&HBcpVzC2f~&-(NR$~R{jNG$Hf~*e{+%rd`P`1|(xSZuVY{^0pgJj(43=-eqWQvyo-XG#5rtw4@Z$6kV**Uez5-5w*U= zXth=&(5O|}m%+~l(8-714h{+7!@4g1LGFUz zeF(p98=qNxVf);D|07sBZ;|l+AHVj{=!%lGJ6?hh`Y(f9&bPun-r;a)7`_X+AG+B+G>-Jh5d8aYm_ur5ss&{Vi zs~^D2R*^dLJihct2L|4DI8IwTG0pJpPaF|&*6G+*m*_i=6|km5Prdn;(=mC=>3nwn E-!5Hbt^fc4 diff --git a/src/app/call.ts b/src/app/call.ts index 11b716ad..8a39a74f 100644 --- a/src/app/call.ts +++ b/src/app/call.ts @@ -336,7 +336,7 @@ export const toggleVideoPrimaryTile = (key: string) => { } export const loadCallParticipants = (url: string, h: string) => - network.get().load({ + network.get().loadLenient({ relays: [url], filters: [{kinds: [LIVEKIT_PARTICIPANTS], "#d": [h]}], }) diff --git a/src/app/commands.ts b/src/app/commands.ts index c3ca4cb6..fbde6aaa 100644 --- a/src/app/commands.ts +++ b/src/app/commands.ts @@ -48,15 +48,16 @@ export class Commands extends RelayScopedDerivedPlugin { const [url, address] = splitCommandKey(key) const {pubkey, identifier} = Address.from(address) - return this.app - .use(Network) - .load({relays: [url], filters: [{kinds: [COMMAND], authors: [pubkey], "#d": [identifier]}]}) + return this.app.use(Network).loadComplete({ + relays: [url], + filters: [{kinds: [COMMAND], authors: [pubkey], "#d": [identifier]}], + }) } ensureLoaded = (url: string) => { if (!this.pulled.has(url)) { this.pulled.add(url) - this.app.use(Network).load({relays: [url], filters: [{kinds: [COMMAND]}]}) + this.app.use(Network).loadLenient({relays: [url], filters: [{kinds: [COMMAND]}]}) } } diff --git a/src/app/components/CalendarEventForm.svelte b/src/app/components/CalendarEventForm.svelte index 1d48ede6..04dda91a 100644 --- a/src/app/components/CalendarEventForm.svelte +++ b/src/app/components/CalendarEventForm.svelte @@ -127,7 +127,7 @@ history.back() if (shareToChat) { - publishRoomQuote({url, h, parent: calendarThunk.event, protect}) + publishRoomQuote({url, h, parent: calendarThunk.options.event, protect}) } pushToast({message: "Your event has been saved!"}) diff --git a/src/app/components/ChatMessage.svelte b/src/app/components/ChatMessage.svelte index b1322f59..ac2c5f53 100644 --- a/src/app/components/ChatMessage.svelte +++ b/src/app/components/ChatMessage.svelte @@ -40,7 +40,7 @@ const isOwn = event.pubkey === $user.pubkey const profileDisplay = $profiles.display(event.pubkey).$ const thunks = $app.use(Thunks).history - const thunk = $app.use(Thunks).merge($thunks.filter(t => t.event.id === event.id)) + const thunk = $app.use(Thunks).merge($thunks.filter(t => t.options.event.id === event.id)) const colorValue = colorFor(event.pubkey) const reply = () => replyTo(event) diff --git a/src/app/components/ClassifiedForm.svelte b/src/app/components/ClassifiedForm.svelte index a8d8991a..a3898f9a 100644 --- a/src/app/components/ClassifiedForm.svelte +++ b/src/app/components/ClassifiedForm.svelte @@ -129,7 +129,7 @@ history.back() if (shareToChat) { - publishRoomQuote({url, h, parent: classifiedThunk.event, protect}) + publishRoomQuote({url, h, parent: classifiedThunk.options.event, protect}) } } finally { loading = false diff --git a/src/app/components/ContentQuote.svelte b/src/app/components/ContentQuote.svelte index 355ff107..8f77ee7f 100644 --- a/src/app/components/ContentQuote.svelte +++ b/src/app/components/ContentQuote.svelte @@ -56,7 +56,7 @@ mergedRelays.set(urls) if (!$quote) { - $network.load({filters: getIdFilters([idOrAddress]), relays: urls}) + $network.loadLenient({filters: getIdFilters([idOrAddress]), relays: urls}) } }) diff --git a/src/app/components/GoalCreate.svelte b/src/app/components/GoalCreate.svelte index af95061c..13f09e34 100644 --- a/src/app/components/GoalCreate.svelte +++ b/src/app/components/GoalCreate.svelte @@ -104,7 +104,7 @@ history.back() if (shareToChat) { - publishRoomQuote({url, h, parent: goalThunk.event, protect}) + publishRoomQuote({url, h, parent: goalThunk.options.event, protect}) } } finally { loading = false diff --git a/src/app/components/PinboardEdit.svelte b/src/app/components/PinboardEdit.svelte index ee83a216..3ac8198e 100644 --- a/src/app/components/PinboardEdit.svelte +++ b/src/app/components/PinboardEdit.svelte @@ -53,7 +53,7 @@ back() } else { pushToast({message: "Shelf created!"}) - navigate(makeLibraryPath(url, getAddress(thunk.event))) + navigate(makeLibraryPath(url, getAddress(thunk.options.event))) } } catch (e) { console.error(e) diff --git a/src/app/components/PollCreate.svelte b/src/app/components/PollCreate.svelte index a36e41b2..51471130 100644 --- a/src/app/components/PollCreate.svelte +++ b/src/app/components/PollCreate.svelte @@ -156,7 +156,7 @@ history.back() if (shareToChat) { - publishRoomQuote({url, h, parent: pollThunk.event, protect}) + publishRoomQuote({url, h, parent: pollThunk.options.event, protect}) } } finally { loading = false diff --git a/src/app/components/ProfileLatest.svelte b/src/app/components/ProfileLatest.svelte index e8ab4f54..1c971a87 100644 --- a/src/app/components/ProfileLatest.svelte +++ b/src/app/components/ProfileLatest.svelte @@ -20,7 +20,7 @@ onDestroy(context.cleanup) - const events = $network.load({ + const events = $network.loadComplete({ relays: [url], filters: [{authors: [pubkey], kinds: [NOTE], limit}], }) diff --git a/src/app/components/ReportItem.svelte b/src/app/components/ReportItem.svelte index c580a8ac..63de59e1 100644 --- a/src/app/components/ReportItem.svelte +++ b/src/app/components/ReportItem.svelte @@ -57,7 +57,7 @@ {/if}
{#if etag} - {#await $network.load({relays: [url, LOCAL_RELAY_URL], filters: getIdFilters([etag[1]])})} + {#await $network.loadComplete( {relays: [url, LOCAL_RELAY_URL], filters: getIdFilters( [etag[1]], )}, )}

Loading

{:then reportedEvents} {#if reportedEvents.length === 0} diff --git a/src/app/components/RoomDetailMenu.svelte b/src/app/components/RoomDetailMenu.svelte index cb984f57..d1d346be 100644 --- a/src/app/components/RoomDetailMenu.svelte +++ b/src/app/components/RoomDetailMenu.svelte @@ -58,7 +58,7 @@ const message = await thunk.waitForError() if (message) { - $app.repository.removeEvent(thunk.event.id) + $app.repository.removeEvent(thunk.options.event.id) pushToast({theme: "error", message}) } else { await $roomLists.removeRoom(h, url).then(publish) diff --git a/src/app/components/SearchBody.svelte b/src/app/components/SearchBody.svelte index 77a16395..c5bda753 100644 --- a/src/app/components/SearchBody.svelte +++ b/src/app/components/SearchBody.svelte @@ -57,7 +57,7 @@ ) try { - const events = await $network.load({relays, filters, signal: controller.signal}) + const events = await $network.loadComplete({relays, filters, signal: controller.signal}) results = sortEventsDesc(uniqBy((e: TrustedEvent) => e.id, [...events, ...results])) } catch (error) { diff --git a/src/app/components/ThreadCreate.svelte b/src/app/components/ThreadCreate.svelte index 745f2f0b..4a810aa2 100644 --- a/src/app/components/ThreadCreate.svelte +++ b/src/app/components/ThreadCreate.svelte @@ -96,7 +96,7 @@ history.back() if (shareToChat) { - publishRoomQuote({url, h: room, parent: thunk.event, protect}) + publishRoomQuote({url, h: room, parent: thunk.options.event, protect}) } } finally { loading = false diff --git a/src/app/components/ThunkFailure.svelte b/src/app/components/ThunkFailure.svelte index 5e57ab03..f01acf70 100644 --- a/src/app/components/ThunkFailure.svelte +++ b/src/app/components/ThunkFailure.svelte @@ -23,7 +23,11 @@ const retry = (url: string) => { for (const child of $thunks.flatten([thunk])) { if (child.options.relays.includes(url)) { - const retried = $thunks.publish({...child.options, event: child.event, relays: [url]}) + const retried = $thunks.publish({ + ...child.options, + event: child.options.event, + relays: [url], + }) if (showToastOnRetry) { pushToast({ diff --git a/src/app/components/Zap.svelte b/src/app/components/Zap.svelte index 0b51d4d5..e4229501 100644 --- a/src/app/components/Zap.svelte +++ b/src/app/components/Zap.svelte @@ -74,7 +74,7 @@ const {relays, invoice, filters} = await requestInvoice() await payInvoice(invoice) - await $network.load({relays, filters}) + await $network.loadLenient({relays, filters}) pushToast({message: "Zap successfully sent!"}) back() diff --git a/src/app/feeds.ts b/src/app/feeds.ts index fed11171..c088ff9e 100644 --- a/src/app/feeds.ts +++ b/src/app/feeds.ts @@ -146,7 +146,7 @@ export const makeFeedContext = ({ } const loadFrom = async (urls: string[], events: TrustedEvent[]) => { - const context = await network.get().load({ + const context = await network.get().loadComplete({ relays: urls, signal: controller.signal, filters: [ @@ -156,7 +156,7 @@ export const makeFeedContext = ({ }) if (context.length > 0) { - network.get().load({ + network.get().loadLenient({ relays: urls, signal: controller.signal, filters: getReplyFilters(context, {kinds: [DELETE]}), diff --git a/src/app/pins.ts b/src/app/pins.ts index aa26d997..fd9fe9a2 100644 --- a/src/app/pins.ts +++ b/src/app/pins.ts @@ -19,7 +19,7 @@ export const derivePinnedEvents = (pubkey: string): Readable => .get() .resolver.relays([outbox(pubkey)]) .then($relays => - network.get().load({relays: $relays, filters, signal: controller.signal}), + network.get().loadLenient({relays: $relays, filters, signal: controller.signal}), ) const unsubscribe = deriveEvents(filters).subscribe(set) diff --git a/src/app/repository.ts b/src/app/repository.ts index 5a06d063..b20f2c2a 100644 --- a/src/app/repository.ts +++ b/src/app/repository.ts @@ -16,7 +16,7 @@ export const deriveEvent = (idOrAddress: string, relays: string[] = []) => repository: $app.repository, includeDeleted: true, onDerive: (filters: Filter[], hints: string[]) => - $app.use(Network).load({filters, relays: hints}), + $app.use(Network).loadLenient({filters, relays: hints}), })(idOrAddress, relays), ) diff --git a/src/app/roomPins.ts b/src/app/roomPins.ts index 8fad842c..3d04e1d1 100644 --- a/src/app/roomPins.ts +++ b/src/app/roomPins.ts @@ -22,7 +22,7 @@ export const deriveRoomPinnedEvents = (url: string, h: string): Readable { const byPin = new Map( diff --git a/src/app/sync.ts b/src/app/sync.ts index 22d47d26..4d4749b5 100644 --- a/src/app/sync.ts +++ b/src/app/sync.ts @@ -224,7 +224,7 @@ const syncUserData = () => { if (authors.length > 0) { const scenario = await router.get().resolve(authors.map(author => outbox(author))) - network.get().load({ + network.get().loadLenient({ filters: [{kinds: [FOLLOWS, MUTES], authors}], relays: scenario.limit(8).getUrls(), }) @@ -295,7 +295,7 @@ const syncSpace = (url: string) => { // Which sections a space offers is a question about its whole history rather than about the // recent window above — a space whose newest poll is a year old still has polls. One event // per kind answers it. - network.get().load({ + network.get().loadLenient({ relays: [url], signal: controller.signal, filters: CONTENT_KINDS.map(kind => ({kinds: [kind], limit: 1})), diff --git a/src/app/thunks.ts b/src/app/thunks.ts index 9cffabed..da8ce309 100644 --- a/src/app/thunks.ts +++ b/src/app/thunks.ts @@ -17,7 +17,7 @@ export const thunksByEventId = derived( const byId = new Map() for (const thunk of $history) { - pushToMapKey(byId, thunk.event.id, thunk) + pushToMapKey(byId, thunk.options.event.id, thunk) } // Hand back the array from last time wherever an event's thunks are unchanged. A row derives diff --git a/src/routes/[bech32]/+page.svelte b/src/routes/[bech32]/+page.svelte index 10a04aa2..7740f1d2 100644 --- a/src/routes/[bech32]/+page.svelte +++ b/src/routes/[bech32]/+page.svelte @@ -30,7 +30,7 @@ let found = false - $network.load({ + $network.loadComplete({ relays: [LOCAL_RELAY_URL, ...data.relays], filters: getIdFilters([type === "nevent" ? data.id : Address.fromNaddr(bech32).toString()]), onEvent: (event: TrustedEvent) => { diff --git a/src/routes/people/[npub]/+page.svelte b/src/routes/people/[npub]/+page.svelte index b2bdc473..e9c67696 100644 --- a/src/routes/people/[npub]/+page.svelte +++ b/src/routes/people/[npub]/+page.svelte @@ -57,7 +57,7 @@ filters.push({kinds: [FOLLOWS], "#p": [pubkey], limit: 500}) } - $network.load({ + $network.loadLenient({ relays: await $router.resolver.relays([outbox(pubkey)]), filters, }) diff --git a/src/routes/spaces/[relay]/articles/create/+page.svelte b/src/routes/spaces/[relay]/articles/create/+page.svelte index d5d320a6..edf15bee 100644 --- a/src/routes/spaces/[relay]/articles/create/+page.svelte +++ b/src/routes/spaces/[relay]/articles/create/+page.svelte @@ -145,10 +145,10 @@ } draftKey.clear() - goto(makeArticlePath(url, getAddress(thunk.event))) + goto(makeArticlePath(url, getAddress(thunk.options.event))) if (shareToChat) { - publishRoomQuote({url, h, parent: thunk.event, protect}) + publishRoomQuote({url, h, parent: thunk.options.event, protect}) } } finally { loading = false diff --git a/src/routes/spaces/[relay]/library/+page.svelte b/src/routes/spaces/[relay]/library/+page.svelte index 901909a0..a101e9b3 100644 --- a/src/routes/spaces/[relay]/library/+page.svelte +++ b/src/routes/spaces/[relay]/library/+page.svelte @@ -72,7 +72,7 @@ const controller = new AbortController() $network - .load({relays: [url], filters: [{kinds: [PINBOARD, PIN]}], signal: controller.signal}) + .loadLenient({relays: [url], filters: [{kinds: [PINBOARD, PIN]}], signal: controller.signal}) .then(() => { loading = false })