Files
plans/kmp/2026-Q1.md
Михаил Капелько ae5de12736 sync
2026-04-10 15:40:59 +03:00

36 KiB
Raw Blame History

HOLD: https://jira.iva.ru/browse/VCSMOB-14365 HOLD: [KMP] Решить проблему лишних diff в obkom

https://jira.iva.ru/browse/VCSMOB-14386 [iOS One] Сделать новую комбинацию с изменениями Connect 24.0

09.04:

  • обдумать решение проблемы мостового кода можно начать сначала с combo ибо запросесть на обновление iva meet а затем уже повторить для obkom
  • оформить задачу поддержки IvaMeet на 2-й кв. 2026
  • изучить obkom!56,57,58
  • сделать latest с v039
  • оформить ЗС-1 https://git.hi-tech.org/mobile/apple/combo/-/merge_requests/59
  • влить ЗС-1
  • сделать latest с v040
  • оформить ЗС-2 https://git.hi-tech.org/mobile/apple/combo/-/merge_requests/60
  • влить ЗС-2

===

https://jira.iva.ru/browse/VCSMOB-14236 [KMP] Подготовить первый ЗС в Android Connect

01.04:

  • собрать последнюю версию KOM Android
  • понизить openjdk до 21 иначе Gradle 8.12 жалуется и Anroid Connect не патчится
  • найти версию Android от Саши Беспалова в чате Всемобильный Android 9 это SDK 28 а мы понизили до SDK 26
  • подготовить ЗС в Android Connect описать кратко изменения сделать демку https://git.hi-tech.org/mobile/ucim-android/-/merge_requests/4471

===

https://jira.iva.ru/browse/VCSMOB-14071 [КМП] Создать заготовку версии для десктопа

27.03:

26.03:

  • вызывать processOneliners из класса изучить https://stackoverflow.com/questions/12662891/how-can-i-pass-a-member-function-where-a-free-function-is-expected может, надо просто не делать EffectRegistry? т.е. сделать это частью компоненты? если сделать статичным метод, то как-будто всё сходится да, статичная функция работает
  • придумать схему со статичной функцией компонента сделать компонент статичным? тогда можно будет обращаться к items статичного класса и всё итог: генерить EffectRegistry для каждого компонента свой
  • ввести HWEffectRegistry
  • вызывать эффекты с ручной обёрткой
  • передавать значение isVisible в VM
  • передавать значение greetingText в VM
  • добавить кнопки
  • убрать myapp/App.*
  • перенести тело hwSet в KT внутри класса API

25.03:

  • создавать hw ctrl в SDK
  • ввести hwSet() добиться вывода в консоль отладки
  • зарегистрировать oneliners
  • ввести KDCtrl.registerCallbackC
  • вызывать processOneliners free func

24.03:

  • подправить скрипты сборки и запуска
  • ввести VM с полями для QML
  • сделать заготовку SDK
  • починить serializable
  • сделать копирование файлов android -> desktop sdk ignore.* сделал пока лишь для apiConst.kt
  • линковать SDK к бинарю
  • заигнорить kd.kt/swift? переименовав в tech.? generated.? copy.? ignored.? ignore.? ignore. хорошо выглядит сейчас нет смысла, ибо работает для мака пусть будет для новых платформ лишь далее - унифицируем

21.03: 90

  • сделать заготовку HW Qt для w10 x64 config не проходит
  • проверить проект qt-kt тоже не собирается возможно, всё из-за qt6 static надо пересоздать винду
  • переустановить заново винду
  • сохранить снимок сразу после msys2 после установки msys2 и копирования проекта до установки qt проблема была в неверной версии cmake! надо было ставить не просто cmake а mingw w64 x86_64 cmake!

20.03:

  • настроить VPN-IKE в Windows? не нужно сеть в VM локальная, всё доступно их хоста
  • склонировать KOM в Windows посмотреть, будут ли жалобы сразу на симлинки жалоб нет, но в файлах просто пусть относительный под виндой просто не будет работать, выходит
  • сделать HW Qt для mac x64

