Files
plans/kmp/2026-Q1.md
Михаил Капелько 493863ae5a feb15
2026-02-15 06:45:27 +03:00

406 lines
18 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

https://jira.iva.ru/browse/VCSMOB-13473
[KMP] Отображать аватарки
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
* отобразить заготовки аватарок в iOS
* отобразить заглушки в iOS
* вынести contUI.swift
после подлития main
ибо сильно крупный шаг
* оформить ЗС
https://git.hi-tech.org/ivasdk/kom/-/merge_requests/37
* сообщить о ЗС
Сливаю ЗС об отображении заглушек аватарок на iOS: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/37
√ 583, main, >=2
* влить ЗС
* записать в таблицу
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
* создать ветку по авам
* изучить Glide и Coil
https://bumptech.github.io/glide/int/compose.html
https://coil-kt.github.io/coil/compose/
* узнать URL запроса в Ucim/Ava
ИГР Shortcuts.loadRI url: 'https://ivcs.hi-tech.org/services/resource?resourceId=e64bf0bf-442b-4370-894a-8f7f827c7866&width=100'
ИГР ImageCS.retrieve url/token: 'Optional(https://ivcs.hi-tech.org/services/resource?resourceId=e64bf0bf-442b-4370-894a-8f7f827c7866&width=100)'/'8ccabf0b-73ed-43c3-add7-969b9c727f05'
* определиться с заголовками
Серёга сказал, что Session нужно отправлять
* скачать Ubuntu 25.10
===
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
* отображать заглушку списка контактов на Android
* продублировать заглушку списка контактов на iOS
* оформить ЗС
https://git.hi-tech.org/ivasdk/kom/-/merge_requests/5
* сообщить о ЗС
Сливаю ЗС о создании заглушки списка контактов: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/5
√ 473, main, >=2
* влить ЗС
* отметить в таблице КЗС
===
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