# Migration Status

Источник переносимого клиента:
- `G:\Repos\Massenger\src\Ikar.Client`
- `G:\Repos\Massenger\src\Ikar.Client\Platforms\Android`

## Уже поднято в Kotlin-проекте
- Gradle/AGP/Compose проект
- Session storage
- HTTP API client
- Прямой update manifest через Argus
- Phone auth:
  - `request-code`
  - `verify-code`
  - рабочий login screen
- Chats screen
- Chat screen
- Realtime SignalR для:
  - `MessageCreated`
  - `MessageUpdated`
  - `ChatCreated`
  - `ChatsChanged`
  - `AppUpdateAvailable`
  - `IncomingCall`
  - `CallConnected`
  - `CallEnded`
  - `CallOffer`
  - `CallAnswer`
  - `CallIceCandidate`
- Push/notification контур:
  - Firebase manual bootstrap from `firebase.android.json`
  - FCM token refresh service
  - device registration to `/api/push/devices`
  - Android notification channels
  - notification display for message/update/call pushes
  - живая push-проверка на телефоне
- Call state manager
- Call overlay screen
- Исходящий audio/video call signaling через SignalR
- Android WebRTC media pipeline для звонков:
  - `PeerConnectionFactory`
  - `PeerConnection`
  - audio track capture/playback
  - video capturer и renderer для call screen
- Profile screen:
  - загрузка `me`
  - редактирование display name / about
  - upload/delete avatar
- Contacts screen
- Discover screen
- Forward screen
- Settings root screen
- Notification settings screen
- Bots list screen
- Bot editor screen:
  - create
  - update
  - commands
  - regenerate token
  - open direct chat with bot

## Остаётся перенести
- Media viewer / attachments upload
- Voice notes
- User profile screen для чужого пользователя
- Полный settings tree из MAUI-клиента
- Group/channel creation flow в Discover
- Runtime permission flow для microphone/camera/read contacts в полном UX-виде
- Чистую Firebase default initialization без warning в логах
- End-to-end верификацию media calls на авторизованном Kotlin-клиенте

## Следующий практический этап
- проверить новые Kotlin-экраны вручную на телефоне
- затем перенести:
  - media viewer
  - attachments upload
  - voice notes
  - user profile
  - полный settings tree