19.03:

  • перекинуть W10 на Mac
  • скачать W10
  • установить W10 в VBox
  • установить msys2 https://wiki.qt.io/MSYS2 pacman -Sy pacman --needed -S bash pacman pacman-mirrors msys2-runtime pacman -Su
  • установить qt https://wiki.qt.io/MSYS2 √ pacman -S base-devel git √ pacman -S mingw-w64-x86_64-toolchain √ pacman -S mingw-w64-x86_64-qt6-static √ pacman -S cmake

===

https://jira.iva.ru/browse/VCSMOB-14005 [КМП] Ввести F для работы с полями в шудах

16.03: 16:55-

===

https://jira.iva.ru/browse/VCSMOB-13778 [KMP] Создать пару комбинаций для Android

04.03: 235

  • переименовать KOM.kt иначе путаница сейчас в шагах есть copyKOM есть cloneKOM имя Bridge.kt? KOMBridge.kt!
  • поправить KOMBridge в v001
  • отполировать KOMBridge
  • обновить версию Android Connect be01f725 2026-03-04
  • обновить KOM 1f6a5014 2026-02-10
  • сделать демо
  • оформить ЗС отметить v002 в README https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/2
  • сообщить о ЗС Сливаю ЗС о комбинации v002 на основе KOM!27 в Android Connect: https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/2 √ 415, main, >=2
  • влить ЗС
  • таблица КЗС
  • передать Олегу доведение от !27 до текущего KOM
    • починить web socket / comet
    • починить ресурсы
  • изучить текущее состояние KOM на Android и iOS
  • переименовать cld/entities.yml -> kd.yml
  • найти причину 5dd60a7e
  • обновить скрипт
  • ввести KD/Klin для F.fields
  • починить Android
  • добавить в README: brew install node

03.03: 200

  • выбрать проект из iva-combo
  • спросить у Cursor обновить Kotlin до 2.2.0 а то даже Coil не заводится да и прочее у меня тоже не заводится не удалось за 1.5ч
  • откатить
  • проверить запуск после отката
  • попробовать поднять Kotlin хотя бы до 2.1.20 coil 3.2.0 зависит от kotlin 2.1.20 кажется, получилось
  • проверить необходимость изменений classpath в app/build.gradle как-будто не надо
  • проверить необходимость resolution strategy в android-app/build.gradle вернул ибо не собирается
  • проверить gradle.properties: k2 = false без них собралось
  • изменения на 2.1.20 затянуть
  • добавить coil3 добавить сначала в conference-connect/build.gradle после чего просто собрать без раскомментирования авы
  • отобразить настоящие авы

02.03: 180

  • ввести do-tmux
  • сделать пути стандартным $AND_CON_DIR/android-app/conference-connect/src/main/java/su/ivcs $KOM_DIR/ver-android/app/src/main/kotlin/ru/iva
  • скопировать ava*
  • скопировать VM
  • скопировать cont*
  • import su.ivcs.conference_connect.R
  • вставить полностью cont* в KOM.kt
  • запустить компоненты ava, cont
  • отобразить contUI без данных
  • передать login и host UserSessionManager.kt
  • отобразить всамделишные данные

01.03: 80

  • скопировать other*

  • проверить вызов ru.iva.other* из C7 работает

  • заменять версию языка conference-connect/build.gradle languageVersion = "2.0"

  • комментировать uuid return "1-2-3" //return Uuid.random().toHexDashString()

    /* gradle-script/versions.gradle kotlin_version 2.1.20 */

27.02: 60

  • отметить v001 в таблице README
  • сделать заготовку комбинации v002 как копию v001
  • обновить версию Android Connect до последней
  • удостовериться в работе show-diff
  • найти старую версию KOM с минимумом зависимостей https://git.hi-tech.org/ivasdk/kom/-/merge_requests/28 09.02 выделил contUI.kt хотя тут уже и аватарки есть но можно, думаю, резать тут многое нещадно даже авы, при необходимости как первый шаг, например
  • вспомнить функциональность версии KOM из !28 список контактов с пагинацией ава с изображением и незавершённой заглушкой заготовка инфы о контакте
  • сделать шаг cloneKOM

