This commit is contained in:
Михаил Капелько
2026-04-24 10:28:10 +03:00
parent 7258c5bfae
commit a344ef773c
9 changed files with 435 additions and 79 deletions

View File

@@ -1,4 +1,110 @@
23.04: 55
* восстановить область подсчёта в BudgetView.qml
22.04: 50
* исправить CMakeLists.txt
* исправить App.cpp
* исправить VM.h/cpp
* урезать budget.h/cpp
* отобразить заглушку
* восстановить поля ввода в BudgetView.qml
21.04: 45
* ввести mac SDK
* ввести заготовку приложения mac
* продублировать budget из iOS в mac с помощью Cursor
20.04: 50
* выделить BudgetView
* rename vm to spent/morningBalance
* поправить сборку iOS
переключить на KD
* получить схожий интерфейс на SwiftUI от ИИ
скинуть BudgetView.kt
получил пример от Алисы
взял некоторые моменты
получилось рядом
19.04: 125
* ввести setupComonentDebugging
* ввести budgetProto.kt
* переместить budget* в budget/
* исправить работу с spent/input/pasted
* исправить работу с morning/input/pasted
* использовать budgetSet
* использовать F в UI на Android
* улучшить UI с помощью ИИ
ИИ помогло с кнопками, остальное вышло так себе
но сам я чуть улучшил
18.04: 70
* исправить пересоздание лишнее при перевороте устройства Android
ввести didSetup
* поправить версию mac
* оформить ЗС
https://github.com/OGStudio/kotlin-dialect-example/pull/5
* влить
* найти последнюю ветку git-budget
запустить ver-android
сверить с тем, что у меня на телефоне
qtmac вроде подходит
хотя нет, слишком много откатывать
легче закрыть и сначала сделать
* проверить версию в master
да, та, которая у меня в телефоне
* закрыть ЗС qtmac
* сделать ЗС desktop
можно использовать ЗС web
тут как-будто уже KD
* переключить на KD 3.1
* убрать надпись сверху в поле
* ввести budgetUI.kt
17.04: 65
* выделить MainView.qml
* починить copy-windows.txt для директорий
сделать просто rsync
* пересобрать для Windows
* сделать видеозапись
windows
* README: кратко записать зависимости
* перенести в main/ в Android
* убрать копирование для mac
* поправить copy-sdk для windows
16.04: 25
* переиначить ignore.* для Windows
не работает для copy windows files
ибо приводит к необходимости rename includes
а легче тупо маску задать в .gitignore же!
* попробовать переместить komW64.exe и libhw.dll в mingw64/bin
и оттуда уже запустить
да, это проще, работает
* добавить скрипт копирования необходимых dll?
для целей отладки буду пользоваться копированием exe и dll в mingw64/bin
* запустить на W10
удалось
15.04: 50
* добавить шаг замены #include "$FILENAME.h"
на #include "ignore.$FILENAME.h"
ибо они ведь все переименованы для сборки Windows
* собрать на W10
14.04: 25
* разобраться с тем, как ссылаться на либу sdk
попробовать сначала собрать без линковки с ней
добавил шаг genWindowsLib
11.04: 60 11.04: 60

View File

@@ -1,61 +1,48 @@
НАДО: НАДО:
* безопасно убрать верхний Label/vm.result
если просто убрать, то всё ниже едет
причина не ясна
попросить Cursor убрать этот Label так, чтобы не сломать ничего?
* сделать budget.h/cpp
* починить placeholders и значения из VM
* разобраться с тем, как ссылаться на либу sdk * README
попробовать сначала собрать без линковки с ней добавить ссылку
* собрать на W10 https://wiki.qt.io/MSYS2
* запустить на W10 Qt
* README: кратко записать установку инструментов для Qt на W pacman -S mingw-w64-x86_64-qt-creator
* выделить mainUI.qml * сделать версию для mac
* сделать версию для windows
KD = Redux in Kotlin for Android, iOS, Desktop, and Browser (проверить ЗС Всеволода)
(пощупать приложение)
REG.RU: до конца апреля продлить (составить предварительный план)
* сделать Main статичной компонентой
* сделать текст на основе логики руками
* выставить VM.cpp:_mainIsVisible = false
* подготовить заготовку ver-windows-x64
* helloworld readme
показать и рассказать про выполнение команд
./util/gen-kd
и прочие
* заменить type Bool/Int на константы
в cpp.kt
* собрать на W10
* удалить gradlew.bat
если в MSYS2 достаточно gradlew
* оформить ЗС
https://github.com/OGStudio/kotlin-dialect/pull/5
* влить
* проверить пересоздание лишнее при перевороте устройства Android
* доработать пример ver-android
поле ввода
кнопка
загрузки
вставки URL фиксированного
текст
картинка
загружать картинку по URL из поля ввода
* mainViewIsVisible: задать false по умолчанию
* поправить запуск android HW на W10?
спрошу у Всеволода
KD:
поддержать неизвестные типы для обёрток Context
например, kref_NetRequest request()
сейчас лишь Int, String, Bool в cpp.kt обрабатываю
хотя нет, надо же возвращать обёртку-класс NetRequest
ведь сейчас лишь контексты генерятся
вот что надо
* добавить README
* переключить версию Android на KD * переключить версию Android на KD
* переключить версию iOS на KD * переключить версию iOS на KD
* ввести budgetSet() вместо budgetCtrl().set() * ввести budgetSet() вместо budgetCtrl().set()
* ввести setupDebugging с short str * ввести setupDebugging с short str
* использовать F * использовать F
* ввести budgetProto для регистрации шудов и неповторения кода компонента * ввести budgetProto для регистрации шудов и неповторения кода компонента
* сделать веб-версию
* описать в README все три версии GB * описать в README все три версии GB
* описать зависимости mac (brew install node) и linux * описать зависимости mac (brew install node) и linux
* оформить ЗС
https://github.com/kornerr/git-budget/pull/17
* влить ЗС
* изучить создание APK
* поднять версию * поднять версию
если KD не менялось, то 3.0.1 если KD не менялось, то 3.0.1
ибо после смены gradle на 9.3.1 поменялось содержимое dist/stdlib ибо после смены gradle на 9.3.1 поменялось содержимое dist/stdlib
@@ -65,6 +52,7 @@ REG.RU: до конца апреля продлить
* tag next version * tag next version
* сделать веб-версию
* KD: переименовать app.js в klin.js * KD: переименовать app.js в klin.js
@@ -74,6 +62,7 @@ REG.RU: до конца апреля продлить
* починить --help * починить --help
KD = Redux in Kotlin for Android, iOS, Desktop, and Browser
* KD: линтер сделать проверки упорядоченности по имени названий сущностей * KD: линтер сделать проверки упорядоченности по имени названий сущностей

View File

@@ -1,3 +1,14 @@
20.04: 55
* проверить ЗС 7 от Всеволода
после влития
проверил
* сообщить Всеволоду, что проверил
но править уже после версии Windows
* согласовать примерный план работ
* опубликовать статус Всеволода
* опубликовать свой статус
с видео
12.04: 40 12.04: 40

View File

@@ -1,16 +1,8 @@
НАДО: НАДО:
* изучить рекламу в TG
как мне добавить подписчиков в канал KD?
* получить отмашку от Всеволода по готовности заполнения плана на неделю
* пример shared preferences, если понадобится
https://stackoverflow.com/questions/3584267/android-equivalent-of-nsuserdefaults-in-ios
На прошлой неделе Всеволод выполнил свой двухдневный план по созданию задач в планировщике с подзадачами и заметками.

View File

