Enhance eBay extension logging and account management features

- Added detailed logging for various actions in the background script and content script to improve debugging capabilities.
- Updated the account management flow to include the last updated timestamp and sales data.
- Refined the parsing logic to ensure accurate extraction of seller statistics from eBay profiles.
- Improved error handling in the parsing process to provide more informative responses in case of failures.
This commit is contained in:
2026-01-21 23:01:09 +01:00
parent 0012a10249
commit 636ca1341c
6 changed files with 1114 additions and 129 deletions

View File

@@ -1,60 +1,278 @@
{"location":"productsService.js:116","message":"scanProductsForAccount: market derived","data":{"accountId":"696ccb2400395714987c","market":"DE","account_platform_market":"DE","account_url":"https://www.ebay.de/sch/i.html?item=397047173300&rt=nc&_trksid=p4429486.m3561.l161211&_ssn=miceusi"},"timestamp":1768741151411,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"productsService.js:127","message":"scanProductsForAccount: currency derived","data":{"market":"DE","currency":"EUR","productsCollectionId":"products","databaseId":"eship-db","platformWillBeSetTo":"eBay"},"timestamp":1768741151411,"sessionId":"debug-session","runId":"post-fix","hypothesisId":"E"}
{"location":"productsService.js:190","message":"scanProductsForAccount: payload before createDocument","data":{"platformProductId":"stub_1243_1","product_platform":"ebay","product_platform_type":"string","product_platform_length":4,"product_platform_JSON":"\"ebay\"","fullPayload":"{\"product_account_id\":\"696ccb2400395714987c\",\"product_platform\":\"ebay\",\"product_platform_market\":\"DE\",\"product_currency\":\"EUR\",\"product_platform_product_id\":\"stub_1243_1\",\"product_title\":\"Scanned Item 1\",\"product_price\":58.5,\"product_url\":\"https://www.ebay.de/itm/fake-696ccb24-1\"}","payloadKeys":["product_account_id","product_platform","product_platform_market","product_currency","product_platform_product_id","product_title","product_price","product_url"]},"timestamp":1768741151507,"sessionId":"debug-session","runId":"run2","hypothesisId":"D"}
{"location":"productsService.js:185","message":"scanProductsForAccount: createDocument success","data":{"platformProductId":"stub_1243_1","created":0},"timestamp":1768741151644,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"productsService.js:190","message":"scanProductsForAccount: payload before createDocument","data":{"platformProductId":"stub_1243_2","product_platform":"ebay","product_platform_type":"string","product_platform_length":4,"product_platform_JSON":"\"ebay\"","fullPayload":"{\"product_account_id\":\"696ccb2400395714987c\",\"product_platform\":\"ebay\",\"product_platform_market\":\"DE\",\"product_currency\":\"EUR\",\"product_platform_product_id\":\"stub_1243_2\",\"product_title\":\"Scanned Item 2\",\"product_price\":64,\"product_url\":\"https://www.ebay.de/itm/fake-696ccb24-2\"}","payloadKeys":["product_account_id","product_platform","product_platform_market","product_currency","product_platform_product_id","product_title","product_price","product_url"]},"timestamp":1768741151644,"sessionId":"debug-session","runId":"run2","hypothesisId":"D"}
{"location":"productsService.js:185","message":"scanProductsForAccount: createDocument success","data":{"platformProductId":"stub_1243_2","created":1},"timestamp":1768741151700,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"productsService.js:190","message":"scanProductsForAccount: payload before createDocument","data":{"platformProductId":"stub_1243_3","product_platform":"ebay","product_platform_type":"string","product_platform_length":4,"product_platform_JSON":"\"ebay\"","fullPayload":"{\"product_account_id\":\"696ccb2400395714987c\",\"product_platform\":\"ebay\",\"product_platform_market\":\"DE\",\"product_currency\":\"EUR\",\"product_platform_product_id\":\"stub_1243_3\",\"product_title\":\"Scanned Item 3\",\"product_price\":69.5,\"product_url\":\"https://www.ebay.de/itm/fake-696ccb24-3\"}","payloadKeys":["product_account_id","product_platform","product_platform_market","product_currency","product_platform_product_id","product_title","product_price","product_url"]},"timestamp":1768741151701,"sessionId":"debug-session","runId":"run2","hypothesisId":"D"}
{"location":"productsService.js:185","message":"scanProductsForAccount: createDocument success","data":{"platformProductId":"stub_1243_3","created":2},"timestamp":1768741151751,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"productsService.js:190","message":"scanProductsForAccount: payload before createDocument","data":{"platformProductId":"stub_1243_4","product_platform":"ebay","product_platform_type":"string","product_platform_length":4,"product_platform_JSON":"\"ebay\"","fullPayload":"{\"product_account_id\":\"696ccb2400395714987c\",\"product_platform\":\"ebay\",\"product_platform_market\":\"DE\",\"product_currency\":\"EUR\",\"product_platform_product_id\":\"stub_1243_4\",\"product_title\":\"Scanned Item 4\",\"product_price\":75,\"product_url\":\"https://www.ebay.de/itm/fake-696ccb24-4\"}","payloadKeys":["product_account_id","product_platform","product_platform_market","product_currency","product_platform_product_id","product_title","product_price","product_url"]},"timestamp":1768741151752,"sessionId":"debug-session","runId":"run2","hypothesisId":"D"}
{"location":"productsService.js:185","message":"scanProductsForAccount: createDocument success","data":{"platformProductId":"stub_1243_4","created":3},"timestamp":1768741151800,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"productsService.js:190","message":"scanProductsForAccount: payload before createDocument","data":{"platformProductId":"stub_1243_5","product_platform":"ebay","product_platform_type":"string","product_platform_length":4,"product_platform_JSON":"\"ebay\"","fullPayload":"{\"product_account_id\":\"696ccb2400395714987c\",\"product_platform\":\"ebay\",\"product_platform_market\":\"DE\",\"product_currency\":\"EUR\",\"product_platform_product_id\":\"stub_1243_5\",\"product_title\":\"Scanned Item 5\",\"product_price\":80.5,\"product_url\":\"https://www.ebay.de/itm/fake-696ccb24-5\"}","payloadKeys":["product_account_id","product_platform","product_platform_market","product_currency","product_platform_product_id","product_title","product_price","product_url"]},"timestamp":1768741151800,"sessionId":"debug-session","runId":"run2","hypothesisId":"D"}
{"location":"productsService.js:185","message":"scanProductsForAccount: createDocument success","data":{"platformProductId":"stub_1243_5","created":4},"timestamp":1768741151844,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/goldbloom25?_trksid=p4429486.m3561.l161211"},"timestamp":1768741538650,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768741538651,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:158","message":"parseViaExtension: chrome.runtime.sendMessage error","data":{"error":"Could not establish connection. Receiving end does not exist.","extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768741538659,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:299","message":"parseEbayAccount: extension error, using stub","data":{"error":"Could not establish connection. Receiving end does not exist."},"timestamp":1768741538659,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:304","message":"parseEbayAccount: stub result","data":{"itemsSold":null},"timestamp":1768741538660,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"AccountsPage.jsx:193","message":"handleFormSubmit: parsedData before save","data":{"hasStats":true,"itemsSold":null,"accountSellsValue":null},"timestamp":1768741540654,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"accountsService.js:72","message":"createManagedAccount: payload before Appwrite","data":{"account_sells":null,"accountData_account_sells":null},"timestamp":1768741540655,"sessionId":"debug-session","runId":"run1","hypothesisId":"E"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/goldbloom25?_trksid=p4429486.m3561.l161211"},"timestamp":1768741552261,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768741552262,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:158","message":"parseViaExtension: chrome.runtime.sendMessage error","data":{"error":"Could not establish connection. Receiving end does not exist.","extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768741552269,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:299","message":"parseEbayAccount: extension error, using stub","data":{"error":"Could not establish connection. Receiving end does not exist."},"timestamp":1768741552269,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:304","message":"parseEbayAccount: stub result","data":{"itemsSold":null},"timestamp":1768741552270,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"AccountsPage.jsx:93","message":"handleRefreshAccount: update payload","data":{"payload":{"account_platform_market":"DE","account_platform_account_id":"ebay_0000uuvjdi","account_shop_name":"eBay Seller vjdi","account_sells":null}},"timestamp":1768741552270,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"696cdaa40028f011f5d0","payload":{"account_platform_market":"DE","account_platform_account_id":"ebay_0000uuvjdi","account_shop_name":"eBay Seller vjdi"},"payloadKeys":["account_platform_market","account_platform_account_id","account_shop_name"]},"timestamp":1768741552270,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"696cdaa40028f011f5d0"},"timestamp":1768741552346,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/ihaveitmusic?_trksid=p4429486.m3561.l161211"},"timestamp":1768741553567,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768741553568,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:158","message":"parseViaExtension: chrome.runtime.sendMessage error","data":{"error":"Could not establish connection. Receiving end does not exist.","extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768741553574,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:299","message":"parseEbayAccount: extension error, using stub","data":{"error":"Could not establish connection. Receiving end does not exist."},"timestamp":1768741553574,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:304","message":"parseEbayAccount: stub result","data":{"itemsSold":null},"timestamp":1768741553574,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"AccountsPage.jsx:93","message":"handleRefreshAccount: update payload","data":{"payload":{"account_platform_market":"DE","account_platform_account_id":"ebay_0000h1nxit","account_shop_name":"eBay Seller nxit","account_sells":null}},"timestamp":1768741553575,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"696cbd07000703cf5437","payload":{"account_platform_market":"DE","account_platform_account_id":"ebay_0000h1nxit","account_shop_name":"eBay Seller nxit"},"payloadKeys":["account_platform_market","account_platform_account_id","account_shop_name"]},"timestamp":1768741553575,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"696cbd07000703cf5437"},"timestamp":1768741553651,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/goldbloom25?_trksid=p4429486.m3561.l161211"},"timestamp":1768741571041,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768741571042,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:160","message":"parseViaExtension: response data from extension","data":{"hasStats":true,"itemsSold":1588,"stats":{"positiveRate":7,"feedbackCount":0,"itemsForSale":588,"itemsSold":1588}},"timestamp":1768741573909,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"AccountsPage.jsx:93","message":"handleRefreshAccount: update payload","data":{"payload":{"account_platform_market":"DE","account_platform_account_id":"goldbloom25","account_shop_name":"goldbloom25","account_sells":1588}},"timestamp":1768741573909,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"696cdaa40028f011f5d0","payload":{"account_platform_market":"DE","account_platform_account_id":"goldbloom25","account_shop_name":"goldbloom25","account_sells":1588},"payloadKeys":["account_platform_market","account_platform_account_id","account_shop_name","account_sells"]},"timestamp":1768741573909,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"696cdaa40028f011f5d0"},"timestamp":1768741574001,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/sch/i.html?item=397047173300&rt=nc&_trksid=p4429486.m3561.l161211&_ssn=miceusi"},"timestamp":1768741581711,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768741581712,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:299","message":"parseEbayAccount: extension error, using stub","data":{"error":"timeout"},"timestamp":1768741596751,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"AccountsPage.jsx:93","message":"handleRefreshAccount: update payload","data":{"payload":{"account_platform_market":"DE","account_platform_account_id":"ebay_00002jm9ly","account_shop_name":"eBay Seller m9ly","account_sells":null}},"timestamp":1768741596752,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"696ccb2400395714987c","payload":{"account_platform_market":"DE","account_platform_account_id":"ebay_00002jm9ly","account_shop_name":"eBay Seller m9ly"},"payloadKeys":["account_platform_market","account_platform_account_id","account_shop_name"]},"timestamp":1768741596752,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:304","message":"parseEbayAccount: stub result","data":{"itemsSold":null},"timestamp":1768741596752,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"696ccb2400395714987c"},"timestamp":1768741596841,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/ihaveitmusic?_trksid=p4429486.m3561.l161211"},"timestamp":1768741610165,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768741610165,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:160","message":"parseViaExtension: response data from extension","data":{"hasStats":true,"itemsSold":280535,"stats":{"positiveRate":5,"feedbackCount":0,"itemsForSale":535,"itemsSold":280535}},"timestamp":1768741616427,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"696cbd07000703cf5437","payload":{"account_platform_market":"DE","account_platform_account_id":"ihaveitmusic","account_shop_name":"iHaveit","account_sells":280535},"payloadKeys":["account_platform_market","account_platform_account_id","account_shop_name","account_sells"]},"timestamp":1768741616428,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"AccountsPage.jsx:93","message":"handleRefreshAccount: update payload","data":{"payload":{"account_platform_market":"DE","account_platform_account_id":"ihaveitmusic","account_shop_name":"iHaveit","account_sells":280535}},"timestamp":1768741616427,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"696cbd07000703cf5437"},"timestamp":1768741616513,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:150","message":"getExtensionId: not found after retries","data":{"hasWindow":true},"timestamp":1768742766564,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:150","message":"getExtensionId: not found after retries","data":{"hasWindow":true},"timestamp":1768742773836,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768742796643,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768742817118,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768742900325,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1768742905657,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032347685,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1769032347686,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:165","message":"parseViaExtension: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","hasChrome":true,"hasRuntime":true},"timestamp":1769032347686,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:175","message":"parseViaExtension: got extension ID","data":{"extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032347694,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:178","message":"parseViaExtension: sending message","data":{"extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032347694,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:73","message":"handleParseRequest: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032347696,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:89","message":"handleParseRequest: tab created","data":{"tabId":1015118967,"url":""},"timestamp":1769032347707,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118967,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032348580,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118967,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032348582,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118967,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032348621,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118967,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032348967,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118967,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032348970,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118967,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032348974,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118967,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032348975,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118967,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032348978,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118967,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032348979,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118967,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032348980,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118967,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032348980,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118967,"status":"complete","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032349179,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:108","message":"checkTabLoaded: tab complete","data":{"tabId":1015118967,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","isEbayUrl":true},"timestamp":1769032349180,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:187","message":"sendParseMessageWithRetry: entry","data":{"tabId":1015118967,"attempt":0},"timestamp":1769032351183,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:147","message":"ensureContentScriptInjected: tab info","data":{"tabId":1015118967,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","isEbayUrl":true},"timestamp":1769032351184,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:143","message":"ensureContentScriptInjected: entry","data":{"tabId":1015118967},"timestamp":1769032351183,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:153","message":"ensureContentScriptInjected: sending PING","data":{"tabId":1015118967},"timestamp":1769032351184,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:158","message":"ensureContentScriptInjected: PING failed","data":{"tabId":1015118967,"error":"Could not establish connection. Receiving end does not exist."},"timestamp":1769032351184,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:162","message":"ensureContentScriptInjected: attempting injection","data":{"tabId":1015118967},"timestamp":1769032351185,"sessionId":"debug-session","runId":"run1","hypothesisId":"E"}
{"location":"background.js:165","message":"ensureContentScriptInjected: tab info before injection","data":{"tabId":1015118967,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032351186,"sessionId":"debug-session","runId":"run1","hypothesisId":"F"}
{"location":"background.js:172","message":"ensureContentScriptInjected: listener injection success","data":{"tabId":1015118967,"frameId":0},"timestamp":1769032351187,"sessionId":"debug-session","runId":"run1","hypothesisId":"H"}
{"location":"background.js:207","message":"ensureContentScriptInjected: test injection success","data":{"tabId":1015118967},"timestamp":1769032351188,"sessionId":"debug-session","runId":"run1","hypothesisId":"G"}
{"location":"background.js:169","message":"ensureContentScriptInjected: ping after injection","data":{"tabId":1015118967,"pingAttempt":0},"timestamp":1769032351494,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:176","message":"ensureContentScriptInjected: ping success after injection","data":{"tabId":1015118967,"pingAttempt":0},"timestamp":1769032351495,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:195","message":"sendParseMessageWithRetry: injection result","data":{"tabId":1015118967,"injected":true},"timestamp":1769032351495,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:204","message":"sendParseMessageWithRetry: sending PARSE_EBAY","data":{"tabId":1015118967,"attempt":0},"timestamp":1769032351496,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:206","message":"sendParseMessageWithRetry: response received","data":{"tabId":1015118967,"hasResponse":true,"ok":true},"timestamp":1769032351497,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"ebayParserService.js:196","message":"parseViaExtension: response success","data":{"hasStats":true,"itemsSold":348728,"stats":{"itemsSold":348728}},"timestamp":1769032351513,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"AccountsPage.jsx:93","message":"handleRefreshAccount: update payload","data":{"payload":{"account_platform_market":"DE","account_platform_account_id":"sbdirect24","account_shop_name":"sbdirect24","account_sells":348728}},"timestamp":1769032351513,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"69714472002ab5f0dd0e","payload":{"account_platform_market":"DE","account_platform_account_id":"sbdirect24","account_shop_name":"sbdirect24","account_sells":348728},"payloadKeys":["account_platform_market","account_platform_account_id","account_shop_name","account_sells"]},"timestamp":1769032351513,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"69714472002ab5f0dd0e"},"timestamp":1769032351603,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032358262,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1769032358264,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:165","message":"parseViaExtension: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","hasChrome":true,"hasRuntime":true},"timestamp":1769032358263,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:175","message":"parseViaExtension: got extension ID","data":{"extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032358275,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:178","message":"parseViaExtension: sending message","data":{"extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032358276,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:73","message":"handleParseRequest: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032358277,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:89","message":"handleParseRequest: tab created","data":{"tabId":1015118969,"url":""},"timestamp":1769032358289,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118969,"status":"loading","url":"https://www.ebay.de/splashui/captcha?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.de%2Fstr%2Fsbdirect24%3F_trksid%3Dp4429486.m3561.l161211&iid=a41c5b80-ed2d-4186-a1f1-e146e4aee0f1&iim=aMTQ1LjR&iia=HOIyNC43wL&iiz=YnjMy4yMjU*Doi"},"timestamp":1769032358785,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118969,"url":"https://www.ebay.de/splashui/captcha?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.de%2Fstr%2Fsbdirect24%3F_trksid%3Dp4429486.m3561.l161211&iid=a41c5b80-ed2d-4186-a1f1-e146e4aee0f1&iim=aMTQ1LjR&iia=HOIyNC43wL&iiz=YnjMy4yMjU*Doi"},"timestamp":1769032358836,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118969,"status":"complete","url":"https://www.ebay.de/splashui/captcha?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.de%2Fstr%2Fsbdirect24%3F_trksid%3Dp4429486.m3561.l161211&iid=a41c5b80-ed2d-4186-a1f1-e146e4aee0f1&iim=aMTQ1LjR&iia=HOIyNC43wL&iiz=YnjMy4yMjU*Doi"},"timestamp":1769032358892,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:108","message":"checkTabLoaded: tab complete","data":{"tabId":1015118969,"url":"https://www.ebay.de/splashui/captcha?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.de%2Fstr%2Fsbdirect24%3F_trksid%3Dp4429486.m3561.l161211&iid=a41c5b80-ed2d-4186-a1f1-e146e4aee0f1&iim=aMTQ1LjR&iia=HOIyNC43wL&iiz=YnjMy4yMjU*Doi","isEbayUrl":true},"timestamp":1769032358892,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:187","message":"sendParseMessageWithRetry: entry","data":{"tabId":1015118969,"attempt":0},"timestamp":1769032360901,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:143","message":"ensureContentScriptInjected: entry","data":{"tabId":1015118969},"timestamp":1769032360901,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:147","message":"ensureContentScriptInjected: tab info","data":{"tabId":1015118969,"url":"https://www.ebay.de/splashui/captcha?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.de%2Fstr%2Fsbdirect24%3F_trksid%3Dp4429486.m3561.l161211&iid=a41c5b80-ed2d-4186-a1f1-e146e4aee0f1&iim=aMTQ1LjR&iia=HOIyNC43wL&iiz=YnjMy4yMjU*Doi","isEbayUrl":true},"timestamp":1769032360902,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:153","message":"ensureContentScriptInjected: sending PING","data":{"tabId":1015118969},"timestamp":1769032360902,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:158","message":"ensureContentScriptInjected: PING failed","data":{"tabId":1015118969,"error":"Could not establish connection. Receiving end does not exist."},"timestamp":1769032361126,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:162","message":"ensureContentScriptInjected: attempting injection","data":{"tabId":1015118969},"timestamp":1769032361127,"sessionId":"debug-session","runId":"run1","hypothesisId":"E"}
{"location":"background.js:165","message":"ensureContentScriptInjected: tab info before injection","data":{"tabId":1015118969,"url":"https://www.ebay.de/splashui/captcha?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.de%2Fstr%2Fsbdirect24%3F_trksid%3Dp4429486.m3561.l161211&iid=a41c5b80-ed2d-4186-a1f1-e146e4aee0f1&iim=aMTQ1LjR&iia=HOIyNC43wL&iiz=YnjMy4yMjU*Doi"},"timestamp":1769032361128,"sessionId":"debug-session","runId":"run1","hypothesisId":"F"}
{"location":"background.js:172","message":"ensureContentScriptInjected: listener injection success","data":{"tabId":1015118969,"frameId":0},"timestamp":1769032361130,"sessionId":"debug-session","runId":"run1","hypothesisId":"H"}
{"location":"background.js:207","message":"ensureContentScriptInjected: test injection success","data":{"tabId":1015118969},"timestamp":1769032361132,"sessionId":"debug-session","runId":"run1","hypothesisId":"G"}
{"location":"background.js:169","message":"ensureContentScriptInjected: ping after injection","data":{"tabId":1015118969,"pingAttempt":0},"timestamp":1769032361443,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:176","message":"ensureContentScriptInjected: ping success after injection","data":{"tabId":1015118969,"pingAttempt":0},"timestamp":1769032361444,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:195","message":"sendParseMessageWithRetry: injection result","data":{"tabId":1015118969,"injected":true},"timestamp":1769032361444,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:204","message":"sendParseMessageWithRetry: sending PARSE_EBAY","data":{"tabId":1015118969,"attempt":0},"timestamp":1769032361445,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:206","message":"sendParseMessageWithRetry: response received","data":{"tabId":1015118969,"hasResponse":true,"ok":true},"timestamp":1769032361446,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"ebayParserService.js:196","message":"parseViaExtension: response success","data":{"hasStats":true,"itemsSold":null,"stats":{"itemsSold":null}},"timestamp":1769032361460,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"AccountsPage.jsx:93","message":"handleRefreshAccount: update payload","data":{"payload":{"account_platform_market":"DE","account_shop_name":"Bitte bestätigen Sie zum Fortfahren Ihre Identität","account_sells":null}},"timestamp":1769032361460,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"69714472002ab5f0dd0e","payload":{"account_platform_market":"DE","account_shop_name":"Bitte bestätigen Sie zum Fortfahren Ihre Identität"},"payloadKeys":["account_platform_market","account_shop_name"]},"timestamp":1769032361460,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"69714472002ab5f0dd0e"},"timestamp":1769032361564,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032441216,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1769032441217,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:165","message":"parseViaExtension: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","hasChrome":true,"hasRuntime":true},"timestamp":1769032441216,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:175","message":"parseViaExtension: got extension ID","data":{"extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032441224,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:178","message":"parseViaExtension: sending message","data":{"extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032441225,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:73","message":"handleParseRequest: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032441226,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:89","message":"handleParseRequest: tab created","data":{"tabId":1015118971,"url":""},"timestamp":1769032441238,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118971,"status":"loading","url":"https://www.ebay.de/splashui/captcha?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.de%2Fstr%2Fsbdirect24%3F_trksid%3Dp4429486.m3561.l161211&iid=1bd50360-556b-409a-951f-01bca5aaf679&iim=GMTQ1Ljm&iia=hsIyNC43kV&iiz=zlQMy4yMjU*eRR"},"timestamp":1769032441726,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118971,"url":"https://www.ebay.de/splashui/captcha?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.de%2Fstr%2Fsbdirect24%3F_trksid%3Dp4429486.m3561.l161211&iid=1bd50360-556b-409a-951f-01bca5aaf679&iim=GMTQ1Ljm&iia=hsIyNC43kV&iiz=zlQMy4yMjU*eRR"},"timestamp":1769032441732,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118971,"status":"complete","url":"https://www.ebay.de/splashui/captcha?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.de%2Fstr%2Fsbdirect24%3F_trksid%3Dp4429486.m3561.l161211&iid=1bd50360-556b-409a-951f-01bca5aaf679&iim=GMTQ1Ljm&iia=hsIyNC43kV&iiz=zlQMy4yMjU*eRR"},"timestamp":1769032441786,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:108","message":"checkTabLoaded: tab complete","data":{"tabId":1015118971,"url":"https://www.ebay.de/splashui/captcha?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.de%2Fstr%2Fsbdirect24%3F_trksid%3Dp4429486.m3561.l161211&iid=1bd50360-556b-409a-951f-01bca5aaf679&iim=GMTQ1Ljm&iia=hsIyNC43kV&iiz=zlQMy4yMjU*eRR","isEbayUrl":true},"timestamp":1769032441786,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:187","message":"sendParseMessageWithRetry: entry","data":{"tabId":1015118971,"attempt":0},"timestamp":1769032443790,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:143","message":"ensureContentScriptInjected: entry","data":{"tabId":1015118971},"timestamp":1769032443791,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:147","message":"ensureContentScriptInjected: tab info","data":{"tabId":1015118971,"url":"https://www.ebay.de/splashui/captcha?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.de%2Fstr%2Fsbdirect24%3F_trksid%3Dp4429486.m3561.l161211&iid=1bd50360-556b-409a-951f-01bca5aaf679&iim=GMTQ1Ljm&iia=hsIyNC43kV&iiz=zlQMy4yMjU*eRR","isEbayUrl":true},"timestamp":1769032443792,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:153","message":"ensureContentScriptInjected: sending PING","data":{"tabId":1015118971},"timestamp":1769032443792,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:158","message":"ensureContentScriptInjected: PING failed","data":{"tabId":1015118971,"error":"Could not establish connection. Receiving end does not exist."},"timestamp":1769032443793,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:162","message":"ensureContentScriptInjected: attempting injection","data":{"tabId":1015118971},"timestamp":1769032443793,"sessionId":"debug-session","runId":"run1","hypothesisId":"E"}
{"location":"background.js:165","message":"ensureContentScriptInjected: tab info before injection","data":{"tabId":1015118971,"url":"https://www.ebay.de/splashui/captcha?ap=1&appName=orch&ru=https%3A%2F%2Fwww.ebay.de%2Fstr%2Fsbdirect24%3F_trksid%3Dp4429486.m3561.l161211&iid=1bd50360-556b-409a-951f-01bca5aaf679&iim=GMTQ1Ljm&iia=hsIyNC43kV&iiz=zlQMy4yMjU*eRR"},"timestamp":1769032443794,"sessionId":"debug-session","runId":"run1","hypothesisId":"F"}
{"location":"background.js:172","message":"ensureContentScriptInjected: listener injection success","data":{"tabId":1015118971,"frameId":0},"timestamp":1769032443795,"sessionId":"debug-session","runId":"run1","hypothesisId":"H"}
{"location":"background.js:207","message":"ensureContentScriptInjected: test injection success","data":{"tabId":1015118971},"timestamp":1769032443797,"sessionId":"debug-session","runId":"run1","hypothesisId":"G"}
{"location":"background.js:169","message":"ensureContentScriptInjected: ping after injection","data":{"tabId":1015118971,"pingAttempt":0},"timestamp":1769032444100,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:176","message":"ensureContentScriptInjected: ping success after injection","data":{"tabId":1015118971,"pingAttempt":0},"timestamp":1769032444101,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:195","message":"sendParseMessageWithRetry: injection result","data":{"tabId":1015118971,"injected":true},"timestamp":1769032444102,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:204","message":"sendParseMessageWithRetry: sending PARSE_EBAY","data":{"tabId":1015118971,"attempt":0},"timestamp":1769032444102,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:206","message":"sendParseMessageWithRetry: response received","data":{"tabId":1015118971,"hasResponse":true,"ok":true},"timestamp":1769032444103,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"ebayParserService.js:196","message":"parseViaExtension: response success","data":{"hasStats":true,"itemsSold":null,"stats":{"itemsSold":null}},"timestamp":1769032444116,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"AccountsPage.jsx:93","message":"handleRefreshAccount: update payload","data":{"payload":{"account_platform_market":"DE","account_shop_name":"Bitte bestätigen Sie zum Fortfahren Ihre Identität","account_sells":null}},"timestamp":1769032444116,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"69714472002ab5f0dd0e","payload":{"account_platform_market":"DE","account_shop_name":"Bitte bestätigen Sie zum Fortfahren Ihre Identität"},"payloadKeys":["account_platform_market","account_shop_name"]},"timestamp":1769032444117,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"69714472002ab5f0dd0e"},"timestamp":1769032444203,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032465359,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1769032465359,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:165","message":"parseViaExtension: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","hasChrome":true,"hasRuntime":true},"timestamp":1769032465359,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:175","message":"parseViaExtension: got extension ID","data":{"extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032465366,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:178","message":"parseViaExtension: sending message","data":{"extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032465366,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:73","message":"handleParseRequest: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032465367,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:89","message":"handleParseRequest: tab created","data":{"tabId":1015118975,"url":""},"timestamp":1769032465376,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118975,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032466284,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118975,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032466287,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118975,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032466315,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118975,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032466656,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118975,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032466659,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118975,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032466663,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118975,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032466663,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118975,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032466664,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118975,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032466665,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118975,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032466667,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118975,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032466667,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118975,"status":"complete","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032466804,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:108","message":"checkTabLoaded: tab complete","data":{"tabId":1015118975,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","isEbayUrl":true},"timestamp":1769032466804,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:187","message":"sendParseMessageWithRetry: entry","data":{"tabId":1015118975,"attempt":0},"timestamp":1769032468807,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:143","message":"ensureContentScriptInjected: entry","data":{"tabId":1015118975},"timestamp":1769032468808,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:147","message":"ensureContentScriptInjected: tab info","data":{"tabId":1015118975,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","isEbayUrl":true},"timestamp":1769032468808,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:153","message":"ensureContentScriptInjected: sending PING","data":{"tabId":1015118975},"timestamp":1769032468808,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:158","message":"ensureContentScriptInjected: PING failed","data":{"tabId":1015118975,"error":"Could not establish connection. Receiving end does not exist."},"timestamp":1769032468809,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:162","message":"ensureContentScriptInjected: attempting injection","data":{"tabId":1015118975},"timestamp":1769032468809,"sessionId":"debug-session","runId":"run1","hypothesisId":"E"}
{"location":"background.js:165","message":"ensureContentScriptInjected: tab info before injection","data":{"tabId":1015118975,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032468809,"sessionId":"debug-session","runId":"run1","hypothesisId":"F"}
{"location":"background.js:172","message":"ensureContentScriptInjected: listener injection success","data":{"tabId":1015118975,"frameId":0},"timestamp":1769032468811,"sessionId":"debug-session","runId":"run1","hypothesisId":"H"}
{"location":"background.js:207","message":"ensureContentScriptInjected: test injection success","data":{"tabId":1015118975},"timestamp":1769032468812,"sessionId":"debug-session","runId":"run1","hypothesisId":"G"}
{"location":"background.js:169","message":"ensureContentScriptInjected: ping after injection","data":{"tabId":1015118975,"pingAttempt":0},"timestamp":1769032469121,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:176","message":"ensureContentScriptInjected: ping success after injection","data":{"tabId":1015118975,"pingAttempt":0},"timestamp":1769032469122,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:195","message":"sendParseMessageWithRetry: injection result","data":{"tabId":1015118975,"injected":true},"timestamp":1769032469123,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:204","message":"sendParseMessageWithRetry: sending PARSE_EBAY","data":{"tabId":1015118975,"attempt":0},"timestamp":1769032469123,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:206","message":"sendParseMessageWithRetry: response received","data":{"tabId":1015118975,"hasResponse":true,"ok":true},"timestamp":1769032469124,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"ebayParserService.js:196","message":"parseViaExtension: response success","data":{"hasStats":true,"itemsSold":348728,"stats":{"itemsSold":348728}},"timestamp":1769032469138,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"AccountsPage.jsx:93","message":"handleRefreshAccount: update payload","data":{"payload":{"account_platform_market":"DE","account_platform_account_id":"sbdirect24","account_shop_name":"sbdirect24","account_sells":348728}},"timestamp":1769032469138,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"69714472002ab5f0dd0e","payload":{"account_platform_market":"DE","account_platform_account_id":"sbdirect24","account_shop_name":"sbdirect24","account_sells":348728},"payloadKeys":["account_platform_market","account_platform_account_id","account_shop_name","account_sells"]},"timestamp":1769032469139,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"69714472002ab5f0dd0e"},"timestamp":1769032469243,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032683600,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1769032683601,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:165","message":"parseViaExtension: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","hasChrome":true,"hasRuntime":true},"timestamp":1769032683601,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:175","message":"parseViaExtension: got extension ID","data":{"extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032683609,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:178","message":"parseViaExtension: sending message","data":{"extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032683609,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:73","message":"handleParseRequest: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032683610,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:89","message":"handleParseRequest: tab created","data":{"tabId":1015118977,"url":""},"timestamp":1769032683621,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118977,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032684632,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118977,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032684634,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118977,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032684639,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118977,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032685105,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118977,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032685108,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118977,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032685112,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118977,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032685113,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118977,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032685114,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118977,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032685115,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118977,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032685116,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118977,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032685117,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118977,"status":"complete","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032685262,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:108","message":"checkTabLoaded: tab complete","data":{"tabId":1015118977,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","isEbayUrl":true},"timestamp":1769032685263,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:187","message":"sendParseMessageWithRetry: entry","data":{"tabId":1015118977,"attempt":0},"timestamp":1769032687278,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:143","message":"ensureContentScriptInjected: entry","data":{"tabId":1015118977},"timestamp":1769032687278,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:147","message":"ensureContentScriptInjected: tab info","data":{"tabId":1015118977,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","isEbayUrl":true},"timestamp":1769032687279,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:153","message":"ensureContentScriptInjected: sending PING","data":{"tabId":1015118977},"timestamp":1769032687279,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:158","message":"ensureContentScriptInjected: PING failed","data":{"tabId":1015118977,"error":"Could not establish connection. Receiving end does not exist."},"timestamp":1769032687280,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:162","message":"ensureContentScriptInjected: attempting injection","data":{"tabId":1015118977},"timestamp":1769032687281,"sessionId":"debug-session","runId":"run1","hypothesisId":"E"}
{"location":"background.js:165","message":"ensureContentScriptInjected: tab info before injection","data":{"tabId":1015118977,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032687281,"sessionId":"debug-session","runId":"run1","hypothesisId":"F"}
{"location":"background.js:172","message":"ensureContentScriptInjected: listener injection success","data":{"tabId":1015118977,"frameId":0},"timestamp":1769032687283,"sessionId":"debug-session","runId":"run1","hypothesisId":"H"}
{"location":"background.js:207","message":"ensureContentScriptInjected: test injection success","data":{"tabId":1015118977},"timestamp":1769032687284,"sessionId":"debug-session","runId":"run1","hypothesisId":"G"}
{"location":"background.js:169","message":"ensureContentScriptInjected: ping after injection","data":{"tabId":1015118977,"pingAttempt":0},"timestamp":1769032687590,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:176","message":"ensureContentScriptInjected: ping success after injection","data":{"tabId":1015118977,"pingAttempt":0},"timestamp":1769032687591,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:195","message":"sendParseMessageWithRetry: injection result","data":{"tabId":1015118977,"injected":true},"timestamp":1769032687591,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:204","message":"sendParseMessageWithRetry: sending PARSE_EBAY","data":{"tabId":1015118977,"attempt":0},"timestamp":1769032687591,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:206","message":"sendParseMessageWithRetry: response received","data":{"tabId":1015118977,"hasResponse":true,"ok":true},"timestamp":1769032687593,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"ebayParserService.js:196","message":"parseViaExtension: response success","data":{"hasStats":true,"itemsSold":348728,"stats":{"itemsSold":348728}},"timestamp":1769032687608,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"69714472002ab5f0dd0e","payload":{"account_platform_market":"DE","account_platform_account_id":"sbdirect24","account_shop_name":"sbdirect24","account_sells":348728},"payloadKeys":["account_platform_market","account_platform_account_id","account_shop_name","account_sells"]},"timestamp":1769032687608,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"69714472002ab5f0dd0e"},"timestamp":1769032687693,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032795025,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1769032795025,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:73","message":"handleParseRequest: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032795080,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:89","message":"handleParseRequest: tab created","data":{"tabId":1015118979,"url":""},"timestamp":1769032795089,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118979,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032796012,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118979,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032796014,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118979,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032796026,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118979,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032796358,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118979,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032796361,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118979,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032796365,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118979,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032796365,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118979,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032796366,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118979,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032796367,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118979,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032796368,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118979,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032796368,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118979,"status":"complete","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032796823,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:108","message":"checkTabLoaded: tab complete","data":{"tabId":1015118979,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","isEbayUrl":true},"timestamp":1769032796823,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:187","message":"sendParseMessageWithRetry: entry","data":{"tabId":1015118979,"attempt":0},"timestamp":1769032798837,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:143","message":"ensureContentScriptInjected: entry","data":{"tabId":1015118979},"timestamp":1769032798837,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:147","message":"ensureContentScriptInjected: tab info","data":{"tabId":1015118979,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","isEbayUrl":true},"timestamp":1769032798838,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:153","message":"ensureContentScriptInjected: sending PING","data":{"tabId":1015118979},"timestamp":1769032798838,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:158","message":"ensureContentScriptInjected: PING failed","data":{"tabId":1015118979,"error":"Could not establish connection. Receiving end does not exist."},"timestamp":1769032798839,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:162","message":"ensureContentScriptInjected: attempting injection","data":{"tabId":1015118979},"timestamp":1769032798839,"sessionId":"debug-session","runId":"run1","hypothesisId":"E"}
{"location":"background.js:165","message":"ensureContentScriptInjected: tab info before injection","data":{"tabId":1015118979,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032798840,"sessionId":"debug-session","runId":"run1","hypothesisId":"F"}
{"location":"background.js:172","message":"ensureContentScriptInjected: listener injection success","data":{"tabId":1015118979,"frameId":0},"timestamp":1769032798841,"sessionId":"debug-session","runId":"run1","hypothesisId":"H"}
{"location":"background.js:207","message":"ensureContentScriptInjected: test injection success","data":{"tabId":1015118979},"timestamp":1769032798842,"sessionId":"debug-session","runId":"run1","hypothesisId":"G"}
{"location":"background.js:169","message":"ensureContentScriptInjected: ping after injection","data":{"tabId":1015118979,"pingAttempt":0},"timestamp":1769032799147,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:176","message":"ensureContentScriptInjected: ping success after injection","data":{"tabId":1015118979,"pingAttempt":0},"timestamp":1769032799149,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:195","message":"sendParseMessageWithRetry: injection result","data":{"tabId":1015118979,"injected":true},"timestamp":1769032799149,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:204","message":"sendParseMessageWithRetry: sending PARSE_EBAY","data":{"tabId":1015118979,"attempt":0},"timestamp":1769032799149,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:206","message":"sendParseMessageWithRetry: response received","data":{"tabId":1015118979,"hasResponse":true,"ok":true},"timestamp":1769032799151,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"ebayParserService.js:160","message":"parseViaExtension: response data from extension","data":{"hasStats":true,"itemsSold":348728,"stats":{"itemsSold":348728}},"timestamp":1769032799167,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"69714472002ab5f0dd0e","payload":{"account_platform_market":"DE","account_platform_account_id":"sbdirect24","account_shop_name":"sbdirect24","account_sells":348728},"payloadKeys":["account_platform_market","account_platform_account_id","account_shop_name","account_sells"]},"timestamp":1769032799168,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"AccountsPage.jsx:93","message":"handleRefreshAccount: update payload","data":{"payload":{"account_platform_market":"DE","account_platform_account_id":"sbdirect24","account_shop_name":"sbdirect24","account_sells":348728}},"timestamp":1769032799167,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"69714472002ab5f0dd0e"},"timestamp":1769032799416,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:73","message":"handleParseRequest: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032812193,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032812190,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1769032812190,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:89","message":"handleParseRequest: tab created","data":{"tabId":1015118983,"url":""},"timestamp":1769032812203,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118983,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032813057,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118983,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032813059,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118983,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032813069,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118983,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032813381,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118983,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032813384,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118983,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032813387,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118983,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032813388,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118983,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032813389,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118983,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032813390,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118983,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032813391,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118983,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032813392,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118983,"status":"complete","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032813527,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:108","message":"checkTabLoaded: tab complete","data":{"tabId":1015118983,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","isEbayUrl":true},"timestamp":1769032813527,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:187","message":"sendParseMessageWithRetry: entry","data":{"tabId":1015118983,"attempt":0},"timestamp":1769032815528,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:143","message":"ensureContentScriptInjected: entry","data":{"tabId":1015118983},"timestamp":1769032815529,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:147","message":"ensureContentScriptInjected: tab info","data":{"tabId":1015118983,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","isEbayUrl":true},"timestamp":1769032815529,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:153","message":"ensureContentScriptInjected: sending PING","data":{"tabId":1015118983},"timestamp":1769032815529,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:158","message":"ensureContentScriptInjected: PING failed","data":{"tabId":1015118983,"error":"Could not establish connection. Receiving end does not exist."},"timestamp":1769032815530,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:162","message":"ensureContentScriptInjected: attempting injection","data":{"tabId":1015118983},"timestamp":1769032815531,"sessionId":"debug-session","runId":"run1","hypothesisId":"E"}
{"location":"background.js:165","message":"ensureContentScriptInjected: tab info before injection","data":{"tabId":1015118983,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032815531,"sessionId":"debug-session","runId":"run1","hypothesisId":"F"}
{"location":"background.js:172","message":"ensureContentScriptInjected: listener injection success","data":{"tabId":1015118983,"frameId":0},"timestamp":1769032815533,"sessionId":"debug-session","runId":"run1","hypothesisId":"H"}
{"location":"background.js:207","message":"ensureContentScriptInjected: test injection success","data":{"tabId":1015118983},"timestamp":1769032815535,"sessionId":"debug-session","runId":"run1","hypothesisId":"G"}
{"location":"background.js:169","message":"ensureContentScriptInjected: ping after injection","data":{"tabId":1015118983,"pingAttempt":0},"timestamp":1769032815838,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:176","message":"ensureContentScriptInjected: ping success after injection","data":{"tabId":1015118983,"pingAttempt":0},"timestamp":1769032815839,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:195","message":"sendParseMessageWithRetry: injection result","data":{"tabId":1015118983,"injected":true},"timestamp":1769032815839,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:204","message":"sendParseMessageWithRetry: sending PARSE_EBAY","data":{"tabId":1015118983,"attempt":0},"timestamp":1769032815839,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:206","message":"sendParseMessageWithRetry: response received","data":{"tabId":1015118983,"hasResponse":true,"ok":true},"timestamp":1769032815841,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"ebayParserService.js:160","message":"parseViaExtension: response data from extension","data":{"hasStats":true,"itemsSold":348728,"stats":{"itemsSold":348728}},"timestamp":1769032815854,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"69714472002ab5f0dd0e","payload":{"account_platform_market":"DE","account_platform_account_id":"sbdirect24","account_shop_name":"sbdirect24","account_sells":348728},"payloadKeys":["account_platform_market","account_platform_account_id","account_shop_name","account_sells"]},"timestamp":1769032815855,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"AccountsPage.jsx:93","message":"handleRefreshAccount: update payload","data":{"payload":{"account_platform_market":"DE","account_platform_account_id":"sbdirect24","account_shop_name":"sbdirect24","account_sells":348728}},"timestamp":1769032815854,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"69714472002ab5f0dd0e"},"timestamp":1769032815938,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"ebayParserService.js:292","message":"parseEbayAccount: route decision","data":{"extAvailable":true,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032819428,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:135","message":"getExtensionId: found via cache","data":{"cachedExtensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc"},"timestamp":1769032819429,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:165","message":"parseViaExtension: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","hasChrome":true,"hasRuntime":true},"timestamp":1769032819429,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:175","message":"parseViaExtension: got extension ID","data":{"extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032819437,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"ebayParserService.js:178","message":"parseViaExtension: sending message","data":{"extensionId":"ikldokdleojiinjklkhkkhfhpfafeaoc","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032819437,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:73","message":"handleParseRequest: entry","data":{"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032819438,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:89","message":"handleParseRequest: tab created","data":{"tabId":1015118985,"url":""},"timestamp":1769032819449,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118985,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032820280,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118985,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032820282,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118985,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032820287,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118985,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032820626,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118985,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032820629,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118985,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032820633,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118985,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032820634,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118985,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032820635,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118985,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032820636,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118985,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032820637,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118985,"status":"loading","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032820638,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:104","message":"checkTabLoaded: tab update","data":{"tabId":1015118985,"status":"complete","url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032820785,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:108","message":"checkTabLoaded: tab complete","data":{"tabId":1015118985,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","isEbayUrl":true},"timestamp":1769032820786,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:187","message":"sendParseMessageWithRetry: entry","data":{"tabId":1015118985,"attempt":0},"timestamp":1769032822797,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"background.js:143","message":"ensureContentScriptInjected: entry","data":{"tabId":1015118985},"timestamp":1769032822798,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:147","message":"ensureContentScriptInjected: tab info","data":{"tabId":1015118985,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211","isEbayUrl":true},"timestamp":1769032822798,"sessionId":"debug-session","runId":"run1","hypothesisId":"C"}
{"location":"background.js:153","message":"ensureContentScriptInjected: sending PING","data":{"tabId":1015118985},"timestamp":1769032822798,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:158","message":"ensureContentScriptInjected: PING failed","data":{"tabId":1015118985,"error":"Could not establish connection. Receiving end does not exist."},"timestamp":1769032822799,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:162","message":"ensureContentScriptInjected: attempting injection","data":{"tabId":1015118985},"timestamp":1769032822799,"sessionId":"debug-session","runId":"run1","hypothesisId":"E"}
{"location":"background.js:165","message":"ensureContentScriptInjected: tab info before injection","data":{"tabId":1015118985,"url":"https://www.ebay.de/str/sbdirect24?_trksid=p4429486.m3561.l161211"},"timestamp":1769032822800,"sessionId":"debug-session","runId":"run1","hypothesisId":"F"}
{"location":"background.js:172","message":"ensureContentScriptInjected: listener injection success","data":{"tabId":1015118985,"frameId":0},"timestamp":1769032822801,"sessionId":"debug-session","runId":"run1","hypothesisId":"H"}
{"location":"background.js:207","message":"ensureContentScriptInjected: test injection success","data":{"tabId":1015118985},"timestamp":1769032822802,"sessionId":"debug-session","runId":"run1","hypothesisId":"G"}
{"location":"background.js:169","message":"ensureContentScriptInjected: ping after injection","data":{"tabId":1015118985,"pingAttempt":0},"timestamp":1769032823107,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:176","message":"ensureContentScriptInjected: ping success after injection","data":{"tabId":1015118985,"pingAttempt":0},"timestamp":1769032823108,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:195","message":"sendParseMessageWithRetry: injection result","data":{"tabId":1015118985,"injected":true},"timestamp":1769032823109,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"background.js:204","message":"sendParseMessageWithRetry: sending PARSE_EBAY","data":{"tabId":1015118985,"attempt":0},"timestamp":1769032823109,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"background.js:206","message":"sendParseMessageWithRetry: response received","data":{"tabId":1015118985,"hasResponse":true,"ok":true},"timestamp":1769032823111,"sessionId":"debug-session","runId":"run1","hypothesisId":"B"}
{"location":"ebayParserService.js:196","message":"parseViaExtension: response success","data":{"hasStats":true,"itemsSold":348728,"stats":{"itemsSold":348728}},"timestamp":1769032823124,"sessionId":"debug-session","runId":"run1","hypothesisId":"D"}
{"location":"accountsService.js:133","message":"updateManagedAccount: before updateDocument","data":{"accountId":"69714472002ab5f0dd0e","payload":{"account_platform_market":"DE","account_platform_account_id":"sbdirect24","account_shop_name":"sbdirect24","account_sells":348728,"account_updated_at":"2026-01-21T22:00:23.125Z"},"payloadKeys":["account_platform_market","account_platform_account_id","account_shop_name","account_sells","account_updated_at"]},"timestamp":1769032823125,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}
{"location":"accountsService.js:147","message":"updateManagedAccount: success","data":{"accountId":"69714472002ab5f0dd0e"},"timestamp":1769032823218,"sessionId":"debug-session","runId":"run1","hypothesisId":"A"}

View File

@@ -72,12 +72,18 @@ chrome.runtime.onMessageExternal.addListener((msg, sender, sendResponse) => {
*/
async function handleParseRequest(url, sendResponse) {
try {
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:73',message:'handleParseRequest: entry',data:{url},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'A'})}).catch(()=>{});
// #endregion
// Validate URL
if (!url || typeof url !== 'string' || !url.toLowerCase().includes('ebay.')) {
sendResponse({ ok: false, error: "Invalid eBay URL" });
return;
}
console.log("[BACKGROUND] Creating tab for parse request:", url);
// Create hidden tab
const tab = await chrome.tabs.create({
url: url,
@@ -85,6 +91,11 @@ async function handleParseRequest(url, sendResponse) {
});
const tabId = tab.id;
console.log("[BACKGROUND] Tab created:", tabId);
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:89',message:'handleParseRequest: tab created',data:{tabId,url:tab.url},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'A'})}).catch(()=>{});
// #endregion
// Set up timeout
const timeoutId = setTimeout(() => {
@@ -101,26 +112,24 @@ async function handleParseRequest(url, sendResponse) {
const checkTabLoaded = (updatedTabId, changeInfo, updatedTab) => {
if (updatedTabId !== tabId) return;
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:104',message:'checkTabLoaded: tab update',data:{tabId:updatedTabId,status:changeInfo.status,url:updatedTab.url},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'C'})}).catch(()=>{});
// #endregion
// Tab is fully loaded
if (changeInfo.status === 'complete' && updatedTab.url) {
chrome.tabs.onUpdated.removeListener(checkTabLoaded);
console.log("[BACKGROUND] Tab loaded, sending parse message:", updatedTab.url);
// Small delay to ensure DOM is ready
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:108',message:'checkTabLoaded: tab complete',data:{tabId,url:updatedTab.url,isEbayUrl:isEbayUrl(updatedTab.url)},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'C'})}).catch(()=>{});
// #endregion
// Wait longer for content script to auto-load (if it does)
// Content scripts from manifest.json might need more time in hidden tabs
setTimeout(() => {
// Send parse message to content script
chrome.tabs.sendMessage(tabId, { action: "PARSE_EBAY" })
.then(response => {
if (response && response.ok && response.data) {
handleParseComplete(tabId, response.data);
} else {
cleanupParseRequest(tabId, null, { ok: false, error: "Parsing failed" });
}
})
.catch(err => {
console.error("Error sending parse message:", err);
cleanupParseRequest(tabId, null, { ok: false, error: "Content script error" });
});
}, 1000); // 1 second delay for DOM ready
sendParseMessageWithRetry(tabId, 0);
}, 2000); // 2 seconds delay - give content script time to auto-load
}
};
@@ -132,6 +141,386 @@ async function handleParseRequest(url, sendResponse) {
}
}
/**
* Checks if a URL is an eBay URL
* @param {string} url - URL to check
* @returns {boolean} - true if URL is an eBay URL
*/
function isEbayUrl(url) {
if (!url) return false;
const urlLower = url.toLowerCase();
return urlLower.includes('ebay.');
}
/**
* Injects the eBay content script manually if it's not already loaded
* @param {number} tabId - Tab ID
* @returns {Promise<boolean>} - true if injection successful or already loaded
*/
async function ensureContentScriptInjected(tabId) {
try {
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:143',message:'ensureContentScriptInjected: entry',data:{tabId},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'A'})}).catch(()=>{});
// #endregion
// First, check if tab URL is an eBay URL
const tab = await chrome.tabs.get(tabId);
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:147',message:'ensureContentScriptInjected: tab info',data:{tabId,url:tab.url,isEbayUrl:isEbayUrl(tab.url)},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'C'})}).catch(()=>{});
// #endregion
if (!isEbayUrl(tab.url)) {
console.log("[BACKGROUND] Tab is not an eBay URL:", tab.url);
return false;
}
// Check if content script is already loaded by sending a ping
try {
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:153',message:'ensureContentScriptInjected: sending PING',data:{tabId},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'B'})}).catch(()=>{});
// #endregion
await chrome.tabs.sendMessage(tabId, { action: "PING" });
console.log("[BACKGROUND] Content script already loaded");
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:156',message:'ensureContentScriptInjected: PING success',data:{tabId},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'B'})}).catch(()=>{});
// #endregion
return true;
} catch (pingError) {
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:158',message:'ensureContentScriptInjected: PING failed',data:{tabId,error:pingError.message,runtimeError:chrome.runtime.lastError?.message},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'A'})}).catch(()=>{});
// #endregion
// Content script not loaded, try to inject it manually
console.log("[BACKGROUND] Content script not found, injecting manually...");
try {
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:162',message:'ensureContentScriptInjected: attempting injection',data:{tabId},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'E'})}).catch(()=>{});
// #endregion
// Get tab info to check frames
const tabInfo = await chrome.tabs.get(tabId);
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:165',message:'ensureContentScriptInjected: tab info before injection',data:{tabId,url:tabInfo.url},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'F'})}).catch(()=>{});
// #endregion
// Inject the message listener directly as a function (not as a file)
// This ensures it runs in the correct context with access to chrome.runtime
try {
await chrome.scripting.executeScript({
target: { tabId: tabId, frameIds: [0] },
func: () => {
// Register message listener directly
if (typeof chrome !== 'undefined' && chrome.runtime && chrome.runtime.onMessage) {
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.action === "PING") {
sendResponse({ ok: true, ready: true });
return true;
}
if (message.action === "PARSE_EBAY") {
// Simple parsing - extract from URL and DOM
try {
const url = window.location.href;
const hostname = window.location.hostname.toLowerCase();
// Extract market
let market = "US";
if (hostname.includes('.de')) market = 'DE';
else if (hostname.includes('.uk')) market = 'UK';
else if (hostname.includes('.fr')) market = 'FR';
else if (hostname.includes('.it')) market = 'IT';
else if (hostname.includes('.es')) market = 'ES';
// Extract seller ID from URL
let sellerId = "";
const usrMatch = url.match(/\/usr\/([^\/\?]+)/i);
if (usrMatch && usrMatch[1]) {
sellerId = usrMatch[1].trim();
} else {
const strMatch = url.match(/\/str\/([^\/\?]+)/i);
if (strMatch && strMatch[1]) {
sellerId = strMatch[1].trim();
}
}
// Extract shop name
let shopName = "";
try {
const h1 = document.querySelector('h1');
if (h1) {
shopName = h1.textContent?.trim() || "";
}
} catch (e) {}
// Extract items sold
let itemsSold = null;
try {
const container = document.querySelector(".str-seller-card__store-stats-content");
if (container) {
const divs = container.querySelectorAll("div");
for (const div of divs) {
const divText = div.textContent || "";
if (divText.includes("Artikel verkauft")) {
const span = div.querySelector('span[class*="BOLD"]') || div.querySelector("span.BOLD");
if (span) {
let valueText = span.textContent?.trim() || "";
valueText = valueText.replace(/\s/g, "").replace(/[.,]/g, "").replace(/\D/g, "");
if (valueText.length > 0) {
const parsedValue = parseInt(valueText, 10);
if (!isNaN(parsedValue) && parsedValue >= 0) {
itemsSold = parsedValue;
}
}
}
}
}
}
} catch (e) {}
sendResponse({
ok: true,
data: {
sellerId: sellerId || "",
shopName: shopName || "",
market: market,
status: (sellerId || shopName) ? "active" : "unknown",
stats: {
itemsSold: itemsSold
}
}
});
} catch (error) {
sendResponse({
ok: true,
data: {
sellerId: "",
shopName: "",
market: "US",
status: "unknown",
stats: {}
}
});
}
return true;
}
return false;
});
console.log("[EBAY-CONTENT] Message listener registered");
}
}
});
console.log("[BACKGROUND] Content script message listener injected successfully");
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:172',message:'ensureContentScriptInjected: listener injection success',data:{tabId,frameId:0},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'H'})}).catch(()=>{});
// #endregion
} catch (injectError) {
console.error("[BACKGROUND] Failed to inject message listener:", injectError);
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:178',message:'ensureContentScriptInjected: listener injection failed',data:{tabId,error:injectError.message},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'H'})}).catch(()=>{});
// #endregion
throw injectError;
}
// Also try injecting a simple test script to verify injection works
try {
await chrome.scripting.executeScript({
target: { tabId: tabId, frameIds: [0] },
func: () => {
console.log("[TEST-INJECTION] Test script executed in main frame");
// Try to send a log via fetch
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{
method:'POST',
headers:{'Content-Type':'application/json'},
body:JSON.stringify({
location:'background.js:test-injection',
message:'test injection: script executed',
data:{url:window.location.href,hasChrome:typeof chrome!=='undefined',hasRuntime:typeof chrome!=='undefined'&&!!chrome.runtime},
timestamp:Date.now(),
sessionId:'debug-session',
runId:'run1',
hypothesisId:'G'
})
}).catch(()=>{});
}
});
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:207',message:'ensureContentScriptInjected: test injection success',data:{tabId},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'G'})}).catch(()=>{});
// #endregion
} catch (testError) {
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:210',message:'ensureContentScriptInjected: test injection failed',data:{tabId,error:testError.message},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'G'})}).catch(()=>{});
// #endregion
}
// Wait longer for the script to fully initialize and register message listeners
// Retry PING to verify the script is ready
// Also try sending to frameId 0 explicitly
for (let pingAttempt = 0; pingAttempt < 10; pingAttempt++) {
await new Promise(resolve => setTimeout(resolve, 300)); // 300ms between pings
try {
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:169',message:'ensureContentScriptInjected: ping after injection',data:{tabId,pingAttempt},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'B'})}).catch(()=>{});
// #endregion
// Try sending to main frame explicitly
try {
await chrome.tabs.sendMessage(tabId, { action: "PING" }, { frameId: 0 });
} catch (frameErr) {
// Fallback: try without frameId
await chrome.tabs.sendMessage(tabId, { action: "PING" });
}
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:176',message:'ensureContentScriptInjected: ping success after injection',data:{tabId,pingAttempt},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'B'})}).catch(()=>{});
// #endregion
console.log("[BACKGROUND] Content script ready after injection");
return true;
} catch (pingErr) {
// Continue to next attempt
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:182',message:'ensureContentScriptInjected: ping failed after injection',data:{tabId,pingAttempt,error:pingErr.message},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'B'})}).catch(()=>{});
// #endregion
}
}
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:189',message:'ensureContentScriptInjected: ping timeout after injection',data:{tabId},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'B'})}).catch(()=>{});
// #endregion
// Even if PING failed, return true - the script might still work
console.warn("[BACKGROUND] Content script injected but PING not responding");
return true;
} catch (injectError) {
console.error("[BACKGROUND] Failed to inject content script:", injectError);
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:172',message:'ensureContentScriptInjected: injection failed',data:{tabId,error:injectError.message,runtimeError:chrome.runtime.lastError?.message},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'E'})}).catch(()=>{});
// #endregion
return false;
}
}
} catch (error) {
console.error("[BACKGROUND] Error checking/injecting content script:", error);
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:177',message:'ensureContentScriptInjected: error',data:{tabId,error:error.message},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'A'})}).catch(()=>{});
// #endregion
return false;
}
}
/**
* Sends parse message to content script with retry mechanism
* @param {number} tabId - Tab ID
* @param {number} attempt - Current attempt number (0-based)
*/
async function sendParseMessageWithRetry(tabId, attempt) {
const maxAttempts = 3;
const retryDelay = 500; // 500ms between retries
try {
console.log(`[BACKGROUND] Sending parse message (attempt ${attempt + 1}/${maxAttempts}) to tab:`, tabId);
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:187',message:'sendParseMessageWithRetry: entry',data:{tabId,attempt},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'D'})}).catch(()=>{});
// #endregion
// On first attempt, ensure content script is injected
if (attempt === 0) {
const injected = await ensureContentScriptInjected(tabId);
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:195',message:'sendParseMessageWithRetry: injection result',data:{tabId,injected},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'A'})}).catch(()=>{});
// #endregion
if (!injected) {
throw new Error("Could not inject content script");
}
}
// Check if content script is injected by trying to send a ping
// If this fails, the content script might not be loaded yet
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:204',message:'sendParseMessageWithRetry: sending PARSE_EBAY',data:{tabId,attempt},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'B'})}).catch(()=>{});
// #endregion
// Try sending to main frame explicitly first
let response;
try {
response = await chrome.tabs.sendMessage(tabId, { action: "PARSE_EBAY" }, { frameId: 0 });
} catch (frameErr) {
// Fallback: try without frameId
response = await chrome.tabs.sendMessage(tabId, { action: "PARSE_EBAY" });
}
console.log("[BACKGROUND] Parse response received:", response);
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:206',message:'sendParseMessageWithRetry: response received',data:{tabId,hasResponse:!!response,ok:response?.ok},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'B'})}).catch(()=>{});
// #endregion
if (response && response.ok && response.data) {
handleParseComplete(tabId, response.data);
} else {
cleanupParseRequest(tabId, null, {
ok: false,
error: response?.error || "Parsing failed"
});
}
} catch (err) {
// Check if error is due to content script not being ready
const runtimeError = chrome.runtime.lastError?.message || "";
const isContentScriptError =
err.message?.includes("Could not establish connection") ||
err.message?.includes("Receiving end does not exist") ||
err.message?.includes("Could not inject content script") ||
runtimeError.includes("Receiving end does not exist") ||
runtimeError.includes("Could not establish connection");
console.log(`[BACKGROUND] Error sending parse message (attempt ${attempt + 1}):`, {
error: err.message,
runtimeError: runtimeError,
isContentScriptError: isContentScriptError
});
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'background.js:217',message:'sendParseMessageWithRetry: error',data:{tabId,attempt,error:err.message,runtimeError,isContentScriptError},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'B'})}).catch(()=>{});
// #endregion
if (isContentScriptError && attempt < maxAttempts) {
// Content script not ready yet, retry after delay
console.log(`[BACKGROUND] Content script not ready, retrying in ${retryDelay}ms...`);
setTimeout(() => {
sendParseMessageWithRetry(tabId, attempt + 1);
}, retryDelay);
} else {
// Max retries reached or different error
const errorMessage = isContentScriptError
? "Content script konnte nicht geladen werden. Bitte Extension neu laden."
: (err.message || runtimeError || "Content script error");
cleanupParseRequest(tabId, null, {
ok: false,
error: errorMessage
});
}
}
}
/**
* Handles parse complete response from content script
*/
@@ -215,43 +604,7 @@ async function handleScanProductsRequest(url, accountId, sendResponse) {
// Small delay to ensure DOM is ready
setTimeout(() => {
// Send parse message to content script
chrome.tabs.sendMessage(tabId, { action: "PARSE_PRODUCT_LIST" })
.then(response => {
if (response && response.ok) {
// Prüfe ob items vorhanden und nicht leer
const items = response.items || response.data?.items || [];
const meta = response.meta || response.data?.meta || {};
// Log meta für Debugging
console.log("[SCAN meta]", meta);
if (items.length === 0) {
// Leere items: behandele als Fehler mit meta
cleanupScanRequest(tabId, null, {
ok: false,
error: "empty_items",
meta: meta
});
} else {
// Erfolg: sende items + meta
handleScanComplete(tabId, { items, meta });
}
} else {
// Fehler: sende error + meta
const meta = response?.meta || {};
console.log("[SCAN meta]", meta);
cleanupScanRequest(tabId, null, {
ok: false,
error: response?.error || "Parsing failed",
meta: meta
});
}
})
.catch(err => {
console.error("Error sending parse message:", err);
cleanupScanRequest(tabId, null, { ok: false, error: "Content script error" });
});
sendScanMessageWithRetry(tabId, 0);
}, 1000); // 1 second delay for DOM ready
}
};
@@ -264,6 +617,98 @@ async function handleScanProductsRequest(url, accountId, sendResponse) {
}
}
/**
* Sends scan message to content script with retry mechanism
* @param {number} tabId - Tab ID
* @param {number} attempt - Current attempt number (0-based)
*/
async function sendScanMessageWithRetry(tabId, attempt) {
const maxAttempts = 3;
const retryDelay = 500; // 500ms between retries
try {
console.log(`[BACKGROUND] Sending scan message (attempt ${attempt + 1}/${maxAttempts}) to tab:`, tabId);
// On first attempt, ensure content script is injected
if (attempt === 0) {
const injected = await ensureContentScriptInjected(tabId);
if (!injected) {
throw new Error("Could not inject content script");
}
}
const response = await chrome.tabs.sendMessage(tabId, { action: "PARSE_PRODUCT_LIST" });
if (response && response.ok) {
// Prüfe ob items vorhanden und nicht leer
const items = response.items || response.data?.items || [];
const meta = response.meta || response.data?.meta || {};
// Log meta für Debugging
console.log("[SCAN meta]", meta);
if (items.length === 0) {
// Leere items: behandele als Fehler mit meta
cleanupScanRequest(tabId, null, {
ok: false,
error: "empty_items",
meta: meta
});
} else {
// Erfolg: sende items + meta
handleScanComplete(tabId, { items, meta });
}
} else {
// Fehler: sende error + meta
const meta = response?.meta || {};
console.log("[SCAN meta]", meta);
cleanupScanRequest(tabId, null, {
ok: false,
error: response?.error || "Parsing failed",
meta: meta
});
}
} catch (err) {
// Check if error is due to content script not being ready
const runtimeError = chrome.runtime.lastError?.message || "";
const isContentScriptError =
err.message?.includes("Could not establish connection") ||
err.message?.includes("Receiving end does not exist") ||
err.message?.includes("Could not inject content script") ||
runtimeError.includes("Receiving end does not exist") ||
runtimeError.includes("Could not establish connection");
console.log(`[BACKGROUND] Error sending scan message (attempt ${attempt + 1}):`, {
error: err.message,
runtimeError: runtimeError,
isContentScriptError: isContentScriptError
});
if (isContentScriptError && attempt < maxAttempts) {
// Content script not ready yet, retry after delay
console.log(`[BACKGROUND] Content script not ready, retrying in ${retryDelay}ms...`);
setTimeout(() => {
sendScanMessageWithRetry(tabId, attempt + 1);
}, retryDelay);
} else {
// Max retries reached or different error
const errorMessage = isContentScriptError
? "Content script konnte nicht geladen werden. Bitte Extension neu laden."
: (err.message || runtimeError || "Content script error");
cleanupScanRequest(tabId, null, {
ok: false,
error: errorMessage,
meta: {
pageType: "unknown",
finalUrl: "",
attempts: attempt + 1,
reason: "content_script_error"
}
});
}
}
}
/**
* Handles scan complete response from content script
*/