26.02: 120

25.02: 70

  • создать репу obkom для комбинаций Android/iOS Connect + KOM
  • сделать шаг cloneAndroidConnect
  • сделать шаг copyKOM

===

https://jira.iva.ru/browse/VCSMOB-13657 [KMP] Сделать черновой вариант встраивания КМП-контактов в Android Connect

20.02: 85

  • починить params.bottomToTop = R.id.bottom_navigation
  • подключить C7Overlay из KOM
    не работает починил переключение
  • вернуть переименование
  • убрать старый размазанный код из MainScreenActivity
  • отполировать KOM
  • создать видео для отчёта о недельных итогах

19.02: 215

  • отладить принтами файлы, которые трогал Cursor ибо сейчас почти работает чтобы понять движение данных файлы: ContactsMainScreenFragment.kt тут вроде как кнопку можно добавить вверху контактов MainScreenHeaderControl.kt кажется, кнопки всех экранов в одной вьюхе MainScreenHeaderAnimator.kt MainScreenActivity.kt main_screen_header.xml
  • сделать новую репу с копией ucim-android чтобы сливать без страха https://git.hi-tech.org/m.kapelko/android-fork
  • добавить игнор build
  • сделать новую ветку и запушить
  • выводить в консоль факт двойного нажатия на контакты
  • менять название вкладки на C7 и обратно на Contacts на двойное нажатие
  • изучить размещение одной View поверх другой https://eclipsesource.com/blogs/2013/09/19/crossing-boundaries-with-the-new-android-viewoverlay/
  • перекрывать текущие контакты заглушкой контактов
  • создть заготовку object KOM для размещения кода интеграции проверить скорость пересборки в app target 58с
  • сделать таргет kom? сильно муторно итог: пусть будет KOM.kt в app target
  • замерить изменения просто перезапуск без изменений: 16с изменение внутри тела функции KOM.doTest: 8м 30с
  • переместить KOM.kt в таргет conference-connect
  • замерить изменения 80с
  • продублировать частично код показа C7Overlay в KOM

18.02: 200

  • найти переключение вкладки контактов с помощью отладчика визуального https://developer.android.com/studio/debug/layout-inspector ничего не показывает дельного
  • найти MainActivity нет такого файла
  • добаить таб в таббар спросить Cursor? курсор не справился
  • добавить кнопку C7 с третьего запроса Cursor справился

17.02: 60

  • открыть проект Android Connect
  • собрать Android Connect
  • KOM-Android: сделать slideIn/Out для инфы о контакте

===

https://jira.iva.ru/browse/VCSMOB-13650 [KMP] Подготовить план разработки с закреплением владельцев

16.02: 85

  • подготовить документ с графом связей между сущностями? хрен знает пока не ясно, как это лучше объяснить возможно, лучше это сделать частью проекта Kotlin Dialect итог: не вижу, не надо делать
  • ввести
    _ACTIVE_SHOULDS и регистрацию отладки сразу внутри 
    Fun.kt
  • заменить avaCtrl().set() на avaCtrlSet.... or avaSet()??? да, пусть будет avaSet
  • заменить auth: authSetupShoulds + authSet
  • заменить cont: contSetupShoulds + contSet
  • оформить ЗС https://git.hi-tech.org/ivasdk/kom/-/merge_requests/43
  • сообщить о ЗС Сливаю ЗС о переносе регистрации шудов: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/43 √ 196, main, >=2
  • влить ЗС
  • таблица

===

https://jira.iva.ru/browse/VCSMOB-13473 [KMP] Отображать аватарки

13.02: 90

  • проверить тормоза без использования VM для начала просто проверить тормоза без Ava.View полностью в ячейках да, без lazy image то же самое еле заметно подёргивание
  • изучить изменения в ava после !34
  • подлить main
  • сделать видеозапись
  • оформить ЗС https://git.hi-tech.org/ivasdk/kom/-/merge_requests/39
  • сообщить о ЗС Сливаю ЗС по отображению изображений аватарок на iOS: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/39 √ 57, main, >=2
  • влить ЗС
  • записать в таблицу
  • сделать отчёт в чат КМП √ подготовить видео √ посчитать количество сэкономленных строк кода √ ввести скрипт

