tane/apps/app_seeds/test
vjrj f17ae7751c perf(market): paginate Nostr offer discovery, infinite scroll, memory cap
Bound market memory and let large areas page instead of loading everything:
- DiscoveryQuery gains an until cursor; OfferTransport gains discoverPage()
  (one-shot, EOSE-bounded, newest-first) alongside the existing live discover()
  stream, which now accepts since so it only carries NEW offers going forward.
- NostrOfferTransport.discoverPage sorts by created_at desc and derives the
  next cursor from the oldest event seen (not the oldest type-matched one, so
  filtering never skips a page).
- OffersCubit: discover() fetches the first page + opens a since=now live sub;
  loadNextPage() pages further back; the in-memory list is capped at 400
  offers (each can carry a ~40KB inline photo thumbnail, so unbounded growth in
  a busy area was a real OOM risk).
- market_screen: infinite scroll via a scroll-position trigger + footer
  spinner, instead of a single unbounded ListView.
- Added discoverPage unit tests (commons_core) and cubit pagination tests
  (first page/cursor, accumulation, cap, cross-page dedup).
2026-07-20 22:53:48 +02:00
..
data perf(inventory): lazy list, photo thumbnails, indexes, debounced reload 2026-07-20 22:53:48 +02:00
db perf(inventory): lazy list, photo thumbnails, indexes, debounced reload 2026-07-20 22:53:48 +02:00
domain feat(seed-saving): per-crop 'how to save this seed' guidance 2026-07-11 07:18:39 +02:00
i18n feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
screenshots perf(market): paginate Nostr offer discovery, infinite scroll, memory cap 2026-07-20 22:53:48 +02:00
security feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
services feat(app): scan a printed seed label back into its record 2026-07-18 12:26:27 +02:00
state perf(market): paginate Nostr offer discovery, infinite scroll, memory cap 2026-07-20 22:53:48 +02:00
support feat(chat): usable 1:1 chat — bottom-anchored, Drift-backed, dated 2026-07-11 06:40:50 +02:00
tool feat(species): expand catalog to ~1200 edible species from Wikidata 2026-07-10 02:00:47 +02:00
ui perf(market): paginate Nostr offer discovery, infinite scroll, memory cap 2026-07-20 22:53:48 +02:00
flutter_test_config.dart feat(block1): inventory walking skeleton + first quick-add slice 2026-07-07 15:16:14 +02:00
no_stream_first_in_widget_tests_test.dart test(fix): stop handover widget test hanging on awaited stream .first 2026-07-12 08:17:12 +02:00