Skip to content

Releases: remageht/telemaster

v1.1.0

Choose a tag to compare

@remageht remageht released this 28 Sep 08:48

v1.1.0 - prod hardening

  • JWT access(15m)+refresh(7d), bcrypt, require_admin 401/403
  • slowapi 20/min -> 429, PII mask, generic 500
  • config.py validation SECRET_KEY, CORS from env
  • compose api+frontend nginx, volumes, healthcheck /healthz
  • CI flake8+tests+docker build
  • frontend config.js API_BASE via window.CONFIG, v71 tm-v92

v1.0.0

Choose a tag to compare

@remageht remageht released this 28 Sep 08:01

v1.0.0 — Hybrid prod + Dockerfile

  • Первый стабильный релиз гибридной архитектуры ТЕЛЕМАСТЕР
  • Добавлен Dockerfile для контейнеризации и продакшен-развертывания FastAPI бэкенда
  • Все системы защиты: CSP, XSS-экранирование, JWT-аутентификация администратора
  • Полноценный оффлайн-режим PWA с Service Worker и fallback в localStorage
  • Серверное управление заказами, товарами, лидами и остатками

v0.70

Choose a tag to compare

@remageht remageht released this 28 Sep 08:01

v0.70 — Stage 6 cleanup (удалил hash-fallback, telegram-proxy)

  • Полное удаление небезопасной клиентской логики: константы ADMIN_PASSWORD_HASH и локальной проверки пароля
  • Вход в админку только через серверный POST /api/auth/login с получением JWT
  • Токен Telegram-бота больше не сохраняется в браузере, отправка только через серверный эндпоинт (/api/telegram/send)
  • Проверка прав isAdmin только по tm-jwt is_admin
  • Обновление версий: main.js?v=70 (CACHE tm-v91)

v0.69

Choose a tag to compare

@remageht remageht released this 28 Sep 08:00

v0.69 — Серверный subtotal/fee/total + проверка stock

  • Серверный расчет стоимости заказа в POST /api/orders: учет оптовой скидки (BULK_MIN/OFF), стоимости доставки, subtotal по ценам БД
  • Проверка складских остатков (stock): возврат 400 при нехватке товара и автоматическое списание остатка при успешном заказе
  • Фронтенд использует итоговые суммы сервера, обрабатывает ошибки stock тостами и обновляет кэш товаров
  • Обновление версий: main.js?v=69 (CACHE tm-v90)

v0.68

Choose a tag to compare

@remageht remageht released this 28 Sep 08:00

v0.68 — Products CRUD + getProducts кэш

  • Полноценный серверный CRUD для каталога товаров: GET/POST/PUT/DELETE /api/products
  • Защита эндпоинтов модификации товаров через require_admin
  • Клиентский кэш каталога товаров (apiProductsCache) с fallback на data.js и overrides
  • Возможность редактирования и удаления товаров администратором

v0.67

Choose a tag to compare

@remageht remageht released this 28 Sep 08:00

v0.67 — JWT-админка (is_admin, TTL)

  • Авторизация администратора через JWT-токены (POST /api/auth/login)
  • Проверка прав доступа по флагу is_admin в payload токена
  • Ограничение времени жизни токена (TTL / exp)
  • Сохранение JWT в sessionStorage (tm-jwt) и поддержка оффлайн-fallback сессии

v0.66

Choose a tag to compare

@remageht remageht released this 28 Sep 08:00

v0.66 — Hybrid orders & leads (API → localStorage)

  • Бэкенд на FastAPI + SQLite: эндпоинты POST/GET /api/orders и /api/leads
  • Фронтенд гибридный режим (USE_API + API_BASE): запросы к API с автоматическим fallback в localStorage при оффлайне/сбое
  • Модель OrderCreate с полями subtotal, fee, total, lines
  • Базовая интеграция админки с бэкендом
  • Обновление версий: main.js?v=66 (CACHE tm-v87)

v0.65

Choose a tag to compare

@remageht remageht released this 28 Sep 08:00

v0.65 — XSS-защита (esc, escAttr, sanitizeImgSrc)

  • Защита от XSS-атак: экранирование вывода (esc, escAttr), санитизация ссылок на изображения (sanitizeImgSrc)
  • Добавлен заголовок Content-Security-Policy (CSP) в meta: default-src, script-src unsafe-inline, connect-src api.telegram.org
  • Строгая валидация входных данных: имя (2-40 символов), телефон (7-32 символов), отзыв (4-500 символов)
  • HTML5-атрибуты maxlength и pattern для полей ввода
  • Обновление версий: main.js?v=65 (CACHE tm-v85)

v0.60

Choose a tag to compare

@remageht remageht released this 28 Sep 08:00

v0.60 — Адаптивная верстка (480 px) и CSP

  • Адаптивная верстка для мобильных устройств (брейкпоинт 480 px)
  • Начальная настройка CSP и валидации
  • Поддержка fallback для псевдокласса :has()
  • Улучшение доступности (a11y) и совместимости
  • Обновление версионирования ассетов: style.css?v=62, main.js?v=62 (CACHE tm-v82)