Spaces:
Running
Running
| import re | |
| with open('D:/workAI/OpenCode/WorkSpace/backend-service/server.js', 'r', encoding='utf-8') as f: | |
| content = f.read() | |
| # Clean _renderFullHtml: replace entire debug-heavy section with clean version | |
| # Find from setViewport to dataUrl assignment | |
| pattern = r"( await page\.setViewport\(\{ width: 800, height: 500 \}\);).*?(const dataUrl = `data:image/png;base64,\$\{screenshot\.toString\('base64'\)\}`;)" | |
| replacement = r""" await page.setViewport({ width: 800, height: 500 }); | |
| await page.setContent(htmlContent, { waitUntil: 'networkidle0', timeout: 15000 }); | |
| const rendered = await page.waitForFunction( | |
| () => window._widgetRendered === true, | |
| { timeout: renderTimeout } | |
| ).catch(() => null); | |
| if (!rendered) { | |
| console.log(`[WIDGET] _renderFullHtml timeout after ${renderTimeout}ms, trying screenshot anyway`); | |
| await new Promise(r => setTimeout(r, 1000)); | |
| } | |
| const container = await page.$('#widget-container'); | |
| let screenshot; | |
| if (container) { | |
| screenshot = await container.screenshot({ type: 'png', omitBackground: false }); | |
| } else { | |
| screenshot = await page.screenshot({ type: 'png', fullPage: true, omitBackground: false }); | |
| } | |
| const dataUrl = `data:image/png;base64,${screenshot.toString('base64')}`;""" | |
| content = re.sub(pattern, replacement, content, flags=re.DOTALL) | |
| print("CLEANED: _renderFullHtml debug blocks") | |
| # Remove debugId from _renderFullHtml call | |
| content = content.replace( | |
| "return this._renderFullHtml(html, chartTitle, 8000, chartType, debugId);", | |
| "return this._renderFullHtml(html, chartTitle, 8000, chartType);" | |
| ) | |
| print("CLEANED: Removed debugId from _renderFullHtml call") | |
| # Remove debugId from method signature | |
| content = content.replace( | |
| "async _renderFullHtml(htmlContent, title, renderTimeout, chartType, debugId)", | |
| "async _renderFullHtml(htmlContent, title, renderTimeout, chartType)" | |
| ) | |
| print("CLEANED: Removed debugId from _renderFullHtml signature") | |
| # Remove redundant fs require in renderChatGPTChart (already partially cleaned) | |
| old_debug = """ const html = this.buildChatGPTChartHtml(chartType, series, data, xKey, nameKey, valueKey, formattedData, axes, chartTitle, chartDesc); | |
| // DEBUG: Write HTML to disk for inspection | |
| const fs = require('fs'); | |
| const debugId = `${chartType}-${Date.now()}`; | |
| fs.writeFileSync(`/tmp/chart-debug-${debugId}.html`, html); | |
| // DO NOT use renderWidgetPuppeteer""" | |
| if old_debug in content: | |
| content = content.replace(old_debug, | |
| " const html = this.buildChatGPTChartHtml(chartType, series, data, xKey, nameKey, valueKey, formattedData, axes, chartTitle, chartDesc);") | |
| print("CLEANED: Removed /tmp debug HTML write") | |
| else: | |
| print("INFO: /tmp debug write already cleaned or not found") | |
| with open('D:/workAI/OpenCode/WorkSpace/backend-service/server.js', 'w', encoding='utf-8') as f: | |
| f.write(content) | |
| print("Done.") | |