Commit graph

24 commits

Author SHA1 Message Date
Admin
f7153248c5 fix(voice): update Whisper API IP address for MacMini M4 to 192.168.10.168 2026-06-23 17:11:18 +04:00
Admin
c8d01adec5 feat(meter_reminder): add monthly utility meter reading reminders with toggle option in profile menu 2026-06-23 12:21:53 +04:00
Admin
455c3dbd5b FIX: Restore reply.py, add new mail domains, fix sync pipeline, update to v2.2.0 2026-06-10 15:38:29 +04:00
Admin
3deba6f771 feat(email): added vkks.ru to government domains whitelist 2026-06-04 17:08:11 +04:00
Admin
b1cda13c96 🚀 Upgrade Web Panel: Integration with Mutt and G-Drive Sync automation 2026-04-29 12:07:34 +04:00
Admin
827bc97e92 feat: 🎙️ AI Voice & Video recognition enabled via Faster-Whisper. Fix ffprobe path issues in systemd. 2026-04-22 16:36:40 +04:00
Admin
1d5752dfd4 FEAT: Voice Recognition (Whisper Small) for owner - v4.1 2026-04-22 12:42:37 +04:00
Admin
f7c06fd471 FEAT: Full AI Automation (Mail -> PDF -> Drive -> WebUI) [fixed venv bloat] 2026-04-20 19:52:54 +04:00
Admin
f4ac98c6f4 SAVE: Backup before Google Drive integration 2026-04-20 12:13:52 +04:00
Admin
d068e8137f FIX: Полное восстановление веб-панели, фикс экспорта JSON, исправление путей PATH в системных юнитах и обновление шаблонов 2026-04-18 23:22:41 +04:00
Admin
98fa1c2711 Fix duplicate processes, fix JSON export models, fix timezone to Ulyanovsk 2026-04-18 21:56:22 +04:00
Admin
27729ab512 📄📷 fix: Отправка фото + документа отдельными сообщениями
- Telegram не поддерживает фото+документ в одном сообщении
- Теперь отправляются 2 сообщения: документ + фото
- Исправлен UI — фото не очищается при выборе документа
- Исправлена сериализация chat_id (int → str)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-13 22:50:40 +04:00
Admin
54e8cea522 📄 feat: Отправка документов (PDF, DOCX, XLSX...) через веб-панель
Новый функционал:
- Загрузка документов через веб-панель (10 форматов)
- Отправка в любую тему форума по расписанию
- Поддержка: PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX, TXT, ZIP, RAR
- Отправка в чат и/или всем верифицированным жильцам
- UI: превью документа, кнопка удаления

Изменения:
- database/models.py: document_file_id, document_name поля
- database/migrate_v3_4_documents.py: миграция БД
- web/app.py: API endpoint с загрузкой документов
- services/scheduler.py: отправка документов по расписанию
- web/templates/scheduled_posts.html: UI для загрузки документов

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-13 21:51:52 +04:00
Admin
23ee551271 🛡️ feat: Система защиты от случайных рассылок
Техническая защита:
- services/safety_guard.py — модуль безопасности
- config.py — SAFETY_MODE переменная
- main.py — инициализация при запуске
- .env.example — документация настройки

Документация для AI-агентов:
- AI_AGENT_RULES.md — полные правила поведения
- КРИТИЧЕСКИЕ-ПРАВИЛА.md — обновлено с Правилом №4

