snipe/app
pyr0ball 108f63b4f2 fix(browser-pool): replace queue with thread-local storage to fix Playwright cross-thread crash (#53)
Playwright's sync API binds its greenlet event loop to the creating thread.
Sharing pre-warmed slots across threads caused "cannot switch to a different
thread" panics under uvicorn. New design: each worker thread owns its own
Playwright instance created lazily on first fetch_html() call. A registry
dict keyed by thread-id lets stop() close all slots at shutdown. Removes
ThreadPoolExecutor warmup and idle-cleanup daemon thread entirely.
2026-05-04 09:27:20 -07:00
..
db feat(monitor): background saved-search monitoring with watch alerts (#12) 2026-05-04 08:24:56 -07:00
llm feat: wire Search with AI to cf-orch → Ollama (llama3.1:8b) 2026-04-14 13:23:44 -07:00
mcp feat(mcp): Snipe MCP server for Claude Code integration (#27) 2026-04-13 19:33:47 -07:00
platforms fix(browser-pool): replace queue with thread-local storage to fix Playwright cross-thread crash (#53) 2026-05-04 09:27:20 -07:00
tasks feat(monitor): background saved-search monitoring with watch alerts (#12) 2026-05-04 08:24:56 -07:00
trust fix(trust): treat feedback_ratio=0.0 as missing data for buyer-only/returning sellers (#52) 2026-05-04 09:24:27 -07:00
ui feat: preferences store, community signals, a11y + API fixes 2026-04-14 16:15:09 -07:00
wizard feat: preferences store, community signals, a11y + API fixes 2026-04-14 16:15:09 -07:00
__init__.py feat: scaffold snipe repo 2026-03-25 13:08:54 -07:00
tiers.py feat: add llm_query_builder tier gate (paid+) to tiers.py and SessionFeatures 2026-04-14 11:44:53 -07:00