Skip to content

Feature/expect actual isolation#386

Open
den3000 wants to merge 17 commits into
feature/aurora-supportfrom
feature/expect-actual-isolation
Open

Feature/expect actual isolation#386
den3000 wants to merge 17 commits into
feature/aurora-supportfrom
feature/expect-actual-isolation

Conversation

@den3000

@den3000 den3000 commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Общий MR со всеми изменениями перед интеграцией авроры, что здесь сделано

Подготовка

  1. Поправил gitignore, чтобы мы xcode данными не мешались
  2. Завёл папочку и немножко скриптов, чтобы быстро всё это запускать локально, в докере. Если вы такое не приветствуете, скажите, я дропну комит, просто локально у себя на машине оставлю.
  3. Пришлось немножко обновить код, ибо iOS версия не собиралась
  4. Дальше обновил зависимости под нужные версии (на которых я тестировал, что всё норм с авророй) и управлением ими (чтобы всё было жёстко централизовано через каталог версий, ибо на авроре там придётся много трюков с переключением) делать.
  5. Ну ещё calf ui пришлось обновить, а то с новым котлином старая версия не работала, крашилась.

Замена Decompose на ComposeNavigation / ViewModel / Koin

Всё это было сделано только для таргета tablet, так что в основном проекте, где decompose ещё был, то он там так и остался, старался максимально сократить импакт на кодовую базу. Из необычных моментов:

  1. Все экраны и диалоги это явные независимые точки в графе навигации, без каких-нибудь там state-based рекомпозиций
  2. DI везде по сути перешёл на inject через параметры конструктора

Изоляция через expect actual

  1. Настройки закрылись за интерфейсом settingsStore, остальное разруливание через KOIN
  2. FCM пока что просто по плотнее спрятал в android трагете, на знаю пока что, что с ним делать будем в итоге, главное чтобы сейчас не мешал.
  3. Ну и CalfUI тоже растащил через expect actual

den3000 and others added 17 commits July 14, 2026 07:28
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Move calf out of the shared kmp.ui classpath into bookingEditor's
android/ios source sets; drop the composeApp iOS-framework calf export.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Drop the SettingsManager static singleton; SettingsManager and its
SettingsStore are koin singles now. Android supplies its context and
FCM module through a KoinAppDeclaration (androidContext(applicationContext)
+ modules(firebaseTopicsModule)); the android actual resolves Context
from koin, the ios actual builds KeychainSettings. Consumers inject
SettingsManager instead of SettingsManager.current().

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@den3000 den3000 self-assigned this Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant