From 4b3e03a353df76d71fff59603fc002b9126ab215 Mon Sep 17 00:00:00 2001 From: Theodore Song Date: Sun, 26 Jul 2026 16:15:48 -0400 Subject: [PATCH] Use keyset pagination for full market scans --- index.html | 48 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/index.html b/index.html index b17b82f..4e4c262 100644 --- a/index.html +++ b/index.html @@ -739,7 +739,7 @@ footer{margin-top:34px;padding-top:22px;border-top:1px solid var(--border);color @@ -766,7 +766,7 @@ const EXIT_STALE_DAYS = 10; const EXIT_RESOLUTION_DAYS = 2; const AGENTS_KEY = "pma_agents_v2"; const SUG_KEY = "pma_suggestions_v5"; -const SUGGESTION_ENGINE_VERSION = 8; +const SUGGESTION_ENGINE_VERSION = 9; const FOCUS_KEY = "pma_focus_v1"; const VIEW_KEY = "pma_view_v1"; const PF_SORT_KEY = "pma_portfolio_sort_v1"; @@ -950,12 +950,21 @@ async function fetchMarkets(pages=Infinity,perPage=100,onProgress=null){ const all=[]; const maxPages=Number.isFinite(pages)?pages:MAX_ACTIVE_MARKET_PAGES; const seen=new Set(); + const useKeyset=!Number.isFinite(pages)||pages>20; + let cursor=null; for(let i=0;im&&m.question); } @@ -3106,19 +3116,24 @@ async function loadPaperMarketPage(reset=false,loadAll=false){ if(reset){PAPER_SEARCH_RESULTS=[];PAPER_MARKET_OFFSET=0;} let loaded=0,rawCount=0,keepGoing=true; const limit=100,maxPages=loadAll?MAX_ACTIVE_MARKET_PAGES:1; + let cursor=null; for(let page=0;page