37 lines
2.3 KiB
Markdown
37 lines
2.3 KiB
Markdown
# 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 ключи:
|
||
```javascript
|
||
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
|