ATlast — you'll never need to find your favorites on another platform again. Find your favs in the ATmosphere.
atproto

fix: show loading screen during extension upload search

Previously when loading an upload from extension that hadn't been searched yet,
the app would immediately navigate to the results page showing 'none' for all
matches, then update them as the search progressed.

Now it behaves like the file upload flow:
- Shows loading screen during search
- Navigates to results only after search completes and results are saved
- If upload already has matches, navigates to results immediately

byarielm.fyi 46626f4a 212660a9

verified
Changed files
+6 -4
packages
web
src
+6 -4
packages/web/src/App.tsx
··· 197 })); 198 199 setSearchResults(loadedResults); 200 - setCurrentStep("results"); 201 202 - // If no matches yet, trigger search 203 if (!hasMatches) { 204 const followLexicon = ATPROTO_APPS[currentDestinationAppId]?.followLexicon; 205 ··· 207 loadedResults, 208 (message) => setStatusMessage(message), 209 async (finalResults) => { 210 - // Search complete - save results 211 - // finalResults contains the updated results with all matches found 212 await saveResults(uploadId, platform, finalResults); 213 }, 214 followLexicon 215 ); 216 } 217 218 // Announce to screen readers only - visual feedback is navigation to results page
··· 197 })); 198 199 setSearchResults(loadedResults); 200 201 + // If no matches yet, trigger search BEFORE navigating to results 202 if (!hasMatches) { 203 const followLexicon = ATPROTO_APPS[currentDestinationAppId]?.followLexicon; 204 ··· 206 loadedResults, 207 (message) => setStatusMessage(message), 208 async (finalResults) => { 209 + // Search complete - save results and navigate to results page 210 await saveResults(uploadId, platform, finalResults); 211 + setCurrentStep("results"); 212 }, 213 followLexicon 214 ); 215 + } else { 216 + // Already has matches, navigate to results immediately 217 + setCurrentStep("results"); 218 } 219 220 // Announce to screen readers only - visual feedback is navigation to results page