@@ -0,0 +1,64 @@
Google Doc URL: https://docs.google.com/document/d/1DfJsbyVZ98udo_hvU1DUagGYkTHabW0wMH5T5DvmCYI/edit?usp=sharing
WARNING: НЕ РЕДАКТИРОВАТЬ ТУТ, ЭТО ЧЕРНОВИК
Привет, коллеги,
на созвоне в четверг 16.04 команда Android представила команде КМП пример с авторизацией для обсуждения потенциального подхода КМП-2.
По итогу созвона у команды КМП возникли следующие вопросы к КМП-2:
===
Вопрос №1
===
Риск нарушения принципов Single source of truth (SSOT, Единственный источник истины) и Single Responsibility Principle (SRP, Единственная ответственность)
В КМП-1 следование SSOT и SRP достигается шудами/редьюсерами: один шуд отвечает за что-либо конкретное. Например, в реализации контактов на КМП-1 шуд/редьюсер contShouldResetContactsVisibility отвечает за видимость списка контактов на экране, поэтому всегда можно найти концы (кто меняет видимость и по каким условиям она меняется).
===
Вопрос №2
===
Риск конфликта разных механизмов диспетчеризации (многопоточности)
В КМП-2 предполагается использование Flow, Coroutines и подобных технологий, которые имеют свой жизненный цикл, отличающийся от жизненного цикла на платформах Apple.
В КМП-1 многопоточность находится вне общего кода КМП, т.е. находится в эффектах,
на стороне конкретной платформы, используя те инструменты, которые принято использовать
на конкретной платформе.
===
Вопрос №3
===
Риск падения производительности
Как следствие из предыдущего пункта, использование нестандартного для конкретной платформы
механизма диспетчеризации может приводить к гонке данных и трудновоспроизводимым просадкам производительности.
===
Вопрос №4
===
Заявленный отказ от нативной поддержки Desktop
КМП-2 предполагает отказ от нативных приложений Linux, macOS, Windows. Это приведёт
к потере компанией компетенций команды Desktop, собравшей огромное количество
граблей при поддержки трёх систем: Linux, macOS, Windows. Все эти компетенции и грабли
придётся собирать с нуля при использовании подхода аля Electron. На поиск и исправление
заново найденных граблей уйдёт огромное количество сил и времени.
КМП-1, со своей стороны, интегрируется (нативно, через Kotlin Native) в Desktop
ровно на тех же правах логики,
как это происходит с Android и iOS: оставляя диспетчеризацию (многопоточность),
работу с оборудованием, сетью и т.п. на усмотрение конкретной платформы. Таким образом,
КМП-1 сохраняет компетенции, иcключает просадку по платформе Desktop, исключает
повторный поиск и исправления уже собранных граблей.
Есть ещё несколько вопросов, которые будет уместно задать лишь при наличии
КМП-2 на руках, т.к. пока КМП-2 существует лишь на бумаге. КМП-1, со своей стороны,
в рамках контактов уже прошёл первичное проверку командой тестирования и готов к повторной.
С уважением,
Михаил.

View File

