Компактные проценты UTM и общие заметки в сводке админки #23

Closed
opened 2026-10-25 20:33:52 +01:00 by yury · 4 comments
Owner

Уточнение владельца к сводке admin.zoomstage.online (связана #22): вместо расшифровок и отдельного Default показывать сухие строки вида «1 (100%)» и «2 (0%) - default». У каждой UTM нужна личная текстовая заметка, при редактировании — растягиваемая textarea на всю ширину таблицы.

План в рамках этой задачи:

  1. Зафиксировать дизайн, проценты из весов и существующие fallback; карту всех потребителей overview/редактора/конструктора. Заметка общая для canonical UTM через все домены, отдельное private state, runtime не менять.
  2. Backend notes GET/POST auth+CSRF/валидация/сохранение; frontend компактные numeric строки + colspan textarea/сохранение/ошибка/retry без потери черновика.
  3. RED→GREEN и настоящая UI-проверка desktop/mobile, ввод/сохранение/reload/error/recovery; config hashes и jobs неизменны. Review и scoped release admin, KB/итог/закрытие.

Домены и runtime/веса/default не менять. Источник — текущий прямой запрос владельца; production админки разрешён в исходном поручении. Не смешивать формат сводки с полноценным редактором настроек и независимым конструктором ссылки.

Уточнение владельца к сводке admin.zoomstage.online (связана #22): вместо расшифровок и отдельного Default показывать сухие строки вида «1 (100%)» и «2 (0%) - default». У каждой UTM нужна личная текстовая заметка, при редактировании — растягиваемая textarea на всю ширину таблицы. План в рамках этой задачи: 1. Зафиксировать дизайн, проценты из весов и существующие fallback; карту всех потребителей overview/редактора/конструктора. Заметка общая для canonical UTM через все домены, отдельное private state, runtime не менять. 2. Backend notes GET/POST auth+CSRF/валидация/сохранение; frontend компактные numeric строки + colspan textarea/сохранение/ошибка/retry без потери черновика. 3. RED→GREEN и настоящая UI-проверка desktop/mobile, ввод/сохранение/reload/error/recovery; config hashes и jobs неизменны. Review и scoped release admin, KB/итог/закрытие. Домены и runtime/веса/default не менять. Источник — текущий прямой запрос владельца; production админки разрешён в исходном поручении. Не смешивать формат сводки с полноценным редактором настроек и независимым конструктором ссылки.
Author
Owner

Прямое уточнение владельца: «если там ноль процентов показываешь — ноль процентов ... За этим я вручную буду следить». На термин «запасной вариант» возразил: такого продуктового правила не задавал. Решение: сводка показывает только доли заданных весов, при allzero все0%; никакого автоматического присваивания100% и никаких runtimeизменений. Предложение ведущего учитывать поведение обработчика в процентах отозвано как лишняя интерпретация отображения.

Спецификация+план: KB Спеки/2026-10-25 Сводка процентов и заметки UTM — 23.md. Canonicalnumeric строки, positivebold/zeroобычный, - default устроки. Общая заметка наUTM, mergedrow fullwidth, edittextarea resizevertical, явныеSave/Cancel по существующимформам, plainтекст/10000Unicode/CAS/conflict/errorretry. GET/POST /api/utm-notes, private0600 отдельныйфайл; никаких Transport/Jobs/runtime. Соседние configeditor/linkbuilder не менять. Backend и frontend реализуются независимыми файловыми областями, leading интеграция/QA/release.

Прямое уточнение владельца: «если там ноль процентов показываешь — ноль процентов ... За этим я вручную буду следить». На термин «запасной вариант» возразил: такого продуктового правила не задавал. Решение: сводка показывает только доли заданных весов, при allzero все0%; никакого автоматического присваивания100% и никаких runtimeизменений. Предложение ведущего учитывать поведение обработчика в процентах отозвано как лишняя интерпретация отображения. Спецификация+план: KB Спеки/2026-10-25 Сводка процентов и заметки UTM — 23.md. Canonicalnumeric строки, positivebold/zeroобычный, - default устроки. Общая заметка наUTM, mergedrow fullwidth, edittextarea resizevertical, явныеSave/Cancel по существующимформам, plainтекст/10000Unicode/CAS/conflict/errorretry. GET/POST /api/utm-notes, private0600 отдельныйфайл; никаких Transport/Jobs/runtime. Соседние configeditor/linkbuilder не менять. Backend и frontend реализуются независимыми файловыми областями, leading интеграция/QA/release.
Author
Owner

Backend Notes/API заморожен: RED→GREEN49проверок, полный composer test7suite exit0, preliminary independent review PASS. Opaque64hex revision меняется на каждое сохранение/очистку, начальная версия стабильная без JSON; общий file lock предотвращает потерю соседних заметок. GET/POST после auth/CSRF/session-close, Unicode/control/10000символов, corrupt/symlink503; runtime/jobs/targets не затрагиваются. Frontend/realUI ещё выполняются, итог не заявлен.

До выпуска снят свежий private preland23-before.json: все4actualRAWsha; notesfile отсутствует. Сайты смонтированыread-only для снимка. Дальнейшая production-проверка заметки использует сохранение текущего текста без изменения содержимого, затем reload/readback и сравнение4RAWsha; не загружает assets и не меняет конфиги/веса/default.

Backend Notes/API заморожен: RED→GREEN49проверок, полный composer test7suite exit0, preliminary independent review PASS. Opaque64hex revision меняется на каждое сохранение/очистку, начальная версия стабильная без JSON; общий file lock предотвращает потерю соседних заметок. GET/POST после auth/CSRF/session-close, Unicode/control/10000символов, corrupt/symlink503; runtime/jobs/targets не затрагиваются. Frontend/realUI ещё выполняются, итог не заявлен. До выпуска снят свежий private preland23-before.json: все4actualRAWsha; notesfile отсутствует. Сайты смонтированыread-only для снимка. Дальнейшая production-проверка заметки использует сохранение текущего текста без изменения содержимого, затем reload/readback и сравнение4RAWsha; не загружает assets и не меняет конфиги/веса/default.
Author
Owner

f2097d4800 опубликован main/staging, админка выпускается отдельным image. Notes49/unit+HTTP и полный composer7suite exit0 независимо повторены ведущим; Composer strict valid. Настоящий UI1440/390 GREEN:100:0/1:3/0:0/default0/semanticlegacy/дроби, fullwidthtextarea, ввод/save/reload, HTMLplaintext, реальный409/LoadServer, offline/recovery, cursor/selection/размер сохранены, configs/jobs неизменны. Соседний linkbuilder smoke PASS. Ведущий отдельно выполнил CUA input/save/reload/fullwidth/restore тестовой заметки.

Независимое review spec/code/security PASS. Найденную до выпуска гонку старогоGET послеSave/LoadServer исправили per-note epoch на старте И успешном завершении операции; три детерминированных порядка настоящих GET/POST GREEN. Allzero строго0% всем, никаких подстановок100% и runtimeизменений. История промежуточного UIharness ожидания disabledrefresh оставлена в report, это не productдефект.

Образ собирается из полной trackedadmin Git-архива поверх4fc4fd8, зависимости не менялись. Statebackup исключаетsessionfiles. Остаток: productionhealthy, безопасныйnoopSaveтекущеготекстаreg/reload/4hashes+jobscompare, финальнаяKB/закрытие. Фактический выпуск ещё проверяется, не считать итоговый productionUI пройденным до следующего комментария.

f2097d4800eb3b6fbf8b27e1f81cb7aac62e7c2f опубликован main/staging, админка выпускается отдельным image. Notes49/unit+HTTP и полный composer7suite exit0 независимо повторены ведущим; Composer strict valid. Настоящий UI1440/390 GREEN:100:0/1:3/0:0/default0/semanticlegacy/дроби, fullwidthtextarea, ввод/save/reload, HTMLplaintext, реальный409/LoadServer, offline/recovery, cursor/selection/размер сохранены, configs/jobs неизменны. Соседний linkbuilder smoke PASS. Ведущий отдельно выполнил CUA input/save/reload/fullwidth/restore тестовой заметки. Независимое review spec/code/security PASS. Найденную до выпуска гонку старогоGET послеSave/LoadServer исправили per-note epoch на старте И успешном завершении операции; три детерминированных порядка настоящих GET/POST GREEN. Allzero строго0% всем, никаких подстановок100% и runtimeизменений. История промежуточного UIharness ожидания disabledrefresh оставлена в report, это не productдефект. Образ собирается из полной trackedadmin Git-архива поверх4fc4fd8, зависимости не менялись. Statebackup исключаетsessionfiles. Остаток: productionhealthy, безопасныйnoopSaveтекущеготекстаreg/reload/4hashes+jobscompare, финальнаяKB/закрытие. Фактический выпуск ещё проверяется, не считать итоговый productionUI пройденным до следующего комментария.
Author
Owner

Итог #23: выпущен f2097d4800, admin.zoomstage.online — preland-admin:f2097d4 / sha256:087a04be0b0f3d0265896f95546cd64a058a2c5c93d1b077c1d77b0749b0137b. Actions498/job710 SUCCESS, фактический runner37/zoomzilla-prod-org. KBmaster857a4f7 опубликована: спецификация/план/итог, индекс и актуальная эксплуатационная ссылка.

Ячейки содержат числовой вариант, процент и - default на своей строке; положительные проценты выделены. Allzero остаётся0% у всех; никакого «запасного варианта» или подстановки100% не вводилось. Под каждой canonicalUTM общая заметка на всю ширину таблицы, редактируемая resizable textarea, Save/Cancel/error/recovery/CAS. Редактор конфигов и конструктор ссылок сохранены.

Проверки: Notes49 RED→GREEN, полный composer7suite exit0, strict validate, независимое review PASS; real UI1440/390 (включая0:0,дроби,default0), input/save/reload/409/offline/recovery/plainHTML/курсор/размер, три GET/POSTrace, соседний linkbuilder PASS. Ведущий отдельно CUA input/save/reload/restore PASS.

Production UI: ровно один no-op Save reg текущего пустого текста→200/newrevision, reload exact; остальные заметки и jobs прежние. Четыре RAWconfig совпали со свежим baseline до выпуска, ведущий независимо повторил сравнение после QA. Runtime/веса/default/публичные файлы не менялись. Notes0600 UID997:987, webhealthy/workerrunning, anonymous401 и финальный QAlogout401, JSerrors0.

Первый QA остановился после содержательных assertions на screenshotclip; readonlyhelper затем исправил Fetchstatus(). Это ошибки тестового helper, не продукта; повторных notesPOST не было. Отчёт/evidence/PNG output/preland23/production-notes-report.md и production-notes-evidence.json. Обязательных остатков нет, задача закрывается.

Итог #23: выпущен f2097d4800eb3b6fbf8b27e1f81cb7aac62e7c2f, admin.zoomstage.online — preland-admin:f2097d4 / sha256:087a04be0b0f3d0265896f95546cd64a058a2c5c93d1b077c1d77b0749b0137b. Actions498/job710 SUCCESS, фактический runner37/zoomzilla-prod-org. KBmaster857a4f7 опубликована: спецификация/план/итог, индекс и актуальная эксплуатационная ссылка. Ячейки содержат числовой вариант, процент и - default на своей строке; положительные проценты выделены. Allzero остаётся0% у всех; никакого «запасного варианта» или подстановки100% не вводилось. Под каждой canonicalUTM общая заметка на всю ширину таблицы, редактируемая resizable textarea, Save/Cancel/error/recovery/CAS. Редактор конфигов и конструктор ссылок сохранены. Проверки: Notes49 RED→GREEN, полный composer7suite exit0, strict validate, независимое review PASS; real UI1440/390 (включая0:0,дроби,default0), input/save/reload/409/offline/recovery/plainHTML/курсор/размер, три GET/POSTrace, соседний linkbuilder PASS. Ведущий отдельно CUA input/save/reload/restore PASS. Production UI: ровно один no-op Save reg текущего пустого текста→200/newrevision, reload exact; остальные заметки и jobs прежние. Четыре RAWconfig совпали со свежим baseline до выпуска, ведущий независимо повторил сравнение после QA. Runtime/веса/default/публичные файлы не менялись. Notes0600 UID997:987, webhealthy/workerrunning, anonymous401 и финальный QAlogout401, JSerrors0. Первый QA остановился после содержательных assertions на screenshotclip; readonlyhelper затем исправил Fetchstatus(). Это ошибки тестового helper, не продукта; повторных notesPOST не было. Отчёт/evidence/PNG output/preland23/production-notes-report.md и production-notes-evidence.json. Обязательных остатков нет, задача закрывается.
yury closed this issue 2026-10-25 21:05:45 +01:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anton/preland#23