12.02: 155

  • изучить про AsyncImage https://swiftwithmajid.com/2021/07/07/mastering-asyncimage-in-swiftui/ нет возможности задать заголовки HTTP хотя я ведь могу для всех сессию задать!! нет, в shared URLSession нет возможности настройки возможно, это намеренно
  • изучить Kingfisher вместо AsyncImage https://stackoverflow.com/a/79837058/3404710 kingfisher может конфликтовать попробую сначала Nuke он очеть похож на то, что можно делать на Android
  • изучить библиотеку для отображения картинок в One Nuke вроде есть возможность задать заголовки
  • проверить текущее состояние приложений заметил лишь добавление вёрстки экрана информации о контакте на Android
  • проверить изменения в ava* с моего влития onPainterLoaded спросил у Дениса, зачем нам это надо видимо, опять какая-то неясная экономия и оптимизация
  • добавить зависимость Nuke
  • отображать квадратные изображения в iOS
  • привести изображение к круглому виду
  • завязать на состояние загрузки
  • починить расширение изображения

11.02: 105

10.02: 190

  • переиспользовать ЗС https://git.hi-tech.org/ivasdk/kom/-/merge_requests/27
  • ввести mutableState для ав чтобы из VM получать флаг для отображения заглушки в нужный момент avaShouldResetPlaceholderVisibility
  • отображать заглушку лишь до успешной загрузки лишь на неудачную загрузку изображения
  • сделать цветовую заглушку по известным функциям
  • сделать инициалы
  • починить отображение авы в списке чатов нужна Session? ибо 403 возвращает сервер поправил
  • проверить iOS
  • оформить ЗС https://git.hi-tech.org/ivasdk/kom/-/merge_requests/27
  • сообщить о ЗС Сливаю ЗС об отображении заглушек аватарок на Android: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/27 √ 262, main, >=2
  • влить ЗС
  • добавить в таблицу

09.02: 150

  • починить загрузку аватарок после изменений Ильи что-то поменялось сильно теперь нихера нет контактов именно в моей сборке у Ильи есть надо сделать заново на основе последних изменений это как-будто дешевле всего т.е. нужен новый ЗС этот позже переиспользую
  • повторить частичный накат √ util/other √ README √ ava.kt √ avaUI.kt √ const.kt √ other.kt √ gradle ~ entities.yml
  • восстановить иконку в списке контактов
  • проверить работопособность в iOS
  • оформить ЗС √ описать изменения gen-entities √ упомянуть о рассмотрении Glide √ упомнять об avaUI https://git.hi-tech.org/ivasdk/kom/-/merge_requests/16
  • сообщить о ЗС Сливаю ЗС об отображении аватарок в списке контактов на Android: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/16 √ 219, main, >=2
  • влить ЗС
  • отметить ЗС в таблице
  • сообщить Денису о починке cld translator и необходимости ручных изменений для этого
  • восстановить иконку в инфе о выбранном контакте
  • вынести contUI.kt
  • подлить main
  • оформить ЗС ~ сообщить Олегу убрать шуды на каждое поле контакта https://git.hi-tech.org/ivasdk/kom/-/merge_requests/28
  • сообщить о ЗС Сливаю ЗС об отображении аватарки в инфе о контакте на Android: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/28 √ 278, main, >=2
  • влить ЗС
  • отметить ЗС в таблице

07.02: 90

  • ввести в VM contInfoItem
  • добавить аву в инфу о контакте
  • добавить аву в список чатов

