Commit Graph

  • f340482752 fix: monitor-erik.sh — correct Erik SSH target + fix awk header skip Rene Fichtmueller 2026-04-21 00:34:28 +02:00
  • 9e6be570a3 feat: more switch image coverage + system health metrics + Erik monitor Rene Fichtmueller 2026-04-21 00:31:43 +02:00
  • 823b64bd24 perf: load-aware scraper guard + higher rate limits + /tmp crawlee storage Rene Fichtmueller 2026-04-20 23:35:02 +02:00
  • a2492d833b feat: Flexoptix order section per switch + reject generic/logo images Rene Fichtmueller 2026-04-20 23:31:36 +02:00
  • 0a60d821fb fix: expand compatibility.verification_method CHECK to include vendor_compat + spec_match Rene Fichtmueller 2026-04-20 23:23:23 +02:00
  • 4f277df703 fix(migration-041): use 'manual' doc_type instead of config_guide (CHECK constraint) Rene Fichtmueller 2026-04-20 23:17:41 +02:00
  • dfadc8eb4e fix: add certifications column to switches table (migration 039a) Rene Fichtmueller 2026-04-20 23:16:52 +02:00
  • 5737ae0362 ui: update Finder quick examples to use actual seeded switch models Rene Fichtmueller 2026-04-20 23:00:36 +02:00
  • ab059c2fd1 fix(community-issues): scrapeTransceiverCompatIssues falls back to ports_config when no compat entries Rene Fichtmueller 2026-04-20 23:00:00 +02:00
  • 8cf19e9b78 data: migration 041 — seed switch datasheets (Cisco, Arista, Juniper, NVIDIA) Rene Fichtmueller 2026-04-20 22:58:18 +02:00
  • 21f5250353 feat: switch facts — migration 040 seeds power/weight/certifications + dashboard shows them Rene Fichtmueller 2026-04-20 22:56:53 +02:00
  • 307a5ea38a chore: update changelog for 2026-04-20 switch image + compat features Rene Fichtmueller 2026-04-20 22:53:24 +02:00
  • c0cd0dc1ca feat: compatibility panel — verification_method, competitor prices, spec-match collapsible Rene Fichtmueller 2026-04-20 22:52:49 +02:00
  • 4bf5c95824 feat: Flexoptix compatibility scraper + transceiver issue scanner Rene Fichtmueller 2026-04-20 22:50:57 +02:00
  • a0a7a97d83 feat: switch image fetcher + og:image scheduler job + dashboard thumbnail column Rene Fichtmueller 2026-04-20 22:44:08 +02:00
  • aa91798e8d fix(vcelink): resolve TS 5.9 narrowing quirk with explicit cast in dead code Rene Fichtmueller 2026-04-20 22:18:13 +02:00
  • 1aba912a15 fix(scrapers): fix ATGBics theme migration, NADDOD URL, disable VCELink Rene Fichtmueller 2026-04-20 22:11:24 +02:00
  • ca943f1f86 ui: comprehensive DEMO/MODELL tagging across all dashboard sections with synthetic data Rene Fichtmueller 2026-04-20 21:52:10 +02:00
  • 9f3cd46f9c ui: mark Top Sellers widget data as DEMO (synthetic seed data, not real sales) Rene Fichtmueller 2026-04-20 21:44:33 +02:00
  • 0fb4850dfa fix: price-comparison SKU lookup — wrong column refs (so.stock_level, search_url_template) Rene Fichtmueller 2026-04-19 00:12:18 +02:00
  • b0ed54f386 feat: register fiber24 + fibermall in index, move atgbics to fetch-only section Rene Fichtmueller 2026-04-18 22:50:52 +02:00
  • cb5a587d7e feat: rewrite ATGBICS scraper — static HTML, correct collection handles, GBP cookie Rene Fichtmueller 2026-04-18 22:48:29 +02:00
  • 785a6731ab fix: fiber24 stockLevel on_request (was unknown — violated DB constraint) Rene Fichtmueller 2026-04-18 22:26:45 +02:00
  • d4ad9f4641 fix: ShopFiber24 sitemap-based scraping + Fibermall image extraction Rene Fichtmueller 2026-04-18 22:20:57 +02:00
  • 446ac667b0 feat: side-by-side competitor comparison + fix 1.6T speed_gbps Rene Fichtmueller 2026-04-18 21:51:41 +02:00
  • 62d97a783c feat: add claude-code LLM provider + update dashboard to fo-blog-v5 Rene Fichtmueller 2026-04-18 20:45:14 +02:00
  • 74b83de6e9 docs: changelog — tunnel DNS fix, image backfill, OSFP coverage Rene Fichtmueller 2026-04-18 13:23:57 +02:00
  • 1da4abc488 fix: FS.com price extraction — DOM-based prices + shipping-context exclusion Rene Fichtmueller 2026-04-18 13:10:35 +02:00
  • f8a1d27e79 fix: add missing auth header to blog generate fetches Rene Fichtmueller 2026-04-18 08:03:39 +02:00
  • 6a33a17bca chore: changelog — Crawlee queue wipe, ATGBICS fix, Optcore skip Rene Fichtmueller 2026-04-18 05:42:37 +02:00
  • 48adcd3fc9 fix: skip Optcore on Erik — Cloudflare blocks datacenter IP Rene Fichtmueller 2026-04-18 05:41:56 +02:00
  • e11e351f5e fix: crawlee-config clear request queue on each run Rene Fichtmueller 2026-04-18 05:37:45 +02:00
  • 1378a9bee8 chore: changelog — 10Gtek scraper fix (sfpcables.com, 49 prices) Rene Fichtmueller 2026-04-18 05:32:33 +02:00
  • fcdd258369 fix: 10Gtek scraper now fetches prices from sfpcables.com Rene Fichtmueller 2026-04-18 05:27:49 +02:00
  • 2a6ec90ecd fix: fs-com Phase 1+2 crawler.run() ENOENT guard — Crawlee catches and re-throws the post-run _isTaskReadyFunction ENOENT internally, which rejected crawler.run() and aborted Phase 2 before it could start. Wrap both crawler.run() calls in try/catch to swallow ENOENT from request_queues paths; all processing is already complete at this point. Rene Fichtmueller 2026-04-18 03:52:49 +02:00
  • b3eff15fc4 chore: changelog — daemon stability, ATGBICS Playwright, health monitor accuracy Rene Fichtmueller 2026-04-18 03:25:02 +02:00
  • 93d825dc04 fix: daemon stability + health monitor accuracy Rene Fichtmueller 2026-04-18 03:16:59 +02:00
  • 8391b194a5 fix: GBICS scraper — fall back to aria-label-first pattern when href-first finds no priced products Rene Fichtmueller 2026-04-18 03:02:39 +02:00
  • 0e4e6ff6b2 chore: changelog — FS.com ENOENT fix, PID lock, health monitor tiered alerts Rene Fichtmueller 2026-04-18 02:55:18 +02:00
  • 24ff9822ac fix: improve scraper health monitor — tiered alerts, suppress stable-price false positives Rene Fichtmueller 2026-04-18 02:54:28 +02:00
  • e552e08015 fix: suppress Crawlee post-run ENOENT unhandledRejection in fs-com.ts Rene Fichtmueller 2026-04-18 02:51:00 +02:00
  • 6be2c131d3 fix: add PID lock to run-fs-scraper-mac.sh — prevent simultaneous instances Rene Fichtmueller 2026-04-18 02:43:28 +02:00
  • 681fd5ced6 chore: gitignore all storage-* Crawlee dirs + local credentials Rene Fichtmueller 2026-04-18 02:40:34 +02:00
  • c5e7e7d7f6 fix: remove POSTGRES_PASSWORD export from run-fs-scraper-mac.sh — sourced from ~/.tip/.env only Rene Fichtmueller 2026-04-18 02:37:42 +02:00
  • fc3224be76 fix: remove hardcoded POSTGRES_PASSWORD from run-fs-scraper-mac.sh — use ~/.tip/.env Rene Fichtmueller 2026-04-18 02:37:05 +02:00
  • 696127366c chore: changelog — Playwright headless shell fix, withIsolatedStorage race fix, FS.com launchd fix Rene Fichtmueller 2026-04-18 02:35:55 +02:00
  • 419af4a24e fix: remove all withIsolatedStorage wrappers, add makeCrawleeConfig to remaining Crawlee scrapers Rene Fichtmueller 2026-04-18 02:19:53 +02:00
  • d9e5331161 debug: widen NADDOD error slice to 300 chars, add pre-insert logging Rene Fichtmueller 2026-04-18 02:00:03 +02:00
  • 24481b09e6 fix: eBay enricher Crawlee isolation + ephemeral queues Rene Fichtmueller 2026-04-18 01:42:08 +02:00
  • 35a02057f4 chore: sync-to-erik now includes scraper rebuild + daemon restart; changelog Rene Fichtmueller 2026-04-18 01:37:12 +02:00
  • c7d7456de9 fix: instance-level Crawlee storage isolation + eBay vendor type Rene Fichtmueller 2026-04-18 01:35:57 +02:00
  • 4b751a771b fix: NADDOD stockLevel 'unknown' → 'on_request' — invalid value for price_observations check constraint Rene Fichtmueller 2026-04-18 01:21:31 +02:00
  • 2b770aa1a9 chore: cleanup — rename digikey→mouser, remove orphan files, gitignore Crawlee artifacts Rene Fichtmueller 2026-04-18 01:09:10 +02:00
  • 1c8dec52c9 feat: Price Comparison dashboard + Eoptolink OEM scraper Rene Fichtmueller 2026-04-18 01:02:08 +02:00
  • 63b4a65c28 chore: changelog entry — MCP Server v0.2.0 (finder + switch-docs + Ollama LLM tools) Rene Fichtmueller 2026-04-18 00:29:42 +02:00
  • e9fcda2811 feat: wire finder.ts + switch-docs + Ollama LLM tools to MCP server Rene Fichtmueller 2026-04-18 00:21:58 +02:00
  • b88a6e28cf feat: /api/hype-cycle/analysis endpoint — DB-backed Bass-fitted results from hype_cycle_analysis table Rene Fichtmueller 2026-04-18 00:11:08 +02:00
  • 9d3019d0c0 feat: Norton-Bass Hype Cycle Engine — market_metrics seed + Bass fitting + Gartner phase detection Rene Fichtmueller 2026-04-18 00:09:08 +02:00
  • 75cea9fe90 feat: Mouser Electronics API scraper for OEM reference prices (Juniper/Cisco/Arista PIDs) Rene Fichtmueller 2026-04-18 00:04:35 +02:00
  • 5c5841d4d1 chore: prune 242 irrelevant vendors from DB (348→106), add changelog entry Rene Fichtmueller 2026-04-17 23:58:13 +02:00
  • 60736bd5df chore: changelog entries 2026-04-17 stock dashboard + Cisco TMG + Juniper HCT Rene Fichtmueller 2026-04-17 23:33:49 +02:00
  • 861243ea3f feat: stock confidence badges, multi-vendor price comparison, expanded Cisco TMG + Juniper HCT Rene Fichtmueller 2026-04-17 23:33:31 +02:00
  • 5393f73c17 feat: stock quality schema + QSFPTEK/NADDOD v2 scrapers with real-time stock counts Rene Fichtmueller 2026-04-17 22:54:40 +02:00
  • 5b35b2b8be feat(scraper+api): warehouse stock data pipeline — FS.com v2, SmartOptics v2, Stock API Rene Fichtmueller 2026-04-17 10:45:59 +02:00
  • 662cd1f90b fix(scraper): FiberMall URL schema + price parser + Flexoptix EUR comma bug Rene Fichtmueller 2026-04-12 04:26:35 +02:00
  • cdb8ef6e61 feat(scraper): add FiberMall/Vcelink/OpticsBay scrapers, fix QSFPTEK API migration Rene Fichtmueller 2026-04-11 19:13:36 +02:00
  • 8905382a49 chore: add changelog entries 2026-04-05 through 2026-04-09 Rene Fichtmueller 2026-04-11 18:50:17 +02:00
  • ef30da18d1 chore: update changelog for 2026-04-11 session Rene Fichtmueller 2026-04-11 13:57:31 +02:00
  • 148d2e1000 fix(scraper): set CRAWLEE_PURGE_ON_START=1 in withIsolatedStorage Rene Fichtmueller 2026-04-11 07:27:24 +02:00
  • 45c48755e4 feat(scraper): add NADDOD/QSFPTEK/AddOn to scheduler, fix pre-existing TS build errors Rene Fichtmueller 2026-04-11 03:17:33 +02:00
  • 6febb9c88e refactor(prolabs): replace Playwright+Firefox with fetch-based catalog scraper Rene Fichtmueller 2026-04-11 02:57:13 +02:00
  • 7af5b32b3f ui: redesign LLM panel for light theme readability Rene Fichtmueller 2026-04-09 21:20:43 +02:00
  • bf626f9de6 fix: route Pi-destined scrapers exclusively to Pi worker fleet Rene Fichtmueller 2026-04-09 20:50:57 +02:00
  • c898f52bbe feat: add LLM model selector panel to Blog Engine tab Rene Fichtmueller 2026-04-09 20:42:03 +02:00
  • 3d00a4a00a feat: 800G standards deep enrichment + Pi Starlink proxy-agent support Rene Fichtmueller 2026-04-09 20:34:27 +02:00
  • cddc92c9d2 feat: TIP audit fixes — Qdrant init, switches columns, verification fix, crawler live status, demo data badges Rene Fichtmueller 2026-04-09 20:29:46 +02:00
  • 7d005ba1f3 data: add Cisco 8000 accuracy migration (031) Rene Fichtmueller 2026-04-09 09:09:23 +02:00
  • cf75eee8ad feat: linecard system support, Cisco 8000 accuracy, price anomaly detection Rene Fichtmueller 2026-04-09 09:06:22 +02:00
  • 240e7f46f2 feat(scraper): add SOCKS5 proxy rotation for fs-com, atgbics, gbics scrapers Rene Fichtmueller 2026-04-08 08:17:49 +02:00
  • 772ce2074d feat: add blog training articles 056-100 for fo-blog-v3 fine-tuning Rene Fichtmueller 2026-04-07 08:59:16 +02:00
  • 12a19639fd fix: seed script accepts category as fallback for missing type field Rene Fichtmueller 2026-04-07 01:24:15 +02:00
  • 0572ab5a71 feat: add blog training articles 041-055 for fo-blog-v2 fine-tuning Rene Fichtmueller 2026-04-07 01:08:27 +02:00
  • 99fca6b531 feat(training): add blog-031 through blog-040 — 10 expert articles Rene Fichtmueller 2026-04-06 18:15:46 +02:00
  • 51af249361 Merge remote-tracking branch 'github/main' Rene Fichtmueller 2026-04-06 18:03:36 +02:00
  • 285a91b945 feat(training): add blog-016 through blog-030 — 15 expert training articles Rene Fichtmueller 2026-04-06 17:59:14 +02:00
  • bf06993b63 ui: show creation time (HH:MM) alongside date in blog list Rene Fichtmueller 2026-04-06 17:07:05 +02:00
  • 3928755c60 fix: correct verified badge, comparable pricing, and clickable product images Rene Fichtmueller 2026-04-06 10:24:39 +02:00
  • 8f060d0159 feat(training): add blog-014 new_product and blog-015 competitor_analysis Rene Fichtmueller 2026-04-06 04:16:00 +02:00
  • 4acf293690 fix(llm): checkHealth uses key presence check, not live API call Rene Fichtmueller 2026-04-06 04:07:21 +02:00
  • f7bdee9583 feat: add 2 more gold-standard blog training articles (13 total) Rene Fichtmueller 2026-04-06 03:09:55 +02:00
  • de05bbbec8 docs: update training data README to reflect 11 articles Rene Fichtmueller 2026-04-06 02:55:34 +02:00
  • b8e6a62c7b feat: add 4 more gold-standard blog training articles for BlogLLM Rene Fichtmueller 2026-04-06 02:55:10 +02:00
  • 72033ff5c5 fix(blog): fix claudeQueue deadlock from recursive 429 retry Rene Fichtmueller 2026-04-06 02:51:28 +02:00
  • 55de4920b2 feat(sql): migrations 026+027 for price cleanup and FS.COM EUR fix Rene Fichtmueller 2026-04-06 02:22:00 +02:00
  • 2e852e0a2f fix(scrapers): replace bot User-Agents with Chrome UA + disable dead domain Rene Fichtmueller 2026-04-06 02:17:50 +02:00
  • 80aa85961b feat: add 7 gold-standard blog training articles for BlogLLM Rene Fichtmueller 2026-04-06 01:58:05 +02:00
  • dfe86fb347 fix(scraper): switch fs-com to de.fs.com for EUR prices as primary source Rene Fichtmueller 2026-04-06 01:24:47 +02:00
  • e4e432d9fa fix: parsePrice requires currency symbol + uses largest number to avoid misreads Rene Fichtmueller 2026-04-06 01:19:25 +02:00
  • a35817c96d fix: preserve user-provided title in blog generation + price floor validation Rene Fichtmueller 2026-04-06 01:14:37 +02:00
  • df8d1e797c fix: show price_verified_eur as fallback price + strict badge logic Rene Fichtmueller 2026-04-06 01:04:44 +02:00