@@ -1,10 +1,182 @@
HOLD: https://jira.iva.ru/browse/VCSMOB-14365 https://jira.iva.ru/browse/VCSMOB-14530
HOLD: [KMP] Решить проблему лишних diff в obkom [KMP] Подготовить авторизацию для Qt
22.04:
* исправить сборку sdk-ios
* ввести authProto.swift
* исправить auth.swift
* исправить AuthHosts.swift
* исправить AuthLogin.swift
* исправить AuthHosts.qml
* исправить AuthLogin.qml
* исправить auth.launch на auth.setup
* исправить VM.h/cpp
* пересоздать auth.h/cpp как копию HW
* подключить кнопки AuthHosts
* оформить УЗС-2
https://git.hi-tech.org/ivasdk/kom/-/merge_requests/293
* перепроверить Android
* перепроверить iOS
* сообщить об УЗС-2
Сливаю УЗС-2 по авторизации на desktop: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/293
√ 823 (т: 423), main, >=2
* влить УЗС-2
21.04:
* изучить неверную генерацию для sdk mac
didClickChangeText ещё поля из HWContext подмешались в AuthContext
entityNames: 13
entityTypes: 12
ошибка?
после AuthContext почему-то был какой-то символ, а не должно было
итог: был лишний пробел в yml
* собрать sdk mac
* попросить Cursor сделать копию auth на Desktop на основе версии iOS
Have a look at how AuthHosts.swift, AuthLogin.swift and auth.swift organized.
They form a so-called component that is displayed at the start of application.
Do the same files for ver-mac using QML.
* проверить версию Cursor
какая-то проблема с кучей WS ping-pong
но интерфейс похож
* отобразить заготовку интерфейса auth в mac
и сделать заготовку авторизации с помощью Cursor
* исправить CMakeLists.txt
* скрыть HW на Desktop
20.04:
* создать auth/ на Android
* создать auth/ на iOS
* починить собираемость на mac
* оформить УЗС-1
https://git.hi-tech.org/ivasdk/kom/-/merge_requests/289
* сообщить об УЗС-1
Сливаю УЗС-1 по авторизации на desktop: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/289
√ 388, main, >=2
* влить УЗС-1
* перевести auth на Proto
17.04:
* переключить на kd 3.1
* обновить ветку cppgen до последней версии main
* убрать копирование для mac
симлинков достаточно
копирование сильно ущербное
оставлю для Windows строго лишь как меньшее из зол
* собрать заготовку KOM на Windows
* убрать renameWindowsIncludes
* переместить бинарь и dll в mingw64/bin
* запустить на Windows
* записать демонстрацию запуска на Windows 10
* перепроверить запускаемость Android и iOS
* оформить ЗС
https://git.hi-tech.org/ivasdk/kom/-/merge_requests/203
* сообщить о ЗС
Сливаю ЗС с заготовкой для Windows: https://git.hi-tech.org/ivasdk/kom/-/merge_requests/203
√ 487, main, >=2, демо
* влить ЗС
таблица
демо
* убрать несколько констант AuthConst.kt
* убрать задание combined host из MainActivity
* выяснить необходимость AuthLoginScreen/Box
на Pixel5 6" тоже не увидел разницы
убрал
* выделить UI авторизации в отдельный файл authUI
* проверить запускаемость на iOS
* поправить F combined host на iOS
* выделить authUI на iOS
* переместить hw на mac
==
https://jira.iva.ru/browse/VCSMOB-14365
[KMP] Решить проблему лишних diff в obkom
16.04:
* ввести latest для v020
* оформить ЗС
https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/36
* сообщить о ЗС
Сливаю ЗС об исправлении diff для obkom v020: https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/36
√ 149, main, >=2
* влить ЗС
* ввести latest для v021
* оформить ЗС
https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/37
* сообщить о ЗС
Сливаю ЗС об исправлении diff для obkom v021: https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/37
√ 8, main, >=2
* влить ЗС
* ввести latest для v022
сделать это под запись
* подготовить видеоинструкцию
* README
написать инструкцию к видео
1. удостоверяемся в наличии copyLatest последним шагом в каждом v*/setup-*
2. прописываем новую версию комбинации в LATEST_VERSION
3. copyLatest срабатывает после запуска setup
4. комитим изменения в latest
* оформить ЗС
https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/38
* сообщить о ЗС
Сливаю ЗС об исправлении diff для obkom v022: https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/38
√ 152, main, >=2
* влить ЗС
* починить дифы мостового кода для obkom
* рассказать в чате KMP про то, как работает latest
рассказать лучше в запросе слияния
ещё раз с нуля
15.04:
* ввести latest для v010
* оформить ЗС-1
https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/33
* сообщить о ЗС-1
Сливаю ЗС об исправлении diff для obkom v010: https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/33
√ 207, main, >=2
* влить ЗС-1
* ввести latest для v011
* оформить ЗС-2
https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/34
* сообщить о ЗС-2
Сливаю ЗС об исправлении diff для obkom v011: https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/34
√ 500, main, >=2
* влить ЗС-2
* ввести latest для v015
* оформить ЗС-3
https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/35
* сообщить о ЗС-3
Сливаю ЗС об исправлении diff для obkom v015: https://git.hi-tech.org/ivasdk/obkom/-/merge_requests/35
√ 309, main, >=2
* влить ЗС-3
===
https://jira.iva.ru/browse/VCSMOB-14386 https://jira.iva.ru/browse/VCSMOB-14386
[iOS One] Подготовить IvaMeet с изменениями Connect 24.0 [iOS One] Подготовить IvaMeet с изменениями Connect 24.0
11.04:
* изучить diff в one
лишь ориентацию теряем?
да
* убрать исправление ориентации из v042
* README: добавить v042 со ссылкой на ЗС
* оформить ЗС v042
упомянуть о причине удаления ориентации
возможно, её надо добавить в connect 24.1
https://git.hi-tech.org/mobile/apple/combo/-/merge_requests/62
* влить ЗС v042
* оформить IvaMeet ЗС на основе combo v042
https://git.hi-tech.org/iva/one/ios/messenger/-/merge_requests/1433
* сообщить о IvaMeet ЗС команде One
10.04: 10.04:
* оформить ЗС v041 * оформить ЗС v041

