Experiment to rebuild Diffuse using web applets.
0
fork

Configure Feed

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

refactor: queue + input problems

+15 -8
+7 -5
src/pages/configurator/input/_applet.astro
··· 75 75 //////////////////////////////////////////// 76 76 const contextualize = async (tracks: Track[]) => { 77 77 const groups = await groupTracksPerScheme(tracks); 78 - const promises = Object.keys(groups).map(async (scheme: string) => { 79 - if (!isSupportedScheme(scheme)) return; 80 - const conn = await connection(scheme); 81 - await conn.sendAction("contextualize", groups[scheme], { timeoutDuration: 60000 * 5 }); 82 - }); 78 + const promises = Object.entries(groups).map( 79 + async ([scheme, tracksGroup]: [string, Track[]]) => { 80 + if (!isSupportedScheme(scheme) || tracksGroup.length === 0) return; 81 + const conn = await connection(scheme); 82 + await conn.sendAction("contextualize", tracksGroup, { timeoutDuration: 60000 * 5 }); 83 + }, 84 + ); 83 85 84 86 await Promise.all(promises); 85 87 };
+3
src/pages/input/native-fs/_applet.astro
··· 107 107 return { supported: true, consultation: uri.host && !!handles[uri.host] }; 108 108 }; 109 109 110 + const contextualize = async (cachedTracks: Track[]) => {}; 111 + 110 112 const list = async (cachedTracks: Track[] = []) => { 111 113 if (!isSupported()) { 112 114 return cachedTracks; ··· 222 224 }; 223 225 224 226 context.setActionHandler("consult", consult); 227 + context.setActionHandler("contextualize", contextualize); 225 228 context.setActionHandler("list", list); 226 229 context.setActionHandler("resolve", resolve); 227 230 context.setActionHandler("mount", mount);
+1 -1
src/pages/orchestrator/input-cache/_applet.astro
··· 27 27 .settled() 28 28 .then(() => configurator.output) 29 29 .then((output) => wait(output, (d) => d?.tracks.state === "loaded")) 30 - .then(() => process()); 30 + .then(() => (context.isMainInstance() ? process() : undefined)); 31 31 32 32 //////////////////////////////////////////// 33 33 // ACTIONS
+4 -2
src/scripts/applet/common.ts
··· 311 311 dataFn: (data: D) => T, 312 312 effectFn: (t: T, setter: (t: T) => void) => void, 313 313 ) => { 314 - if (!context.isMainInstance()) return; 315 - return reactive(applet, dataFn, effectFn); 314 + // if (!context.isMainInstance()) return; 315 + return reactive(applet, dataFn, (t, setter) => { 316 + if (context.isMainInstance()) effectFn(t, setter); 317 + }); 316 318 }; 317 319 } 318 320