View File

@@ -3,14 +3,64 @@
* Wird auf eBay-Seiten ausgeführt und extrahiert Verkäufer-/Shop-Daten aus dem DOM
*/
// Log dass Content Script geladen wurde
console.log("[EBAY-CONTENT] Content script loaded on:", window.location.href);
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'ebay-content-script.js:7',message:'ebay-content-script: loaded',data:{url:window.location.href,readyState:document.readyState},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'A'})}).catch(()=>{});
// #endregion
// Message Listener für Parsing-Anfragen
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'ebay-content-script.js:10',message:'ebay-content-script: message received',data:{action:message.action},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'B'})}).catch(()=>{});
// #endregion
// Ping-Handler für Content Script Verfügbarkeitsprüfung
if (message.action === "PING") {
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'ebay-content-script.js:13',message:'ebay-content-script: PING handler',data:{},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'B'})}).catch(()=>{});
// #endregion
sendResponse({ ok: true, ready: true });
return true;
}
if (message.action === "PARSE_EBAY") {
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'ebay-content-script.js:17',message:'ebay-content-script: PARSE_EBAY handler',data:{readyState:document.readyState},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'B'})}).catch(()=>{});
// #endregion
// Wrapper um sicherzustellen, dass immer eine Antwort gesendet wird
try {
// Prüfe ob DOM bereit ist
if (document.readyState === 'loading') {
// DOM noch nicht bereit, warte kurz
document.addEventListener('DOMContentLoaded', () => {
try {
const parsedData = parseEbayPage();
sendResponse({ ok: true, data: parsedData });
} catch (error) {
console.error("[EBAY-CONTENT] Error parsing:", error);
sendResponse({
ok: true,
data: {
sellerId: "",
shopName: "",
market: extractMarketFromHostname(),
status: "unknown",
stats: {}
}
});
}
}, { once: true });
return true; // async response
}
// DOM ist bereit, parse sofort
const parsedData = parseEbayPage();
sendResponse({ ok: true, data: parsedData });
} catch (error) {
// Niemals unhandled throws - immer graceful response
console.error("[EBAY-CONTENT] Error in parse handler:", error);
sendResponse({
ok: true,
data: {

View File

@@ -103,14 +103,13 @@ export const AccountsPage = () => {
updatePayload.account_shop_name = parsedData.shopName || null;
updatePayload.account_sells = parsedData.stats?.itemsSold ?? null;
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'AccountsPage.jsx:93',message:'handleRefreshAccount: update payload',data:{payload:updatePayload},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'A'})}).catch(()=>{});
// #endregion
// account_status wird weggelassen (wie beim Erstellen)
// Grund: Schema-Konflikt - Enum-Feld akzeptiert weder String noch Array im Update
// TODO: Schema in Appwrite prüfen und korrigieren, dann account_status wieder hinzufügen
// Setze account_updated_at auf aktuelle Zeit
updatePayload.account_updated_at = new Date().toISOString();
await updateManagedAccount(accountId, updatePayload);
// Accounts-Liste neu laden (in-place Update)
@@ -206,9 +205,6 @@ export const AccountsPage = () => {
// Payload aus parsedData zusammenstellen
const accountSellsValue = parsedData.stats?.itemsSold ?? null;
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'AccountsPage.jsx:193',message:'handleFormSubmit: parsedData before save',data:{hasStats:!!parsedData.stats,itemsSold:parsedData.stats?.itemsSold,accountSellsValue},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'D'})}).catch(()=>{});
// #endregion
const newAccount = await createManagedAccount(authUser.$id, {
account_url: formData.account_url.trim(),
account_platform_account_id: parsedData.sellerId,
@@ -247,7 +243,7 @@ export const AccountsPage = () => {
"Platform Account ID",
"Market",
"Account URL",
"Status",
"Sales",
"Last Scan",
...(showAdvanced ? ["Owner User ID"] : []),
"Action",
@@ -310,12 +306,15 @@ export const AccountsPage = () => {
);
}
if (col === "Status") {
return row.account_status || "-";
if (col === "Sales") {
const sales = row.account_sells;
if (sales === null || sales === undefined) return "-";
// Format number with thousand separators
return new Intl.NumberFormat("de-DE").format(sales);
}
if (col === "Last Scan") {
const lastScan = row.account_last_scan_at;
const lastScan = row.account_updated_at;
if (!lastScan) return "-";
try {
const date = new Date(lastScan);
@@ -400,9 +399,9 @@ export const AccountsPage = () => {
</div>
<div>
<span className="font-medium text-[var(--text)]">
Status (Auto)
Sales (Auto)
</span>
: Wird automatisch auf "active" gesetzt. Du musst nichts eingeben.
: Anzahl der verkauften Artikel wird automatisch aus dem eBay-Profil gelesen.
</div>
</div>
<div className="mt-4 rounded-lg border border-[var(--line)] bg-white/2 p-3 text-xs text-[var(--muted)]">
@@ -602,16 +601,16 @@ export const AccountsPage = () => {
<div>
<label className="mb-1.5 block text-xs font-medium text-[var(--muted)]">
Status (Auto)
Sales (Auto)
</label>
<input
type="text"
value={parsedData.status}
value={parsedData.stats?.itemsSold ? new Intl.NumberFormat("de-DE").format(parsedData.stats.itemsSold) : "-"}
readOnly
className="w-full rounded-lg border border-neutral-200 bg-white px-3 py-2 text-sm text-[var(--text)] opacity-75 dark:bg-neutral-900 dark:border-neutral-700"
/>
<p className="mt-1 text-xs text-[var(--muted)]">
Interner Status. Normalerweise "active".
Gesamtzahl der verkauften Artikel.
</p>
</div>
</div>

View File

@@ -163,6 +163,10 @@ async function getExtensionId() {
* @throws {Error} - "Extension not available" oder andere Fehler
*/
async function parseViaExtension(url) {
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'ebayParserService.js:165',message:'parseViaExtension: entry',data:{url,hasChrome:typeof chrome!=='undefined',hasRuntime:typeof chrome!=='undefined'&&!!chrome.runtime},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'D'})}).catch(()=>{});
// #endregion
// Validierung
if (!url || typeof url !== 'string') {
throw new Error("Invalid URL");
@@ -174,6 +178,10 @@ async function parseViaExtension(url) {
try {
const extensionId = await getExtensionId();
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'ebayParserService.js:175',message:'parseViaExtension: got extension ID',data:{extensionId,url},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'D'})}).catch(()=>{});
// #endregion
// Versuche chrome.runtime.sendMessage (mit oder ohne Extension-ID)
return new Promise((resolve, reject) => {
const message = {
@@ -181,6 +189,10 @@ async function parseViaExtension(url) {
url: url
};
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'ebayParserService.js:178',message:'parseViaExtension: sending message',data:{extensionId,url},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'D'})}).catch(()=>{});
// #endregion
// SendMessage-Callback
const sendMessageCallback = (response) => {
// Check for Chrome runtime errors
@@ -203,10 +215,13 @@ async function parseViaExtension(url) {
stats: response.data.stats || {}
};
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'ebayParserService.js:160',message:'parseViaExtension: response data from extension',data:{hasStats:!!response.data.stats,itemsSold:response.data.stats?.itemsSold,stats:response.data.stats},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'D'})}).catch(()=>{});
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'ebayParserService.js:196',message:'parseViaExtension: response success',data:{hasStats:!!response.data.stats,itemsSold:response.data.stats?.itemsSold,stats:response.data.stats},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'D'})}).catch(()=>{});
// #endregion
resolve(data);
} else {
// #region agent log
fetch('http://127.0.0.1:7242/ingest/246fe132-ecc5-435f-bd9c-fe5e8e26089d',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({location:'ebayParserService.js:210',message:'parseViaExtension: response failed',data:{error:response?.error,hasResponse:!!response,ok:response?.ok},timestamp:Date.now(),sessionId:'debug-session',runId:'run1',hypothesisId:'D'})}).catch(()=>{});
// #endregion
reject(new Error(response?.error || "Extension parsing failed"));
}
};

