feb15
This commit is contained in:
406
kmp/2026-Q1.md
Normal file
406
kmp/2026-Q1.md
Normal file
@@ -0,0 +1,406 @@
|
||||
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
|
||||
76
kmp/now.md
Normal file
76
kmp/now.md
Normal file
@@ -0,0 +1,76 @@
|
||||
13.02: 17:15-18:45 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
|
||||
* влить ЗС
|
||||
* записать в таблицу
|
||||
* сделать отчёт в чат КМП
|
||||
√ подготовить видео
|
||||
√ посчитать количество сэкономленных строк кода
|
||||
√ ввести скрипт
|
||||
|
||||
НАДО:
|
||||
* подготовить документ с графом связей между сущностями
|
||||
* оформить ЗС
|
||||
https://git.hi-tech.org/ivasdk/kom/-/merge_requests/43
|
||||
тут дока больше
|
||||
* сообщить о ЗС
|
||||
* влить ЗС
|
||||
* таблица
|
||||
|
||||
* добавить ссылки на API endpoints рядом с сущностями в YML
|
||||
* попутно удалить shouldResetInfo и соответствующие поля из ContContext
|
||||
* ввести <PRE>_ACTIVE_SHOULDS и регистрацию отладки сразу внутри <PRE>Fun.kt
|
||||
* проверить гипотезу кэширования второй Ava одного запроса
|
||||
чтобы не было двух запросов одной картинки
|
||||
|
||||
* сделать комбинацию на Android
|
||||
|
||||
|
||||
* подготовить шпаргалку по Redux / CSE
|
||||
|
||||
* ввести линтер с запретом @State и @Binding вне VM.swift
|
||||
ввести аналогию для Android
|
||||
* проверить замену на Glide
|
||||
именно после полной реализации на Coil
|
||||
чтобы функционально всё удовлетворяло
|
||||
в Android Connect ведь Glide
|
||||
чтобы меньше трения было при добавлении
|
||||
и без увеличения размера
|
||||
https://bumptech.github.io/glide/int/compose.html
|
||||
|
||||
|
||||
* улавливать изменения в имени контакта по WS
|
||||
это важно сделать для задания пути работы с WS
|
||||
|
||||
* доработать локализацию до генерации нативных файлов Android
|
||||
* доработать локализацию до генерации нативных файлов iOS
|
||||
|
||||
* добавить ширину авы в параметры Ava()
|
||||
сейчас в инфе о контакте фотка размытая выходит
|
||||
но тогда будет загрузка вторая
|
||||
т.е. при переходе на контакт будет сначала видна заглушка
|
||||
тут прям не так просто
|
||||
надо подумать
|
||||
|
||||
* продулировать авторизацию на Desktop
|
||||
|
||||
для Пети:
|
||||
* описать архитектуру
|
||||
* кто за что отвечает
|
||||
|
||||
* iOS input 2026-01-27:
|
||||
переключаться на Return с поля username на password
|
||||
сейчас не надо, ибо SwiftUI поднимает вьюху в свободное пространство при показе клавы
|
||||
* iOS input 2026-01-27:
|
||||
скрывать клавиатуру на Return в поле password
|
||||
сейчас не надо, ибо SwiftUI поднимает вьюху в свободное пространство при показе клавы
|
||||
Reference in New Issue
Block a user