siftlode/frontend
npeter83 b498755067 feat(search): keep scrape-sourced YouTube results across a reload
A live YouTube search was always dropped on reload so it could never
re-spend quota. But the default scrape source costs no quota, so there's
no reason to bounce the user back to the feed — they can stay on their
results.

Feed now stamps history.state._ytScrape=true once a search resolves via
the scrape source; App restores _yt on reload only when that flag is set
(and re-runs the search, which is free). An api-source search is left
unmarked and still drops to the feed on reload, since re-fetching it would
cost ~100 units. The flag is cleared when a new search starts (Feed
re-stamps it once the new results' source is known).
2026-07-01 01:55:05 +02:00
..
public/welcome feat(welcome): landing lightbox, prod-served screenshots & session-end UX 2026-06-19 19:52:29 +02:00
src feat(search): keep scrape-sourced YouTube results across a reload 2026-07-01 01:55:05 +02:00
index.html chore: rebrand Subfeed -> Siftlode 2026-06-14 04:40:22 +02:00
package-lock.json feat(feed): virtualize the feed list and consume the keyset cursor 2026-06-25 19:54:40 +02:00
package.json feat(feed): virtualize the feed list and consume the keyset cursor 2026-06-25 19:54:40 +02:00
postcss.config.js feat: M4 (part 2) — React reader UI with theming 2026-06-11 02:19:47 +02:00
tailwind.config.js feat: M4 (part 2) — React reader UI with theming 2026-06-11 02:19:47 +02:00
tsconfig.json feat: M4 (part 2) — React reader UI with theming 2026-06-11 02:19:47 +02:00
vite.config.ts fix(dev): vite proxy to 127.0.0.1 + throttle error notifications 2026-06-11 22:00:57 +02:00