АРХИТЕКТУРНЫЙ РЕФАКТОРИНГ: ✅ Убрано дублирование логики Chat.participants vs ChatMembership.is_active ✅ Теперь единственный источник истины - ChatMembership.is_active ✅ Исправлен баг с изменением ролей (роли не отображались после изменения) ИЗМЕНЕНИЯ: Backend (viewsets.py): - get_queryset: мигрировано на memberships__is_active=True - create: убрано participants.add, только memberships - leave/remove_member: только is_active=False + left_at - add_member: восстанавливает is_active=True если был False - change_role: явно устанавливает is_active=True + left_at=None Backend (serializers.py): - Убрано поле participants из ChatDetailSerializer - get_participant_details: через memberships.filter(is_active=True) - get_participant_names: через memberships Backend (models.py): - get_participants(): только через ChatMembership.is_active=True - __str__(): получаем участников через memberships - participants помечен как устаревший (в комментариях) Backend (rules.py): - is_member_of_chat: только ChatMembership.is_active=True - has_send_messages_permission: убран fallback на participants Миграции: - Создана 0038: убирает 'owner' из choices, очищает help_text - Исправлены зависимости в requests_app/documents/feed 0010/0014/0006 (заменили __latest__ на конкретную версию 0037) - Создан management command migrate_participants_to_memberships (перенос данных participants → memberships) Frontend: - Добавлено оптимистичное обновление UI при изменении ролей - Детальное логирование для диагностики Тесты: - test_change_role_improved.py: проверка изменения ролей с задержкой - Обновлен test_chat_roles.py Удаление устаревшей документации: - Удалены старые отчеты из docs/ (73 файла) - Сохранены актуальные руководства ИСПРАВЛЕННЫЙ БАГ: До: При изменении роли is_active оставался False → membership не попадал в filter(is_active=True) → исчезал с фронтенда После: Явно устанавливаем is_active=True при любом действии с членством
Документация проекта EUSRR
Эта папка содержит всю документацию проекта, организованную по категориям.
📁 Структура
completed/
Завершенные задачи: рефакторинги, исправления, реализованные фичи (22 файла)
guides/
Активные руководства и инструкции для разработчиков (гайды по валидации, миграции, настройке)
architecture/
Архитектурная документация и анализ систем (рендеринг чата, архитектура страниц)
diagnostic/
Диагностические руководства (WebSocket 1006, отладка проблем)
in-progress/
Активные задачи в разработке (закупки, получатели заявок, календарь)
reports/
Отчеты и аудиты проекта (реорганизация документации, план очистки)
📝 Главная документация
- README.md - основная документация проекта
- docs/reports/ - отчеты и планы по проекту
🔍 Поиск информации
- Завершенные фичи →
completed/ - Как настроить X →
guides/ - Как работает Y →
architecture/ - Проблемы с Z →
diagnostic/ - Что в разработке →
in-progress/ - Отчеты и аудиты →
reports/
Description
Разработка — в develop; локальный CI работает через Git hooks и quality gates перед коммитом/пушем. После проверки — слияние в master. Push в master запускает blue-green деплой на CORP через Gitea Actions и Telegram-отчёт. Статус деплоя — «Действия».
https://corp.robotail.pro/
Readme
86 MiB
Languages
Python
47.6%
TypeScript
29.8%
JavaScript
15.7%
HTML
4.1%
SCSS
2.1%
Other
0.7%