Repository navigation
Releases: remageht/telemaster
Releases · remageht/telemaster
Release list
v1.1.0
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
v1.0.0 — Hybrid prod + Dockerfile
- Первый стабильный релиз гибридной архитектуры ТЕЛЕМАСТЕР
- Добавлен Dockerfile для контейнеризации и продакшен-развертывания FastAPI бэкенда
- Все системы защиты: CSP, XSS-экранирование, JWT-аутентификация администратора
- Полноценный оффлайн-режим PWA с Service Worker и fallback в localStorage
- Серверное управление заказами, товарами, лидами и остатками
v0.70
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
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
v0.68 — Products CRUD + getProducts кэш
- Полноценный серверный CRUD для каталога товаров: GET/POST/PUT/DELETE /api/products
- Защита эндпоинтов модификации товаров через require_admin
- Клиентский кэш каталога товаров (apiProductsCache) с fallback на data.js и overrides
- Возможность редактирования и удаления товаров администратором
v0.67
v0.67 — JWT-админка (is_admin, TTL)
- Авторизация администратора через JWT-токены (POST /api/auth/login)
- Проверка прав доступа по флагу is_admin в payload токена
- Ограничение времени жизни токена (TTL / exp)
- Сохранение JWT в sessionStorage (tm-jwt) и поддержка оффлайн-fallback сессии
v0.66
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
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
v0.60 — Адаптивная верстка (480 px) и CSP
- Адаптивная верстка для мобильных устройств (брейкпоинт 480 px)
- Начальная настройка CSP и валидации
- Поддержка fallback для псевдокласса :has()
- Улучшение доступности (a11y) и совместимости
- Обновление версионирования ассетов: style.css?v=62, main.js?v=62 (CACHE tm-v82)