View File

@@ -1,38 +1,51 @@
11.04: 23.04:
* изучить diff в one * создать ветку authd3
лишь ориентацию теряем? * ввести ktString
да * ввести KTStr
* убрать исправление ориентации из v042 * восстановить локализацию
* README: добавить v042 со ссылкой на ЗС * восстановить кнопка отладки-вставки хоста
* оформить ЗС v042 * изучить AuthComponent::loadNetwork
упомянуть о причине удаления ориентации
возможно, её надо добавить в connect 24.1
https://git.hi-tech.org/mobile/apple/combo/-/merge_requests/62
* влить ЗС v042
* оформить IvaMeet ЗС на основе combo v042
https://git.hi-tech.org/iva/one/ios/messenger/-/merge_requests/1433
* сообщить о IvaMeet ЗС команде One
НАДО: НАДО:
* ввести ручную обёртку NetRequest
* ввести аналог loadURL
* ввести ручную обёртку NetResponse
* ввести работу с сетью
так, чтобы было похоже на loadURL на Android/iOS
* оформить УЗС-3
https://git.hi-tech.org/ivasdk/kom/-/merge_requests/304
* сообщить об УЗС-3
* влить УЗС-3
* сделать авторизацию для mac
* починить ios
* починить windows
* прокомментировать F.didClickMenuLogout
оно вообще отсутствует
в main_.swift ios вызов как раз есть
* КЗС
* !289
* !293
* !304
таблица
демо
* Cursor: попросить сделать подключаемый в AppView.qml файл mainUI.qml
* проверить на Windows 11
если мы команда КМП, то почему мы не можем выбрать архитектуру?
* починить дифы мостового кода для obkom
* подготовить демонстрацию преимущества подхода KOM * подготовить демонстрацию преимущества подхода KOM
соревнования? соревнования?
* использовать генератор для замены KT.h/cpp * использовать генератор для замены KT.h/cpp
* оформить ЗС
https://git.hi-tech.org/ivasdk/kom/-/merge_requests/203
* влить ЗС
таблица
демо
* сделать копирование на Windows
* ввести SDK для Windows
* проверить на Windows
* сделать для Linux * сделать для Linux

View File

@@ -0,0 +1,9 @@
Почему нет смысла переходить с КМП-1 на КМП-2:
1. Если мы команда КМП, то почему мы не можем выбрать архитектуру?
2. Какой смысл сейчас что-то менять, если остальные команды точно так же станут в позу и не захотят использовать уже предложенный командой шаблон проектирования MVI? Мы будем опять переписывать?