Commit Graph

8 Commits

Author SHA1 Message Date
@kirill.komarov 0565767f3c test 2026-06-12 12:42:23 +05:00
@kirill.komarov d8ce49ba28 test 2026-06-12 12:39:46 +05:00
@kirill.komarov 31ee9cfec8 test 2026-06-12 12:32:56 +05:00
@kirill.komarov 62686ad834 test 2026-06-12 12:24:56 +05:00
Комаров Данил Анатольевич 6 0028362e16 Вставка изображений из буфера обмена, исправление цикла переподключений, сохранение файловых сообщений
- Вставка изображений через Ctrl+V в MessageInput (onPaste на контейнере)
- Inline auto-login с cleanup для StrictMode + readyState guard (fix цикла реконнекта)
- Удаление data файлов при сохранении в localStorage (избегаем QuotaExceededError)
- Показ имени файла вместо ошибки для сообщений из истории без data
2026-05-29 16:33:34 +03:00
Комаров Данил Анатольевич 6 5a6f92ede6 Добавлены закреплённые сообщения, сохранение истории и авто-переподключение
- Закрепление/открепление сообщений (сервер + клиент)
- Сохранение истории сообщений в localStorage (до 50)
- Сохранение логина/пароля в localStorage и авто-вход
- Авто-переподключение при разрыве соединения WebSocket
2026-05-29 15:57:18 +03:00
Комаров Данил Анатольевич 6 63bf73d2c4 Полный рефакторинг сервера и клиента, голосовые сообщения, аудио/видео, Docker
Сервер:
- Вынесена конфигурация в server/config.js (порт, размер файла из env)
- Вынесена аутентификация в server/auth.js (загрузка users.json, authenticate())
- Вынесено управление соединениями в server/clients.js (createJsonSender, broadcast, validateFile)
- server/server.js стал точкой входа — минимальный код

Клиент:
- Вынесены хуки: hooks/useWebSocket.js (WebSocket + auth), hooks/useChatMessages.js (сообщения + уведомления)
- Вынесены утилиты: utils/blob.js (base64 → Blob URL), utils/linkify.jsx (URL → ссылки), utils/notify.js (звук + favicon)

Новые функции:
- VoiceRecorder — запись голоса через MediaRecorder, отправка как файл
- Аудио/видео плеер в Message (audio/*, video/* с controls)
- URL linkification — http/https ссылки автоматически кликабельны
- Звуковое уведомление (Web Audio API) при сообщении на неактивной вкладке
- Красная точка на favicon при непрочитанных сообщениях

Инфраструктура:
- docker-entrypoint.sh: авто-перезапуск Node.js сервера при падении
- Обновлён README.md: новая структура проекта, список функций, примеры
- Кастомный тонкий скроллбар в Message.css
2026-05-29 05:23:22 +03:00
Комаров Данил Анатольевич 6 83ef0d5ab3 init 2026-05-29 04:59:58 +03:00