Commit Graph

  • b095d20852 feat: passwordless SMS-only auth (login + registration) main Ai 2026-05-25 15:54:05 +03:00
  • dbf328b197 feat: remove global admin, open registration, clear DB seed Ai 2026-05-25 15:45:59 +03:00
  • 2fd6b14e1a feat: SMS verification via SMSC.ru for registration Ai 2026-05-25 15:17:49 +03:00
  • 2c362c06cd feat: registration, phone mask, username change Ai 2026-05-25 15:09:32 +03:00
  • 63f280f754 fix: message actions per-tap only, image sizing, notification sound Ai 2026-05-25 14:59:32 +03:00
  • f4a1187fdf fix: re-sort chat list after pin so pinned chats move to top Ai 2026-05-23 18:06:52 +03:00
  • 3a8c5be1ae fix: swipe stays open for button tap, loading skeleton for chats Ai 2026-05-23 18:02:23 +03:00
  • 9262ece939 feat: swipe gestures, pin/mute, last seen, emoji fix, push/rename fixes Ai 2026-05-23 17:08:18 +03:00
  • 20daa2ca2f fix: read receipts (single/double check), push notifications for all users Ai 2026-05-22 13:47:38 +03:00
  • 86073c0549 fix: use connection.socket (ws.WebSocket) instead of Duplex stream for message handling Ai 2026-05-22 13:38:14 +03:00
  • 21edd7f7a3 fix: make WS handler synchronous — async handler breaks socket.on('message') in @fastify/websocket v8 Ai 2026-05-22 13:31:21 +03:00
  • 71b961ac2b debug: log WS messages to diagnose send issue Ai 2026-05-22 13:26:19 +03:00
  • 210d4302e7 fix: check can_send_messages === false instead of !can_send_messages (null blocks messages) Ai 2026-05-22 13:15:30 +03:00
  • 0ee3ead826 fix: repeat subquery in ORDER BY instead of using alias (PostgreSQL doesn't resolve SELECT aliases inside COALESCE) Ai 2026-05-22 13:10:42 +03:00
  • c1cf15a67c fix: remove fullChat local state, use activeChat directly to prevent desync Ai 2026-05-22 12:58:26 +03:00
  • c84f4a34e1 docs: add project README with API, architecture, deploy instructions Ai 2026-05-22 12:50:01 +03:00
  • 87c6d7f82f fix: message sending fallback + iOS zoom on input + openOrCreatePrivate Ai 2026-05-22 12:44:42 +03:00
  • 2a4b7d5abc fix: open private chat from sidebar search Ai 2026-05-22 12:32:06 +03:00
  • 5d3be2a628 fix: private chat creation and search in NewChatModal Ai 2026-05-22 12:22:32 +03:00
  • 8e5c4cd67d feat: phone login, position badge, logout in profile, global search, admin chats Ai 2026-05-22 12:17:46 +03:00
  • 8993a9f6ce feat: diamond app icon + fix login page vertical centering on mobile Ai 2026-05-22 12:03:27 +03:00
  • 3f54dbf375 feat: avatar upload for profile/chats, fix session persistence on refresh Ai 2026-05-22 11:55:11 +03:00
  • 01331d0263 fix: error boundary, fix MessageInput import order, fix favicon SVG->PNG Ai 2026-05-22 11:38:50 +03:00
  • 4045d6b796 feat: add PWA icons (192px, 512px, apple-touch-icon) Ai 2026-05-22 11:22:41 +03:00
  • 7f80e0310c fix: vite-env.d.ts for import.meta.env types, fix isOnline boolean cast Ai 2026-05-22 11:19:36 +03:00
  • 567e5fd14a fix: wrap top-level await in main() for CommonJS compatibility Ai 2026-05-22 11:16:23 +03:00
  • f12f4a4b68 fix: TypeScript errors — declare authenticate, fix WebSocket types Ai 2026-05-22 11:13:44 +03:00
  • 941a526f3b fix: use relative API URLs — all traffic through janichat.ru nginx Ai 2026-05-22 11:09:50 +03:00
  • 3da9a5949d fix: pass VITE_API_URL as build arg in Dockerfile Ai 2026-05-22 11:08:06 +03:00
  • 1cabe9d04f feat: initial JaniChat messenger — PWA, WebSocket, admin panel Ai 2026-05-22 11:06:43 +03:00