View File

@@ -0,0 +1,258 @@
# Appwrite schema bootstrap (PowerShell) fuer Appwrite Server 1.8.x
# Ziel: Alte Struktur behalten (kompatibel) + neue "upright v1" Felder integrieren.
#
# Tabellen: users, accounts, products, product_details
#
# Prereqs:
# appwrite login
# appwrite init project
#
# Run:
# pwsh .\appwrite_schema_upright_v1.ps1 -DatabaseId "YOUR_DATABASE_ID"
param(
[Parameter(Mandatory = $true)]
[string]$DatabaseId,
# Optional: setze auf $true, wenn du Fulltext-Indizes wirklich nutzen willst.
[bool]$EnableFulltextIndexes = $false
)
Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"
# ---------------- CONFIG ----------------
$T_USERS = "users"
$T_ACCOUNTS = "accounts"
$T_PRODUCTS = "products"
$T_PRODUCT_DETAILS = "product_details"
# Minimal offene Defaults (spaeter ggf. locken)
$PERMS_ANY_CRUD = @('create(any)','read(any)','update(any)','delete(any)')
# ---------------- HELPERS ----------------
function Try-Cmd {
param(
[Parameter(Mandatory = $true)]
[string[]]$Args
)
$cmd = "appwrite " + ($Args -join " ")
Write-Host ("+ " + $cmd)
try {
& appwrite @Args | Out-Host
} catch {
Write-Host (" (ignored error) " + $_.Exception.Message)
}
}
function Create-Table {
param(
[Parameter(Mandatory = $true)][string]$TableId,
[Parameter(Mandatory = $true)][string]$Name
)
# Note: Permissions für TablesDB werden anders verwaltet (optional)
# Hier erstellen wir die Tabelle ohne Permissions
$argsList = @(
"tables-db","create-table",
"--database-id",$DatabaseId,
"--table-id",$TableId,
"--name",$Name,
"--row-security","false"
)
Try-Cmd $argsList
}
# ---------------- CREATE TABLES ----------------
Create-Table -TableId $T_USERS -Name "users"
Create-Table -TableId $T_ACCOUNTS -Name "accounts"
Create-Table -TableId $T_PRODUCTS -Name "products"
Create-Table -TableId $T_PRODUCT_DETAILS -Name "product_details"
# ---------------- USERS COLUMNS ----------------
# Legacy kompatibel: user_note
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_USERS,"--key","user_note","--size","255","--required","false","--array","false")
# Upright v1: created/updated timestamps (optional)
Try-Cmd @("tables-db","create-datetime-column","--database-id",$DatabaseId,"--table-id",$T_USERS,"--key","user_created_at","--required","false","--array","false")
Try-Cmd @("tables-db","create-datetime-column","--database-id",$DatabaseId,"--table-id",$T_USERS,"--key","user_updated_at","--required","false","--array","false")
# Optional index: user_created_at (wenn du sorting/listing brauchst)
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_USERS,"--key","users_by_created_at","--type","key","--columns","user_created_at")
# ---------------- ACCOUNTS COLUMNS ----------------
# Upright v1:
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","account_owner_user_id","--size","64","--required","false","--array","false")
# Legacy: account_managed (alte scripts)
Try-Cmd @("tables-db","create-boolean-column","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","account_managed","--required","false","--array","false")
# Upright v1: account_team (true = managed/team, false = scanned)
Try-Cmd @("tables-db","create-boolean-column","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","account_team","--required","true","--array","false")
Try-Cmd @("tables-db","create-enum-column","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","account_platform","--elements",'["amazon","ebay"]',"--required","true","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","account_platform_account_id","--size","255","--required","true","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","account_platform_market","--size","32","--required","true","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","account_shop_name","--size","255","--required","false","--array","false")
Try-Cmd @("tables-db","create-url-column","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","account_url","--required","false","--array","false")
# Statistik: Anzahl verkaufter Items
Try-Cmd @("tables-db","create-integer-column","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","account_sells","--required","false","--array","false")
Try-Cmd @("tables-db","create-enum-column","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","account_status","--elements",'["active","unknown","disabled"]',"--required","false","--array","false")
Try-Cmd @("tables-db","create-datetime-column","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","account_created_at","--required","false","--array","false")
Try-Cmd @("tables-db","create-datetime-column","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","account_updated_at","--required","false","--array","false")
# ---------------- ACCOUNTS INDEXES ----------------
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","uniq_plat_mkt_accountid","--type","unique","--columns","account_platform","account_platform_market","account_platform_account_id")
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","accounts_by_owner_user","--type","key","--columns","account_owner_user_id")
# Optional: account_team index
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_ACCOUNTS,"--key","accounts_by_team_flag","--type","key","--columns","account_team")
# ---------------- PRODUCTS COLUMNS ----------------
# Stable basis (legacy + upright v1)
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_account_id","--size","64","--required","true","--array","false")
Try-Cmd @("tables-db","create-enum-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_platform","--elements",'["amazon","ebay"]',"--required","true","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_platform_market","--size","32","--required","true","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_platform_product_id","--size","255","--required","true","--array","false")
Try-Cmd @("tables-db","create-url-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_url","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_title","--size","1024","--required","true","--array","false")
# Legacy: product_category
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_category","--size","255","--required","false","--array","false")
# Condition/status (upright v1 erweitert unknown)
Try-Cmd @("tables-db","create-enum-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_condition","--elements",'["new","used_like_new","used_good","used_ok","parts","unknown"]',"--required","false","--array","false")
Try-Cmd @("tables-db","create-enum-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_status","--elements",'["active","ended","unknown"]',"--required","false","--array","false")
# Volatile (Sparscan) - neue Felder
Try-Cmd @("tables-db","create-float-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_price","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_currency","--size","8","--required","false","--array","false")
Try-Cmd @("tables-db","create-integer-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_quantity_available","--required","false","--array","false")
Try-Cmd @("tables-db","create-integer-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_quantity_sold","--required","false","--array","false")
Try-Cmd @("tables-db","create-integer-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_watch_count","--required","false","--array","false")
Try-Cmd @("tables-db","create-integer-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_in_carts_count","--required","false","--array","false")
Try-Cmd @("tables-db","create-datetime-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_last_seen_at","--required","false","--array","false")
# Legacy kompatibel: product_quantity (alt)
Try-Cmd @("tables-db","create-integer-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_quantity","--required","false","--array","false")
# Scan-Steuerung
Try-Cmd @("tables-db","create-datetime-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_first_fullscan_at","--required","false","--array","false")
Try-Cmd @("tables-db","create-datetime-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_last_fullscan_at","--required","false","--array","false")
Try-Cmd @("tables-db","create-datetime-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_last_sparscan_at","--required","false","--array","false")
Try-Cmd @("tables-db","create-integer-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","product_details_version","--required","false","--array","false")
# ---------------- PRODUCTS INDEXES ----------------
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","products_by_account","--type","key","--columns","product_account_id")
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","uniq_acct_platformprod_id","--type","unique","--columns","product_account_id","product_platform_product_id")
# Optional indices
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","products_by_platform_market","--type","key","--columns","product_platform","product_platform_market")
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","products_by_status","--type","key","--columns","product_status")
if ($EnableFulltextIndexes) {
# Hinweis: Fulltext kann je nach Appwrite/CLI Build abweichen. Falls es bei dir anders heisst:
# appwrite tables-db create-index --help
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_PRODUCTS,"--key","products_fulltext_title","--type","fulltext","--columns","product_title")
}
# ---------------- PRODUCT_DETAILS COLUMNS ----------------
# Upright v1 minimal (neu)
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_id","--size","64","--required","true","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","details_category_path","--size","2048","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","details_brand","--size","255","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","details_mpn","--size","64","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","details_gtin","--size","32","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","details_description_text","--size","8192","--required","false","--array","false")
# Array of image urls
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","details_image_urls","--size","2048","--required","false","--array","true")
# JSON-as-string
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","details_item_specifics_json","--size","8192","--required","false","--array","false")
Try-Cmd @("tables-db","create-boolean-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","details_has_variations","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","details_variations_json","--size","8192","--required","false","--array","false")
Try-Cmd @("tables-db","create-datetime-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","details_last_updated_at","--required","false","--array","false")
# Legacy detail schema (alt) - behalten fuer Kompatibilitaet
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_product_id","--size","64","--required","false","--array","false")
Try-Cmd @("tables-db","create-enum-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_platform","--elements",'["amazon","ebay"]',"--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_platform_market","--size","32","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_gtin","--size","32","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_ean","--size","32","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_upc","--size","32","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_isbn","--size","32","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_mpn","--size","64","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_amazon_asin","--size","32","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_ebay_epid","--size","64","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_brand","--size","255","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_manufacturer","--size","255","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_model_name","--size","255","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_model_number","--size","255","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_short_description","--size","2048","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_long_description","--size","8192","--required","false","--array","false")
for ($i = 1; $i -le 8; $i++) {
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key",("product_detail_bullet_" + $i),"--size","512","--required","false","--array","false")
}
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_search_terms","--size","1024","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_color","--size","128","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_size","--size","128","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_material","--size","128","--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_pattern","--size","128","--required","false","--array","false")
Try-Cmd @("tables-db","create-float-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_length","--required","false","--array","false")
Try-Cmd @("tables-db","create-float-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_width","--required","false","--array","false")
Try-Cmd @("tables-db","create-float-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_height","--required","false","--array","false")
Try-Cmd @("tables-db","create-enum-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_dimension_unit","--elements",'["mm","cm","m","in"]',"--required","false","--array","false")
Try-Cmd @("tables-db","create-float-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_weight","--required","false","--array","false")
Try-Cmd @("tables-db","create-enum-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_weight_unit","--elements",'["g","kg","oz","lb"]',"--required","false","--array","false")
Try-Cmd @("tables-db","create-string-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_country_of_origin","--size","64","--required","false","--array","false")
Try-Cmd @("tables-db","create-integer-column","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","product_detail_package_quantity","--required","false","--array","false")
# ---------------- PRODUCT_DETAILS INDEXES ----------------
# Upright v1 unique 1:1
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","prod_details_uniq_product_id","--type","unique","--columns","product_id")
# Legacy unique (optional, kann leer bleiben)
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","prod_details_legacy_prod_id","--type","unique","--columns","product_detail_product_id")
# Legacy: by platform (wenn du es brauchst)
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","prod_details_by_platform","--type","key","--columns","product_detail_platform")
if ($EnableFulltextIndexes) {
Try-Cmd @("tables-db","create-index","--database-id",$DatabaseId,"--table-id",$T_PRODUCT_DETAILS,"--key","prod_details_ft_description","--type","fulltext","--columns","details_description_text")
}
Write-Host "Done. Ensured 4 tables: users, accounts, products, product_details"
Write-Host ""
Write-Host "App logic reminder (upright v1):"
Write-Host "- If account_team == true => account_owner_user_id must be set"
Write-Host "- If account_team == false => account_owner_user_id must be null"
Write-Host ""
Write-Host "Scan rules reminder:"
Write-Host "- If account has 0 products => fullscan (products + product_details)"
Write-Host "- Else sparscan updates volatile fields in products (price/qty/watch/carts/status/last_seen)"
Write-Host "- Fullscan a product if product_details missing OR product_last_fullscan_at older than your threshold (e.g. 30 days)"