06.02: 190

  • проверить запуск KOM на Xcode 13 на 10.12.2.184 kotlin 2.1.21 json 1.8.0 xcodegen 2.35.0 не удалось в Package.swift сослаться на zip xcframework хотя вроде как должно было бы работать в Xcode 13 не выгорело: 1.5 часа потратил
  • починить CLD tr на Linux
    1. надо поменять руками для CLD tr версию java version с 8 на 21 сделать патч по версии java? да не, пусть руками, это один раз же в будущем надо переделать translator на nodejs но это потом написать в README KOM заметку для CLD в Linux
    2. далее sed -i.backup + rm $file.backup
  • ознакомиться с примером AvatarLoader + Compose от Дениса не очень понятно смущает @OptIn и странная ситуация с API в Glide итог: попробую Coil
  • изучить загрузку картинок в Compose по URL тут вся суть Session на сервер отправить без него не будет картинки Coil выглядит приятнее, чем Glide хотя по факту работает и так
  • добавить зависимость Coil
  • отобразить картинку в Compose https://ivcs.hi-tech.org/services/resource?resourceId=e64bf0bf-442b-4370-894a-8f7f827c7866&width=100
  • закруглить изображение
  • сделать заглушки-изображения? это уже можно не мне хотя у нас же заглушка-текст по ivac! тогда мне
  • заменить ContItem.avaId -> avaURL
  • отследить неудачную загрузку авы onError
  • улавливать состояние загрузки onState
  • создать компонент аватарок

05.02: 140

===

https://jira.iva.ru/browse/VCSMOB-13464 [KMP] Создать заготовку информации о контакте для Android

04.02: 130

  • создать ветку andinf сделал
  • добавить /* 1 */ в if своих шудах в контактах забыл первоначально
  • восстановить упущенные Ильёй поля в стоп, подлить от Ильи сначала ветку да, Илья исправил мне не надо восстанавливать
  • улавливать выбор контакта
  • отображать экран-заглушку
  • возвращаться назад
  • переименовать ContactInfo -> Info
  • локализовать confInfoTitle как раз в эффекте contLocalize
  • отображать имя выбранного контакта
  • оформить ЗС https://git.hi-tech.org/ivasdk/kom/-/merge_requests/10
  • сообщить о ЗС Сливаю ЗС об отображении заготовки информации о контакте: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/10 √ 163, main, >=2
  • влить ЗС
  • отметить ЗС в таблице

===

https://jira.iva.ru/browse/VCSMOB-13334 [KMP] Создать заготовку списка контактов

03.02: 270

  • создать ветку paste
  • сделать значения по умолчанию для хоста для Android чтобы достаточно было нажать на кнопки Далее без ввода делать по аналогии с вводом в GitBudget через Paste
  • переименовать DBGFillHostInput -> DBGHost
  • продублировать для iOS надо замутить свой Binding как-будто, чтобы разделить getter и setter https://www.hackingwithswift.com/quick-start/swiftui/how-to-create-custom-bindings
  • оформить ЗС √ фотки переделать √ записать видео https://git.hi-tech.org/ivasdk/kom/-/merge_requests/6
  • сообщить о ЗС Сливаю ЗС об отладочной кнопке заполнения поля ввода хоста: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/6 √ 127, main, >=2
  • влить ЗС
  • отметить в таблице КЗС
  • Илья: выдать кнопку заполнения username/password
  • создать ветку
  • разобраться с двойной передачей login из AC в CC два раза был вызов MainComponent.setupEffects закомментировал
  • сделать запрос контактов
  • разобраться с ошибкой запроса контактов loadURL без установки заголовков ещё добавить
  • разбирать контакты
  • отображать заглушки контактов
  • отображать список контактов с настоящими именем и почтой
  • оформить ЗС https://git.hi-tech.org/ivasdk/kom/-/merge_requests/8
  • сообщить о ЗС Сливаю ЗС об отображении заготовки списка контактов на Android: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/8 √ 193, main, >=2
  • влить ЗС
  • отметить в таблице КЗС

02.02: 130

===

https://jira.iva.ru/browse/VCSMOB-13302 [KMP] Создать заготовку авторизации для iOS

