Files
contracts/History/llm-analysis/sonnet-appjs-analysis.md
T

2.3 KiB
Raw Blame History

Sonnet Analysis — 2026-06-23 — app.js bugs

Q1: Что сломано в app.js

Нужно убрать ДВЕ строки из app.js (не только </script>):

  • строка 644: </script> — SyntaxError
  • строка 845 старого index.cfm = </body> — вторая SyntaxError после первой

Обе попали из-за sed -n '209,846p'.

Q2: lucide.createIcons()

НЕ потерян. В старом index.cfm был на строке 845 (перед </script>), попал в app.js. Также вызывается ещё в 4 местах внутри JS.

Q3: Дубликаты var

var UNZIP_URL дублируется (стр. 6 и 7 app.js). Значения идентичны. var в JS допускает повторное объявление — не проблема. UPLOAD_URL и CONVERT_URL НЕ дублируются — они на строках 207-208 старого cfm, sed начат с 209.

Q4: CORS

<script src> не требует CORS — браузер грузит скрипты без проверки Origin. fetch/XHR из app.js → contracts.kube5s.ru требуют CORS — Python отвечает Access-Control-Allow-Origin: * (OK).

Q5: Скрытый баг — parseInfo в модале

Строки 484-499 app.js — правая панель "Распарсено" использует UPPERCASE ключи:

d.ELEMENT_COUNT, d.PARAGRAPHS, d.TABLES, d.TABLE_ROWS,
d.PAGES, d.PARSE_TIME_MS, d.TEXT_LENGTH, d.ERRORS

Python возвращает lowercase: element_count, elements (без PARAGRAPHS/TABLES). Все числа в правой панели модала — undefined → 0. Нужно исправить на lowercase.

Q6: prompt.cfm и chat.cfm

Ходят на Lucee-домен (relative URL). Ответы ожидаются в uppercase (d.OK, d.BODY и т.д.) — корректно для CFML. Работает, если prompt.cfm/chat.cfm есть на Lucee.

Приоритеты исправлений

  1. Убрать </script> + </body> из app.js → JS выполнится
  2. parseInfo поля: UPPERCASE → lowercase для корректной работы модала
  3. prompt.cfm/chat.cfm — пока OK, потом перенести на VM