    at async <anonymous> (/home/runner/workspace/server/routes.ts:10285:33)
🔍 Processing accessory tag: {{akcesorium-plyty_meblowe}}
📝 Rendering accessory HTML list: plyty_meblowe
🖼️  Replacing {img2 w=100} with image: https://files.alpsys.pl/OMS/products/images/color-1761673754609-401086661.jpg
🖼️  Replacing {img3 w=100} with image: https://files.alpsys.pl/OMS/products/images/color-1761568752488-432263901.jpg
🖼️  Replacing {img4 w=100} with image: https://files.alpsys.pl/OMS/products/images/color-1761568750549-651855722.jpg
🖼️  Replacing {img5 w=100} with image: https://files.alpsys.pl/OMS/products/images/color-1761673761427-130752927.jpg
✅ Description generated using template for: Szafka TRES na buty z szufladą  TRES 60×30×82 cm 3 półki i szuflada KASZMIR
🔄 Updated existing product: Szafka TRES na buty z szufladą  TRES 60×30×82 cm 3 półki i szuflada KASZMIR (SKU-290)
📸 Adding 10 images to product 290
🗑️ Removing old images for product 290
✅ Added 10 images to product 290 (first marked as primary)
📝 Using template ID 12 for product: Szafka TRES na buty z szufladą  TRES 60×36×82 cm 3 półki i szuflada BIALY
🏷️  Found 5 accessory tags in template: tres, tkanina_hugo, eko_cayenne, tkanina_welur, plyty_meblowe
📦 Loaded 5 accessory groups from template tags
🤖 Generating AI description for all sections (single call)
❌ Failed to render grid JPG for eko_cayenne:grid4-: TimeoutError: Navigation timeout of 30000 ms exceeded
    at new Deferred (/home/runner/workspace/node_modules/puppeteer-core/src/util/Deferred.ts:74:28)
    at Function.create (/home/runner/workspace/node_modules/puppeteer-core/src/util/Deferred.ts:29:12)
    at new LifecycleWatcher (/home/runner/workspace/node_modules/puppeteer-core/src/cdp/LifecycleWatcher.ts:152:42)
    at CdpFrame.setContent (/home/runner/workspace/node_modules/puppeteer-core/src/cdp/Frame.ts:292:21)
    at async CdpPage.setContent (/home/runner/workspace/node_modules/puppeteer-core/src/api/Page.ts:1728:5)
    at async renderAccessoryGridAsJPG (/home/runner/workspace/server/accessory-grid-renderer.ts:244:5)
    at async processAccessoryTags (/home/runner/workspace/server/routes.ts:159:26)
    at async generateProductsFromMatrix (/home/runner/workspace/server/routes.ts:697:32)
    at async <anonymous> (/home/runner/workspace/server/routes.ts:10285:33)
🔍 Processing accessory tag: {{akcesorium-tkanina_welur:grid4-}}
📸 Rendering accessory grid as JPG: tkanina_welur:grid4-
🎨 Rendering new accessory grid: accessory-grid-430074348c5c93424e183407a8f56dfe.jpg (4×5)
✅ AI description generated (3493 tokens)
📄 Full description length: 3832 chars
📋 Full description preview:
<div>
    <h2>Wprowadzenie produktu</h2>
    <p>Szafka TRES na buty to idealne rozwiązanie dla każdego, kto ceni sobie funkcjonalność i estetykę w swoim wnętrzu. Wykonana z wysokiej jakości płyty meblowej o grubości 18mm, zapewnia nie tylko solidność, ale także trwałość na lata. Jej uniwersalny biały kolor sprawia, że doskonale wkomponuje się w różnorodne aranżacje, dodając im lekkości i elegancji. Dzięki przemyślanej konstrukcji, szafka oferuje wygodne przechowywanie obuwia oraz dodatkową przes...
✂️  Extracted section "care" (413 chars): <p>Aby cieszyć się estetyką i funkcjonalnością szafki TRES przez długi czas, zaleca się regularne cz...
✂️  Extracted section "intro" (565 chars): <p>Szafka TRES na buty to idealne rozwiązanie dla każdego, kto ceni sobie funkcjonalność i estetykę ...
✂️  Extracted section "safety" (497 chars): <p>Szafka TRES została zaprojektowana z myślą o bezpieczeństwie użytkowników. Stabilna konstrukcja o...
✂️  Extracted section "features" (1152 chars): <ul>
        <li><strong>Wysokiej jakości materiały</strong>: Wykonana z płyty meblowej renomowanych...
🔍 Processing accessory tag: {{akcesorium-tres:grid3}}
📸 Rendering accessory grid as JPG: tres:grid3
Running scheduled Odoo sync...
🔧 Imported Odoo sync functions
🔄 Found 7 orders updated in last 1 minutes for Odoo sync
🔧 processSyncQueue() started
🔍 DEBUG createOdooClient: Original URL = "https://alpma.app"
🔍 DEBUG createOdooClient: includes tunnel.pyjam.as = false
🔍 DEBUG createOdooClient: Final URL = "https://alpma.app"
🔧 createOdooClient() returned: OdooClient instance
🔒 Inna instancja processSyncQueue() już działa - pomijam
🔧 syncRecentOrdersToOdoo completed
🔧 Scheduled Odoo sync completed
✅ Cache hit for accessory grid: accessory-grid-f6b4fd23a9cfae2e4e3234fcc838c16b.jpg
   Returning cached URL: https://files.alpsys.pl/OMS/ai-cache/accessory-grids/accessory-grid-f6b4fd23a9cfae2e4e3234fcc838c16b.jpg
✅ Grid JPG rendered: https://files.alpsys.pl/OMS/ai-cache/accessory-grids/accessory-grid-f6b4fd23a9cfae2e4e3234fcc838c16b.jpg
🔍 Processing accessory tag: {{akcesorium-tkanina_hugo:grid4-}}
📸 Rendering accessory grid as JPG: tkanina_hugo:grid4-
🎨 Rendering new accessory grid: accessory-grid-4753ab9412608aab4d66685b6173e730.jpg (4×7)
7:15:25 PM [express] GET /api/allegro/connection-status 304 in 377ms :: {"connected":true,"requiresR…
❌ Failed to render grid JPG for tkanina_hugo:grid4-: TimeoutError: Navigation timeout of 30000 ms exceeded
    at new Deferred (/home/runner/workspace/node_modules/puppeteer-core/src/util/Deferred.ts:74:28)
    at Function.create (/home/runner/workspace/node_modules/puppeteer-core/src/util/Deferred.ts:29:12)
    at new LifecycleWatcher (/home/runner/workspace/node_modules/puppeteer-core/src/cdp/LifecycleWatcher.ts:152:42)
    at CdpFrame.setContent (/home/runner/workspace/node_modules/puppeteer-core/src/cdp/Frame.ts:292:21)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async CdpPage.setContent (/home/runner/workspace/node_modules/puppeteer-core/src/api/Page.ts:1728:5)
    at async renderAccessoryGridAsJPG (/home/runner/workspace/server/accessory-grid-renderer.ts:244:5)
    at async processAccessoryTags (/home/runner/workspace/server/routes.ts:159:26)
    at async generateProductsFromMatrix (/home/runner/workspace/server/routes.ts:697:32)
    at async <anonymous> (/home/runner/workspace/server/routes.ts:10285:33)
🔍 Processing accessory tag: {{akcesorium-eko_cayenne:grid4-}}
📸 Rendering accessory grid as JPG: eko_cayenne:grid4-
🎨 Rendering new accessory grid: accessory-grid-680f4f6fee921ebe4890774ce8d0d48a.jpg (4×7)