Как работает:
- SAFETY_MODE=production — обычная работа
- SAFETY_MODE=safe — блокировка отправок в общий чат
- Логирование всех заблокированных попыток
- Декоратор @require_production_mode

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-12 18:57:42 +04:00
Admin
9033310cfa 📰 fix: Исправлена генерация дайджеста
- Добавлен API endpoint /api/digest/generate
- Исправлена JS функция generateNow() — теперь реально вызывает API
- Превью отправляется админу в Telegram после генерации
- Время авто-генерации изменено на 19:00 Ульяновск (15:00 UTC)
- Проверка на дубликаты за ту же неделю

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-12 18:26:27 +04:00
Admin
9a8dafba27 🕐 fix: Локальное время UTC+4 (Ульяновск) во всех страницах панели
- Добавлены функции to_local() и fmt_local()
- Время рассылок теперь 17:55 вместо 13:55
- Время прочтений в локальном поясе
- Время запланированных постов исправлено
- Время дайджестов исправлено

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-12 18:12:52 +04:00
Admin
07d7a51f10 🚨 fix: Критические исправления рассылок
- Глобальный синглтон бота (bot_instance.py) — работает из любого процесса
- Прямые HTTP запросы в send_smart_broadcast — нет ошибки Timeout context
- Исправлен joinedload в InitiativeGroupService
- Удалён дубликат route /broadcast
- Удалена страница /broadcasts — всё в одном месте с табами
- Удалён /api/broadcast/send — дублировал /api/broadcast/create
- Добавлен dry_run режим для тестирования без отправки
- Двойное подтверждение перед реальной рассылкой
- Добавлен файл КРИТИЧЕСКИЕ-ПРАВИЛА.md

Инцидент: тестовая рассылка ушла реальным пользователям

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-12 17:57:18 +04:00
Admin
222c2ba521 🚀 feat: V3.1 - Smart broadcasts with read tracking + Weekly digests with approval workflow
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-06 23:01:10 +04:00
Admin
ccc816ce4f 🕐 fix: локальное время UTC+4 + защита от дублирования постов
- Timezone: веб-панель показывает локальное время (UTC+4, Ульяновск)
- Timezone: конвертация UTC → локальное при отображении
- Duplicate fix: промежуточный статус 'sending' в БД
- Duplicate fix: только один процесс берет пост
- UI: подсказки 'По твоему времени (UTC+4)'
- Тест: пост 5 опубликован ровно 1 раз 

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-05 22:37:35 +04:00
Admin
63d059ddb0 fix: timezone конвертация + general topic fix
- Timezone: конвертация в UTC вместо простого удаления tzinfo
- General topic: не добавлять message_thread_id для topic_id=1
- Telegram API требует БЕЗ message_thread_id для общего чата
- Тест: пост 3 успешно опубликован
- Исправлены 2 критические ошибки планировщика

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-05 22:09:05 +04:00
Admin
fc06ec4a12 v1.3 - Scheduled Posts: отложенная публикация постов по расписанию
- Новая страница /scheduled_posts в веб-панели
- Создание постов с фото/текстом в любую тему форума
- Планирование даты и времени публикации
- Автоматическая отправка по расписанию (каждую минуту)
- Поддержка всех 10 тем форума
- Уведомления админа о публикации/ошибках
- Миграция БД: таблица scheduled_posts
- Тесты: test_scheduled_posts.py

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-04-05 15:52:47 +04:00
Admin
fc7484889c feat: Веб-интерфейс - логин/пароль в .env + API команд
 WEB_ADMIN_LOGIN/PASSWORD в .env.example
 Конфиг web_admin в config.py
 API /api/command - выполнение команд
 API /api/commands - список команд
 Обновлён web_server.py с конфигом

📦 Бекап: backups/versions/v2.1.2_web_auth_2026-02-28/

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-28 20:28:31 +00:00
Admin
19c5fdd0ac feat: v2.1 - Инициативная группа
 Модель InitiativeGroup в БД
 Сервис initiative_group.py
 Хендлеры: /ig_add, /ig_remove, /ig_list, /ig_stats, /ig_check, /ig_broadcast
 Декораторы для ИГ
 Миграция v2.1 выполнена

📦 Бекап: backups/versions/v2.1_initiative_group_2026-02-27/

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-28 10:11:36 +00:00
Admin
ba4676b0af v1.0 MVP - Инициализация проекта 🏠
 Регистрация и верификация жильцов
 Рейтинг активности (уровни)
 Детект шпионов (Score 0-100)
 Анти-мат система (3 предупреждения → бан)
 Админ-панель с рассылкой
 Учёт квартир (несколько жильцов)
 Телефоны экстренных служб и мастеров
 Еженедельный экспорт JSON
 Прокси (socks5) для обхода РКН

Бекап: backups/versions/v1.0_mvp_2026-02-26/

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-27 10:54:16 +00:00