Commit Graph

8 Commits

Author SHA1 Message Date
Ai
3f54dbf375 feat: avatar upload for profile/chats, fix session persistence on refresh
- Profile modal: upload/remove user avatar, edit name/bio/phone, change password
- Chat info panel: upload/remove chat photo (owner/admin only)
- Avatar component: render photo when available, fallback to initials
- Session fix: initialize Zustand store from localStorage to prevent redirect on refresh
- Backend: avatar upload endpoints for users and chats, migration adds avatar columns

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-22 11:55:11 +03:00
Ai
01331d0263 fix: error boundary, fix MessageInput import order, fix favicon SVG->PNG 2026-05-22 11:38:50 +03:00
Ai
4045d6b796 feat: add PWA icons (192px, 512px, apple-touch-icon) 2026-05-22 11:22:41 +03:00
Ai
7f80e0310c fix: vite-env.d.ts for import.meta.env types, fix isOnline boolean cast 2026-05-22 11:19:36 +03:00
Ai
f12f4a4b68 fix: TypeScript errors — declare authenticate, fix WebSocket types 2026-05-22 11:13:44 +03:00
Ai
941a526f3b fix: use relative API URLs — all traffic through janichat.ru nginx 2026-05-22 11:09:50 +03:00
Ai
3da9a5949d fix: pass VITE_API_URL as build arg in Dockerfile 2026-05-22 11:08:06 +03:00
Ai
1cabe9d04f feat: initial JaniChat messenger — PWA, WebSocket, admin panel 2026-05-22 11:06:43 +03:00