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
|
567e5fd14a
|
fix: wrap top-level await in main() for CommonJS compatibility
|
2026-05-22 11:16:23 +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 |
|