27.01: 170

  • создать заготовку экрана логина
  • сообщать об ошибке логина/пароля
  • добавить Starscream
  • добавить websocket на основе Starscream https://dev.to/fassko/websockets-in-ios-using-swift-276l
  • подключиться к WS
  • ознакомитья с Task https://habr.com/ru/articles/762148
  • восстановить пинги тут как раз нужен Task sleep
  • A: вынести resetWebSocket в эффекты
  • продублировать авторизацию для iOS
  • README: отметить авторизацию iOS
  • обдумать внутреннюю статью про KOM хотя внутреннюю статью как-будто публиковать-то и нельзя ведь на KOM добро не все давали можно ли рассмотреть этой статьёй основные моменты с тем, чтоб потом быстрее написать про git-budget? итог: нет смысла, лучше время на код потратить
  • сделать видеозапись ввести неверный хост увидим алёрт ввести верный хост передём на логин пароль ввести неверные логин и пароль увидим алёрт ввести верные логин и пароль увидим пустое окно
  • подготовить видеодемонстрацию
  • оформить ЗС https://git.hi-tech.org/ivasdk/kom/-/merge_requests/4
  • влить ЗС

26.01: 185

  • создать заготовку sdk-ios
  • сделать заготовку скрипта gen-ios
  • создать заготовку ver-ios
  • сделать видеодемонстрацию показать util/gen-ios
  • оформить ЗС https://git.hi-tech.org/ivasdk/kom/-/merge_requests/3
  • влить ЗС
  • создать заготовку экрана хостов
  • придать вид карточки
  • добавить тень
  • делать запрос
  • сообщать об ошибке хоста
  • скрывать экранр хоста после успешного ввода

===

https://jira.iva.ru/browse/VCSMOB-13212 [KMP] Создать заготовку авторизации для Android

24.01: 100

  • перенести UI авторизации
  • перенести VM авторизации
  • перенести auth/Fun.kt
  • исправить невозможность сделать запрос вернуть serialization plugin
  • перенести авторизацию для Android
  • записать видео авторизации ввести неверный хост увидим алёрт ввести верный хост передём на логин пароль ввести неверные логин и пароль увидим алёрт ввести верные логин и пароль увидим пустое окно
  • подготовить видео с титрами
  • оформить ЗС https://git.hi-tech.org/ivasdk/kom/-/merge_requests/2 добавить видео
  • влить ЗС

23.01: 45

  • исправить генерацию entities.kt обновить и пересобрать cld
  • копировать CLDController/Context из CLD в Android
  • перенести CLD entities.yml √ отметить /@JsExport/ √ добавить клонирвание translator куда-нибудь в ~/iva-smth √ сделать запуск translator из ~/iva-smth √ заменить generate-entities на какой-либо один скрипт в util/ причём его надо будет вызывать всегда для всех платформ
  • кратко описать CLD translator в README
  • оформить ЗС https://git.hi-tech.org/ivasdk/kom/-/merge_requests/1
  • влить ЗС

22.01: 75

  • создать репозиторий KOM
  • описать в таблице README готовую функциональность
  • генерить entities.kt в корень проекта временно
  • создать заготовку Android HW на основе git-budget
  • генерить entities.kt в ver-android

===

https://jira.iva.ru/browse/VCSMOB-13190 [KMP] Описать движение данных в архитектуре CSE

21.01: 180

  • создать динамический пример движения данных архитектуры CSE ~/m/p/svg выдал Ване KaiSD проверить 21.01.26
  • от Вани получил следующий отзыв Выглядит как пошаговый визуализатор исполнения кода, но при этом разделение на блоки не очень понятно. И логика движения кружка тоже. Можно увидеть куда он двигался, но нельзя понять куда он должен двигаться. Возможно, нужны точки соединения и линии между ними.

20.01: 90

  • ознакомитья с SVG https://www.w3schools.com/graphics/svg_animation.asp
  • от руки нарисовать схему с авториацией текущей слева - контроллер / контекст справа-вверху - шуды справа-внизу - эффекты полоски должны путешествовать ctx -> should -> ctx, effect -> ctx, ctx -> effect полоски и будут отображать движение данных
  • найти редактор SVG https://freesvgeditor.com/en/svg-editor-online
  • набросать пример ~/c/svg(4).svg