73 Commits

Author SHA1 Message Date
lizerk
dac0234007 Enforce repository-wide code quality 2026-09-07 19:43:48 +03:00
lizerk
efd4a84c89 Update application functionality and supporting components 2026-09-07 16:59:38 +03:00
lizerk
cd64ee4ef7 Add project analytics and improve commerce integrations 2026-09-07 12:23:15 +03:00
lizerk
156b649b04 Complete commerce synchronization and realtime updates 2026-08-18 09:10:40 +03:00
lizerk
a041d4844a Add product-centric commerce analytics core 2026-08-17 17:16:42 +03:00
lizerk
45e6ad3fe1 feat(ui): configure compact panel behavior 2026-08-12 13:16:40 +03:00
lizerk
2fec931bda improve requests workspace and notifications 2026-08-07 14:36:59 +03:00
lizerk
02311f5ead refactor authentication session recovery 2026-08-06 09:27:15 +03:00
lizerk
0dad6b84de refactor task and messenger workspaces 2026-08-05 16:43:43 +03:00
lizerk
f8919dcdbd refactor(messages): persist workspace across routes 2026-08-05 14:27:57 +03:00
lizerk
8914f1998f fix(messages): stabilize focused workspace layout 2026-08-05 12:17:31 +03:00
lizerk
6084bb695c feat(messages): add focused desktop workspace 2026-08-05 11:39:25 +03:00
lizerk
02c72089a0 feat(tasks): expand board collaboration and notifications 2026-08-05 09:34:15 +03:00
lizerk
b9829a613e feat(documents): refine regulations workflow and notifications 2026-07-22 22:34:26 +03:00
lizerk
716c8337de feat(finance): add native payroll management 2026-07-20 14:00:15 +03:00
lizerk
bb1694c584 feat(finance): add payroll core and management workspace 2026-07-17 23:35:29 +03:00
lizerk
df2377431d feat: expand documents tasks and procurement workflows 2026-07-17 14:09:06 +03:00
lizerk
b9598c2731 feat(tasks): add notifications and wide board mode 2026-07-16 17:22:43 +03:00
lizerk
c0cff00e82 Add task links for feed posts and board defaults 2026-07-06 23:17:45 +03:00
lizerk
cb5b520e01 feat: add task board module 2026-07-06 13:47:03 +03:00
lizerk
cd3e52e1e9 feat: complete guest module 2026-06-22 15:01:28 +03:00
lizerk
32500e3037 chore: checkpoint current project changes 2026-06-20 10:47:00 +03:00
lizerk
d0f1fcacf3 Stop auto-reading procurement notifications 2026-06-02 16:38:16 +03:00
lizerk
3725975604 закомитил оборудование 2026-05-14 16:38:44 +03:00
lizerk
c5c4e1f725 Adjust app shell top spacing 2026-05-14 16:03:50 +03:00
lizerk
8e11b7fbba Improve attendance reporting and event details 2026-04-22 18:09:09 +03:00
lizerk
78e758aedf Add LogStorm attendance UI 2026-04-21 15:56:10 +03:00
lizerk
87122c6b02 Fix mobile search submission 2026-04-20 08:09:29 +03:00
lizerk
c977a012f8 feat: add push notification onboarding prompt 2026-04-16 22:17:56 +03:00
lizerk
2e4975a901 feat: add installable pwa baseline 2026-04-16 20:04:21 +03:00
lizerk
933611a757 Use fixed desktop rails in chat view 2026-04-15 01:00:44 +03:00
lizerk
c481401b87 Fix desktop sidebar viewport clipping 2026-04-15 00:54:42 +03:00
lizerk
79b3c29594 возврат 2026-04-15 00:40:25 +03:00
lizerk
f300bdc02d fix(layout): refactor desktop shell rails 2026-04-15 00:20:32 +03:00
lizerk
14d21fb297 fix(ui): pin desktop calendar sidebar 2026-04-14 23:56:37 +03:00
lizerk
c8683349c4 fix(ui): pin desktop nav and soften chat jump button 2026-04-14 23:55:09 +03:00
lizerk
59b735d549 fix(layout): align chat side columns with fixed header 2026-04-14 23:35:28 +03:00
lizerk
8f103e6768 fix(layout): stabilize fixed header chat shell 2026-04-14 23:28:49 +03:00
lizerk
35a7250183 refactor(ui): polish chat, requests, and profile actions 2026-04-14 23:11:32 +03:00
lizerk
70d2c55348 refactor(ui): polish department feed and mobile nav placement 2026-04-14 19:11:17 +03:00
lizerk
3a70060a62 fix(frontend): normalize avatar fallback initials 2026-04-13 16:05:23 +03:00
lizerk
f5a908e443 feat(auth): restore password reset flow and polish auth UI 2026-04-12 02:05:13 +03:00
lizerk
6585be7764 chore(frontend): hide finances nav item 2026-04-11 20:45:01 +03:00
lizerk
601f0d58d8 chore(frontend): checkpoint current theme polish state 2026-04-11 19:30:22 +03:00
lizerk
deca5a84ff Polish mobile chat layout spacing 2026-04-03 12:42:41 +03:00
lizerk
0a71d6a3c9 Read notifications for opened chat 2026-04-02 11:26:09 +03:00
lizerk
3ca4d108b6 refactor: split monolithic api.ts into domain modules, extract AppShell calendar/mobile concerns
- Split frontend/src/lib/api.ts (2042 lines) into 12 focused domain modules:
  client.ts (base HTTP/auth), calendar.ts, documents.ts, employees.ts,
  equipment.ts, feed.ts, messages.ts, notifications.ts, procurement.ts,
  requests.ts, utils.ts, and index.ts barrel that preserves all existing imports
- Extract calendar modal state from AppShell into useCalendarModals hook
- Extract CalendarModals and MobileDrawers into components/layout/
- AppShell: 745 → 460 lines, focused on layout concerns only
- Fix setState-in-effect lint error with startTransition pattern
- Stabilize notifications memo to prevent unnecessary re-renders
- Fix flaky WS test: handle CancelledError in channels-testing cleanup
- All 609 backend tests pass, TypeScript typecheck clean, ESLint clean
2026-04-01 15:56:10 +03:00
lizerk
3d4416615e . 2026-03-31 17:09:29 +03:00
lizerk
f28eda6929 feat: Улучшения страницы сотрудника и миграция на ChatMembership
Backend:
- Полная миграция на ChatMembership для всех типов чатов
- Удалены проверки participants M2M поля
- Добавлена обработка participants при создании чатов
- API методы для создания/редактирования/удаления кадровых событий

Frontend:
- Редизайн страницы пользователя с lucide-react иконами
- Добавлено редактирование профиля (ФИО, контакты, аватар)
- Функциональные кадровые события (создание/редактирование/удаление)
- История кадровых событий с цветовой кодировкой
- Исправлено создание дубликатов чатов (поиск по member_ids)
- Удалены визуальные статусные индикаторы (is_active ≠ online)
- Добавлен статус сотрудника из последнего action

Fixes:
- type 'private' вместо 'direct' для личных чатов
- ChatMembership проверки в user_can_access_chat()
- member_ids в ChatListSerializer для поиска чатов
2026-03-16 18:21:24 +03:00
lizerk
80cdc36d92 fix: исправлена система прав доступа к чатам и сообщениям
Backend:
- Исправлен user_can_access_chat() для поддержки context-based чатов
- Обновлен is_chat_member() для использования get_participants()
- Добавлена проверка has_send_messages_permission (блокирует гостей)
- Исправлен MessageViewSet.get_queryset() для комментариев
- Добавлена поддержка Feed Post resolver в resolve_chat_participants()
- Чаты типа 'comments' исключены из общего списка
- Добавлены permissions для mark_read, messages, messages_around
- Добавлена команда manage_chat_permissions для управления ролями

Frontend:
- Скрыто поле ввода сообщений для гостей (role='guest')
- Добавлена проверка can_send_messages из membership
- Показывается информативная заглушка для пользователей без прав

Tests & Docs:
- Добавлены тесты для guest роли (send_message + reactions)
- Документация по ролям и правам в чатах
- Troubleshooting guide для отладки permissions

Fixes:
- 403 при доступе к чатам-комментариям
- 404 при удалении/редактировании комментариев
- Комментарии в общем списке чатов
- Гости могли отправлять сообщения
2026-03-12 14:30:25 +03:00