373 lines
38 KiB
Plaintext
373 lines
38 KiB
Plaintext
Ops — app.caterium.ru confirmed as the sole Timeweb auto-deploy target; caterium.ru apex is reserved for a separate future site.
|
||
Ops — Timeweb production auto-deploy verified: panel Crontab (*/5) pulls the production branch via ops/timeweb/caterium-production-sync.sh, caterium.ru serves from Timeweb with a valid SSL certificate, Cloudflare Worker kept as fallback.
|
||
|
||
v17.5.21 — Настройки разделены на 6 вкладок: Аккаунт, Оформление, Предложение, Заказы, Справочники, Документы.
|
||
v17.5.17 - inline control-list editor + guaranteed adaptive table photos
|
||
v17.5.16 — предпросмотр предложения и PDF используют одни и те же страницы; редактор прямо в окне предложения; финальные фото максимум 2 и только в свободное место
|
||
v17.5.15 — новый шаблон предложения «Солнце Editorial» с единой структурой просмотра и PDF
|
||
v17.5.14 — фото каталога/Premium и адаптивная галерея PDF
|
||
- Единый fallback фото для каталога, Premium, предложения и PDF: локальный файл -> API-кэш -> оригинал Tilda.
|
||
- Запуск сервера больше не блокируется неполным фотокэшем.
|
||
- Локальные резервные фото добавлены для отсутствовавших вариантов боксов №5 и №8.
|
||
- Финальный блок «Как это выглядит на вашем столе» заполняет свободное место 1–3 фотографиями.
|
||
|
||
v17.5.9 — Календарь: цвета по оплате + печать для кухни без финансов
|
||
- Календарь использует те же настраиваемые цвета оплаты, что и карточки заказов.
|
||
- В печати календаря скрыты суммы заказов, предоплаты, остатки и денежные значения внутри заказов.
|
||
- В печати остаются дата, время, заказ, мероприятие, клиент/адрес и цветовая маркировка.
|
||
|
||
v17.5.8 — PDF: белый Light, продающий блок и финальная фотогалерея
|
||
- Светлый фирменный шаблон переведён с кремового на чистый белый фон.
|
||
- Короткий текст первого экрана отделён от нового редактируемого продающего блока.
|
||
- При миграции старый длинный текст первого экрана переносится в продающий блок, чтобы ничего не потерять.
|
||
- PDF рассчитывает высоту продающего текста и переносит продолжение на следующую страницу без обрезания.
|
||
- В конец предложения добавлена адаптивная галерея из 10 предоставленных фотографий.
|
||
- Фотографии галереи упакованы побайтово в legacy-images.bin без повторного JPEG-сжатия и без увеличения числа файлов.
|
||
|
||
SUN CATERING — ИСТОРИЯ ИЗМЕНЕНИЙ
|
||
|
||
Этот файл объединяет прежние V*-CHANGES.txt. Исторические записи сохранены по версиям.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V12-CHANGES.txt
|
||
==============================================================================
|
||
Солнце Кейтеринг v12
|
||
|
||
1. Шесть шаблонов «Предложения клиенту» теперь имеют разные структуры, а не только разные цвета.
|
||
2. Все шаблоны используют реальные фотографии выбранных боксов из каталога.
|
||
3. PDF-верстка переработана: измеряемый перенос строк, динамические высоты блоков, отдельное состояние canvas, защита от наложения текста.
|
||
4. «Фирменные цвета интерфейса»: расширенный редактор левой панели, активных пунктов, служебных кнопок, уведомлений и основного интерфейса.
|
||
5. Значки меню: стандартные SVG или пользовательские символы/эмодзи для каждого раздела.
|
||
6. Одна кнопка возвращает стандартную версию интерфейса (исходная фиолетовая панель + стандартные значки).
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V13-CHANGES.txt
|
||
==============================================================================
|
||
Солнце Кейтеринг v13
|
||
|
||
- Исправлена невидимая подпись на тёмных основных кнопках (PDF, Сохранить и т.п.).
|
||
- Настройки темы теперь работают как живой предпросмотр: изменения видны сразу, но сохраняются только по кнопке «Сохранить настройки».
|
||
- Добавлена кнопка «Отменить изменения».
|
||
- Основной цвет левой панели вынесен отдельным крупным параметром; можно менять градиент, значки, текст, активные пункты и служебные элементы.
|
||
- Добавлены 5 наборов значков плюс индивидуальный выбор значка для каждого раздела.
|
||
- «Вернуть стандартную версию» одним нажатием восстанавливает исходную фиолетовую панель, стандартные цвета и SVG-значки.
|
||
- Excel импорт/экспорт удалён из экрана Настройки.
|
||
- Левая панель сворачивается до 74 px и запоминает состояние.
|
||
- Обновлён PWA cache.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V14-CHANGES.txt
|
||
==============================================================================
|
||
Sun Catering v14
|
||
|
||
- Simplified interface color settings.
|
||
- Removed icon pack and per-icon customization settings.
|
||
- Brand palette is collapsed behind "Показать фирменные цвета Солнца".
|
||
- Added sidebar presets: Standard purple, Brand dark, Brand light, Brand green, Solar graphite.
|
||
- Theme changes affect only preview until Save Settings is clicked.
|
||
- Main sidebar background is explicitly applied to the real sidebar after saving, including mobile navigation.
|
||
- Added manual controls for main sidebar color, second sidebar color and icon color plus advanced sidebar colors.
|
||
- Restores standard purple sidebar with one button.
|
||
- Sidebar logo/brand is now a link to New Order.
|
||
- Updated PWA cache version.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V15-CHANGES.txt
|
||
==============================================================================
|
||
Солнце Кейтеринг — v15
|
||
|
||
Предложение клиенту:
|
||
- Номер заказа удалён из клиентского предложения и имени PDF.
|
||
- Дата остаётся и может быть включена/выключена в настройках.
|
||
- Количество боксов считается только по позициям категории «Боксы».
|
||
- Вес еды считается только по категории «Боксы»; напитки, посуда и дополнения исключены.
|
||
- В «Итого» можно выбрать «Вес еды на гостя» или «Количество канапе на гостя».
|
||
- Добавлены централизованные настройки текстов и видимости блоков предложения.
|
||
- Нижние кнопки «Скачать PDF» / «Заказать меню» удалены из всех клиентских шаблонов.
|
||
- Управление предложением остаётся в верхнем окне: «Скачать PDF», «Обновить», «Закрыть».
|
||
- Исправлено позиционирование и перенос строк в PDF, в том числе многострочные заголовки.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V16-CHANGES.txt
|
||
==============================================================================
|
||
Солнце Кейтеринг v16 — SaaS foundation
|
||
|
||
- 3 тарифа: Базовый / Профессиональный / Полный.
|
||
- Новый workspace получает 14 дней Полного тарифа.
|
||
- После окончания: 7 дней только просмотр, затем блокировка без удаления данных.
|
||
- Базовый: 1 пользователь. Профессиональный: до 3. Полный: без лимита.
|
||
- Профессиональный не включает редактирование боксов и предложения клиенту.
|
||
- Серверная проверка подписки и функций в Supabase RPC — ограничения нельзя снять только изменением интерфейса браузера.
|
||
- Каждая компания работает в отдельном workspace; сервер фильтрует данные по членству и тарифу.
|
||
- Регистрация компании: пустая база или демо.
|
||
- Карточка тарифа и срока в Настройках.
|
||
- Недоступные функции помечаются замком и показывают сравнение тарифов.
|
||
- Отдельный SaaS-кабинет владельца сервиса: компании, тарифы, сроки, блокировка, индивидуальные функции.
|
||
- Ограничение количества активных сотрудников проверяется на сервере при приглашении и повторной активации.
|
||
- Существующий workspace «Солнце Кейтеринг» сохранён на Полном тарифе до 2099 года.
|
||
- SaaS RPC закрыты от анонимного доступа.
|
||
- Миграции текущего Supabase уже применены. Для нового проекта: SUPABASE-SAAS-V16.sql + SUPABASE-SAAS-V16-FINALIZE.sql.
|
||
|
||
Пока не подключено: автоматическое списание, платёжный webhook и публичный checkout. Тарифами можно управлять вручную из SaaS-кабинета.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V17.1-CHANGES.txt
|
||
==============================================================================
|
||
Солнце Кейтеринг v17.1 — исправление входа на новом устройстве
|
||
|
||
- Рабочие базы после входа всегда запрашиваются с сервера через sun_my_workspaces().
|
||
- Если у пользователя одна база, она выбирается автоматически.
|
||
- Убрана гонка между успешной авторизацией и загрузкой membership.
|
||
- Экран одноразового кода приглашения временно отключён.
|
||
- Создание и принятие приглашений временно запрещены на сервере.
|
||
- В настройках убраны элементы создания/ввода приглашений.
|
||
- Регистрация через основной gate временно скрыта; вход — email + пароль.
|
||
- Обновлён PWA cache, чтобы старый экран не оставался на другом компьютере.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V17.2-CHANGES.txt
|
||
==============================================================================
|
||
Солнце Кейтеринг v17.2 — полное описание боксов в предложениях клиенту
|
||
|
||
- Во всех 6 шаблонах предложения убрано ограничение на первые 2–3 составляющие бокса.
|
||
- Теперь выводится полный состав бокса: все строки/виды, сохранённые в composition.
|
||
- Карточки и строки предложения растут по высоте автоматически.
|
||
- Добавлен нормальный перенос длинного текста без обрезки.
|
||
- Исправлены PDF всех 6 шаблонов: описание больше не ограничивается 2 составляющими или 3 строками.
|
||
- Midnight Compact PDF теперь также выводит состав под названием позиции, а не только название и вес.
|
||
- Neon Emerald PDF теперь выводит полный состав, а не только вес/раздел.
|
||
- Black Gold и Emerald Gold PDF измеряют полный текст и увеличивают карточку до нужной высоты.
|
||
- Обновлён PWA cache, чтобы браузеры не держали старую версию client-offer.js.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V17.3-CHANGES.txt
|
||
==============================================================================
|
||
Солнце Кейтеринг v17.3 — актуальные данные предложения клиенту
|
||
|
||
Исправлено:
|
||
- Предложение клиенту больше не открывает старый сохранённый снимок после изменения заказа.
|
||
- При каждом открытии сравнивается сигнатура текущего заказа и снимка предложения.
|
||
- Если количество, цена, гости, скидка, доставка или позиции изменились — предложение пересоздаётся автоматически.
|
||
- Кнопка «Предложение клиенту» в редакторе использует текущий draft заказа, включая ещё не сохранённые изменения.
|
||
- Несохранённый draft не записывается обратно в сохранённый заказ; показывается предупреждение.
|
||
- Перед скачиванием PDF выполняется повторная проверка актуальности данных.
|
||
- Все 6 шаблонов используют один актуальный snapshot, поэтому сумма, количество боксов, вес и количество позиций совпадают.
|
||
- Номер заказа убран из внутренней строки метаданных окна предложения; остаётся только время версии.
|
||
- PWA cache обновлён до v33, чтобы старый snapshot-код не оставался в браузере.
|
||
|
||
Контрольный пример заказа №25:
|
||
- количества боксов: 3+3+2+3+2+2 = 15
|
||
- сумма: 60 080 ₽
|
||
- гостей: 60
|
||
- сумма на гостя: 1 001 ₽ (округление)
|
||
- вес еды: 11 830 г
|
||
- вес на гостя: 197 г (округление)
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V17.4-CHANGES.txt
|
||
==============================================================================
|
||
Солнце Кейтеринг v17.4 — вес боксов + итоговое количество канапе
|
||
|
||
1. В редактор бокса добавлено отдельное поле «Вес бокса, г».
|
||
2. Вес бокса сохраняется в каталоге и синхронизируется как часть данных позиции.
|
||
3. Вес показывается на карточках каталога, в настройке каталога, в строках заказа, в бланке заказа/чеке и во всех предложениях клиенту/PDF.
|
||
4. В предложениях состав бокса показывает итоговое количество каждого вида закусок с учётом количества заказанных боксов.
|
||
Пример: 5 шт. канапе в одном боксе × 3 бокса = 15 шт. в предложении.
|
||
5. Обновление веса или состава бокса сразу подхватывается открытым предложением клиенту.
|
||
6. Сводный вес еды на гостя пересчитывается по актуальному весу боксов.
|
||
7. Версия snapshot предложения повышена до v5, чтобы старые предложения автоматически пересобрались.
|
||
8. Обновлён PWA-кэш.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V17.5-CHANGES.txt
|
||
==============================================================================
|
||
Солнце Кейтеринг v17.5
|
||
|
||
1. В редактор каждого бокса добавлено отдельное поле «Количество канапе / шт. в боксе».
|
||
2. Общее количество больше не хранится как строка состава.
|
||
3. В каждой строке состава добавлено поле «Вес 1 шт., г».
|
||
4. Старые веса вида «— 20 г» автоматически переносятся в отдельное поле веса одной штуки.
|
||
5. Бокс №7: количество = 30 шт.
|
||
6. Бокс №18 «Тосты ассорти»: строка «25 шт. тостов ассорти» удалена из состава; в составе остаются 2 реальных вида, а 25 хранится как общее количество.
|
||
7. Количество и вес одной штуки отображаются в клиентском предложении и PDF.
|
||
8. Количество каждого вида в предложении умножается на число заказанных боксов.
|
||
9. Каталог/заказ/бланк показывают вес и общее количество бокса.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V17.5.1-CHANGES.txt
|
||
==============================================================================
|
||
Солнце Кейтеринг v17.5.1 FINAL
|
||
|
||
База: v17.5. Облако, настройки разработчика и ребрендинг не изменялись.
|
||
|
||
1. В предложении клиенту для бокса показываются итоговые данные заказа: количество боксов, общий вес, диапазон гостей и общее количество штук.
|
||
Пример: 3 бокса · Общий вес: 3 000 г · 15–25 гостей · Всего: 75 шт.
|
||
2. Количество готовых штук учитывается для всех пищевых боксов, включая мини-бургеры и другие разделы, а не только раздел «Канапе».
|
||
3. Вес еды на гостя всегда округляется вверх до ближайших 5 г: 188 → 190, 191 → 195.
|
||
4. Показатель «Канапе на гостя» всегда округляется вверх до целого: 2,3 → 3.
|
||
5. Те же расчёты используются в экранном предложении и PDF.
|
||
6. В PDF карточки в одной строке выравниваются по высоте.
|
||
7. При небольшом переполнении страницы карточки/блоки используют компактную высоту вместо переноса малого остатка на новую страницу.
|
||
8. Блок расчёта стоимости старается оставаться на одной странице с нижним примечанием, чтобы не появлялась отдельная страница с одной-двумя строками.
|
||
9. В Light и Midnight Glass удалена повторная PDF-галерея после карточек: фото уже находятся внутри карточек, поэтому лишние страницы не создаются.
|
||
10. PDF-логика применена ко всем 6 шаблонам предложения.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V17.5.2-CHANGES.txt
|
||
==============================================================================
|
||
Солнце Кейтеринг v17.5.2 FINAL
|
||
|
||
База: v17.5.1. Новая архитектура облака, настройки разработчика и ребрендинг не добавлялись.
|
||
|
||
1. Диапазон гостей бокса больше не показывается в карточках каталога, менеджере, каталожных PDF и в предложении клиенту. Само значение оставлено в данных для обратной совместимости.
|
||
2. В предложении клиенту убрано дублирующее начало строки «3 бокса». Количество остается в штатной колонке «× 3», а метастрока показывает только общий вес и общее количество штук.
|
||
3. В окне «Вкладки каталога» добавлен выбор цвета каждой вкладки. Надпись автоматически становится светлой или темной в зависимости от фона.
|
||
4. В редакторе позиций подписи унифицированы: «Цена, ₽» и «Сохранить».
|
||
5. Ошибка `sunBoxes exceeded the quota` исправлена без смены архитектуры облака: новые фото каталога оптимизируются перед локальным сохранением, а при загрузке из облака `sunBoxes` сжимает большие data-URL и повторяет запись с более сильным сжатием, если лимит все еще превышен.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V17.5.3-CHANGES.txt
|
||
==============================================================================
|
||
V17.5.3 — каталог 02.09.2026, Премиум и скидки
|
||
|
||
1. Каталог «Боксы» полностью заменён по пользовательской выгрузке «Все боксы — Солнце Кейтеринг (2).pdf».
|
||
2. Импортировано 113 позиций: название, вес, актуальная цена и ссылка на фото. Данные о количестве гостей не импортируются и удалены из названий.
|
||
3. Позиции 69–70 (Морс, Компот) находятся во вкладке «Напитки».
|
||
4. Позиции 85–113 находятся во вкладке «Премиум». Вкладка «Премиум» расположена между «Боксы» и «Напитки».
|
||
5. Для строк с перечёркнутой ценой сохранена текущая цена и отдельная «Цена до скидки». В редакторе добавлено необязательное поле «Цена до скидки, ₽».
|
||
6. В карточках каталога и менеджере старая цена показывается перечёркнутой; расчёт заказа использует текущую цену.
|
||
7. «Премиум» считается пищевой категорией для веса/штучности и предложения клиенту.
|
||
8. Фото используются напрямую по оригинальным ссылкам static.tildacdn.com из PDF. Это не увеличивает localStorage и не возвращает ошибку quota.
|
||
9. Облачная архитектура, SaaS, RBAC и настройки разработчика не менялись.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V17.5.4-CHANGES.txt
|
||
==============================================================================
|
||
17.5.4
|
||
|
||
- Настройки при открытии прокручиваются к началу; верхняя шапка настроек закреплена.
|
||
- Блоки внизу настроек упорядочены: Реквизиты компании -> QR-код -> Настройки бланка -> Облако Supabase -> История изменений.
|
||
- В выборе шаблона предложения оставлены только: Светлый фирменный, Midnight Glass, Emerald Gold.
|
||
- Для адреса доставки добавлена ручная проверка точного адреса: до 5 вариантов с регионом/районом/населенным пунктом, превью точки и явное подтверждение.
|
||
- Автоподстановка первого результата геокодера отключена для кнопки проверки адреса.
|
||
- Автокомплит адресов не используется; запрос выполняется только по кнопке.
|
||
- Текущая архитектура облака не менялась.
|
||
|
||
|
||
==============================================================================
|
||
ИСТОЧНИК: V17.5.5-CHANGES.txt
|
||
==============================================================================
|
||
Sun Catering v17.5.5
|
||
|
||
- Исправлено предложение клиенту для заказов, созданных до замены каталога 02.09.2026.
|
||
- Старые ID каталога разрешаются через встроенный каталог v17.5, поэтому возвращаются название, вес, состав, цена и фотография позиции.
|
||
- Старые локальные фотографии берутся из catalog-images.js и безопасно встраиваются в PDF без зависимости от CDN.
|
||
- Снимки предложения, где позиции уже успели превратиться в «Позиция»/логотип, автоматически считаются устаревшими и пересобираются.
|
||
- Новая структура каталога, Premium, настройки, облако и адреса не менялись.
|
||
|
||
|
||
==============================================================================
|
||
Sun Catering v17.5.6 — аудит и компактная сборка
|
||
==============================================================================
|
||
- Проведён статический аудит JavaScript, встроенных скриптов, локальных ссылок и серверных маршрутов.
|
||
- Исправлен /healthz: версия теперь читается из release-manifest.json и не может молча оставаться на старом 17.5.0.
|
||
- Premium (категория 5) теперь последовательно обрабатывается как бокс в заготовках, фотокарточках и PDF-каталоге; название раздела в PDF — «Премиум».
|
||
- Загрузка внешних фото в PDF-каталоге защищена CORS-режимом и таймаутом, чтобы не портить canvas и не зависать бесконечно.
|
||
- 19 браузерных JS-модулей объединены в app-runtime.js без минификации; внутри сохранены маркеры исходных модулей.
|
||
- mobile-pwa.css встроен в index.html.
|
||
- Дублирование старых фото устранено: catalog/004.jpg–060.jpg упакованы побайтово в legacy-images.bin без перекодирования и без потери JPEG-качества; catalog/001.jpg–003.jpg оставлены отдельными для SaaS-демо.
|
||
- Удалён catalog-images.js, который содержал ещё одну base64-копию тех же изображений и создавал лишнюю нагрузку на разбор JavaScript.
|
||
- Удалены неиспользуемые превью трёх отключённых шаблонов предложения.
|
||
- Генерируемые файлы сервера (.sun-sync-secret, sun-sync-data.json, PHONE-LINK.txt) не поставляются в чистой сборке и создаются автоматически.
|
||
- Исправлена устаревшая подпись версии в start-local-test.bat (v17.3 → v17.5.6).
|
||
- Облачная архитектура, Supabase-схемы и пользовательские данные не изменялись.
|
||
|
||
|
||
==============================================================================
|
||
Sun Catering v17.5.7 — составы боксов с сайта
|
||
==============================================================================
|
||
- Добавлен человекочитаемый состав боксов для предложения клиенту и PDF.
|
||
- 56 позиций получают состав сразу из проверенного/ранее импортированного каталога; 6 популярных боксов сверены с текущей главной страницей solnce-keytering.ru 03.09.2026.
|
||
- Добавлена автоматическая синхронизация составов с публичных каталогов /catalog и /catalog_black через локальный server.js.
|
||
- Синхронизация не импортирует данные о количестве гостей и не меняет цену/фото/вес.
|
||
- После успешной синхронизации состав сохраняется в sunBoxes и остаётся доступен локально; повторная проверка выполняется не чаще одного раза в 6 часов.
|
||
- В менеджере Боксов/Премиум добавлена кнопка «Обновить составы с сайта».
|
||
- В редакторе бокса добавлено поле «Состав для клиента»; ручная правка защищена от последующей автозамены сайтом.
|
||
- Миграция каталога теперь сохраняет пользовательские позиции и существующие ручные изменения вместо полного удаления категорий Боксы/Напитки/Премиум.
|
||
- Архитектура облака и Supabase не изменялась.
|
||
|
||
|
||
==============================================================================
|
||
Sun Catering v17.5.10 - Premium compositions from site
|
||
==============================================================================
|
||
- Premium sync now opens the full Tilda product card through getproduct after the catalog list.
|
||
- Nested product text fields are scanned for composition.
|
||
- Missing Premium composition forces refresh even inside the normal 6-hour interval.
|
||
- Manual composition is preserved and guest/person data is not imported.
|
||
- Sync status reports Premium matches and changes separately.
|
||
|
||
17.5.11
|
||
- Убрана видимая кнопка «Обновить составы с сайта».
|
||
- Первый бокс больше не показывает «АКЦИЯ» без перечеркнутой старой цены.
|
||
- Фото старого каталога 001-060 снова лежат отдельными JPG в catalog; текущие 113 позиций используют catalog/current-XXX.jpg и автоматически кэшируются сервером в эту же папку.
|
||
- «Состав для клиента» отделен от «Состав / ТТК»; клиентское предложение и PDF используют клиентский состав.
|
||
- В бланке заказа рядом с QR добавлен редактируемый текст, сохраняемый в заказе.
|
||
|
||
|
||
17.5.12
|
||
- Аудит производительности и стабильности.
|
||
- PDF предложения больше не генерируется автоматически при открытии: тяжёлая сборка запускается только по кнопке «Скачать PDF».
|
||
- Убрана массовая фоновая загрузка недостающих фото каталога при старте сервера; фото кэшируются по требованию.
|
||
- Добавлена 5-минутная пауза после неудачной загрузки фото, чтобы при плохом интернете не повторять одни и те же запросы.
|
||
- Фоновая синхронизация составов с сайтом отложена до простоя интерфейса; число параллельных запросов деталей уменьшено до 2.
|
||
- Синхронизация составов больше не вызывает полный render() приложения и обновляет открытое предложение только при реальном изменении позиции.
|
||
- Снижена частота фоновых проверок облака/прав/тарифа и ограничены тяжёлые MutationObserver соответствующими разделами интерфейса.
|
||
- Для недоступных фотографий каталога добавлен безопасный fallback на логотип.
|
||
- Финальная фотогалерея хранится обычными JPEG и в предпросмотре загружается напрямую; Base64-конвертация фото выполняется только при скачивании PDF.
|
||
|
||
|
||
17.5.13
|
||
- Каталог переведён на полностью локальные фотографии во время обычной работы приложения.
|
||
- Добавлен prepare-catalog-photos.js: перед первым запуском он проверяет current-001.jpg–current-113.jpg и докачивает только отсутствующие файлы.
|
||
- Одинаковые исходные URL скачиваются один раз и сохраняются во все соответствующие позиции; добавлены проверка JPEG, атомарная запись, повторы и ограничение параллельности.
|
||
- start-mobile-server.bat и start-local-test.bat запускают сервер только после успешной проверки 113/113 фотографий.
|
||
- Добавлен DOWNLOAD-ALL-CATALOG-PHOTOS.bat для ручной повторной подготовки каталога.
|
||
- Удалена загрузка фотографий с Tilda/CDN из server.js во время просмотра каталога и формирования PDF.
|
||
- /healthz показывает ready/total/complete для локальных фотографий каталога.
|
||
- Облачная архитектура и данные заказов не менялись.
|
||
|
||
2026-09-05 — v17.5.18
|
||
- Разделение локальной рабочей копии по Supabase workspace/аккаунтам.
|
||
- Новая компания: текущий каталог 113 позиций + пустые рабочие данные.
|
||
- Оптимизированы JPEG каталога; удалён устаревший статический PDF-каталог.
|
||
|
||
2026-09-05 — v17.5.19
|
||
- Исправлен надёжный выход из аккаунта: local-scope Supabase signOut, ограниченное ожидание сети, локальный fallback токена и обновлённый PWA cache.
|
||
- Сохранена изоляция workspace и стартовый каталог 113 позиций из v17.5.18.
|
||
|
||
2026-09-05 — v17.5.20
|
||
- Аккаунт и вход подняты в начало Настроек.
|
||
- Резервное копирование и диагностическое резервирование убраны из обычных Настроек.
|
||
|
||
|
||
2026-09-06 — v17.5.31
|
||
- Чат переведён на безопасную регистрацию в левом меню без DOM insertBefore между разными родителями.
|
||
- Раздел «Чат»: Общий / Личные / Заказы.
|
||
- Чат заказа встроен непосредственно в заказ и доступен также из общего списка заказных чатов.
|
||
- Убрана бесконечная переинициализация, вызывавшая каскады повторных ошибок.
|
||
|