diff --git a/budget/2026-Q2.md b/budget/2026-Q2.md index db3a545..88161de 100644 --- a/budget/2026-Q2.md +++ b/budget/2026-Q2.md @@ -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 diff --git a/budget/now.md b/budget/now.md index c2561c1..cac17e8 100644 --- a/budget/now.md +++ b/budget/now.md @@ -1,61 +1,48 @@ НАДО: +* безопасно убрать верхний Label/vm.result + если просто убрать, то всё ниже едет + причина не ясна + попросить Cursor убрать этот Label так, чтобы не сломать ничего? +* сделать budget.h/cpp +* починить placeholders и значения из VM -* разобраться с тем, как ссылаться на либу sdk - попробовать сначала собрать без линковки с ней -* собрать на W10 -* запустить на W10 -* README: кратко записать установку инструментов для Qt на W -* выделить mainUI.qml - -KD = Redux in Kotlin for Android, iOS, Desktop, and Browser +* README + добавить ссылку + https://wiki.qt.io/MSYS2 + Qt + pacman -S mingw-w64-x86_64-qt-creator +* сделать версию для mac +* сделать версию для windows -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 * переключить версию iOS на KD * ввести budgetSet() вместо budgetCtrl().set() * ввести setupDebugging с short str * использовать F * ввести budgetProto для регистрации шудов и неповторения кода компонента -* сделать веб-версию * описать в README все три версии GB * описать зависимости mac (brew install node) и linux +* оформить ЗС + https://github.com/kornerr/git-budget/pull/17 +* влить ЗС + +* изучить создание APK + * поднять версию если KD не менялось, то 3.0.1 ибо после смены gradle на 9.3.1 поменялось содержимое dist/stdlib @@ -65,6 +52,7 @@ REG.RU: до конца апреля продлить * tag next version +* сделать веб-версию * KD: переименовать app.js в klin.js @@ -74,6 +62,7 @@ REG.RU: до конца апреля продлить * починить --help +KD = Redux in Kotlin for Android, iOS, Desktop, and Browser * KD: линтер сделать проверки упорядоченности по имени названий сущностей diff --git a/business/2026-Q2.md b/business/2026-Q2.md index 24e6f79..b96afe7 100644 --- a/business/2026-Q2.md +++ b/business/2026-Q2.md @@ -1,3 +1,14 @@ +20.04: 55 + +* проверить ЗС 7 от Всеволода + после влития + проверил +* сообщить Всеволоду, что проверил + но править уже после версии Windows +* согласовать примерный план работ +* опубликовать статус Всеволода +* опубликовать свой статус + с видео 12.04: 40 diff --git a/business/now.md b/business/now.md index 99e385c..49a3768 100644 --- a/business/now.md +++ b/business/now.md @@ -1,16 +1,8 @@ НАДО: - - - -* получить отмашку от Всеволода по готовности заполнения плана на неделю - -* пример shared preferences, если понадобится - https://stackoverflow.com/questions/3584267/android-equivalent-of-nsuserdefaults-in-ios - - -На прошлой неделе Всеволод выполнил свой двухдневный план по созданию задач в планировщике с подзадачами и заметками. +* изучить рекламу в TG + как мне добавить подписчиков в канал KD? diff --git a/kmp/2026-04-23_Вопросы-КМП2.md b/kmp/2026-04-23_Вопросы-КМП2.md new file mode 100644 index 0000000..cffa7b2 --- /dev/null +++ b/kmp/2026-04-23_Вопросы-КМП2.md @@ -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, со своей стороны, +в рамках контактов уже прошёл первичное проверку командой тестирования и готов к повторной. + +С уважением, +Михаил. + + + diff --git a/kmp/2026-04-x_КМП-2.md b/kmp/2026-04-x_КМП2_не-отправлено_вместо-контактов.md similarity index 100% rename from kmp/2026-04-x_КМП-2.md rename to kmp/2026-04-x_КМП2_не-отправлено_вместо-контактов.md diff --git a/kmp/2026-Q2.md b/kmp/2026-Q2.md index d40bd9a..f6038bc 100644 --- a/kmp/2026-Q2.md +++ b/kmp/2026-Q2.md @@ -1,10 +1,182 @@ -HOLD: https://jira.iva.ru/browse/VCSMOB-14365 -HOLD: [KMP] Решить проблему лишних diff в obkom +https://jira.iva.ru/browse/VCSMOB-14530 +[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 [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: * оформить ЗС v041 diff --git a/kmp/now.md b/kmp/now.md index 051cac2..f86b6f3 100644 --- a/kmp/now.md +++ b/kmp/now.md @@ -1,38 +1,51 @@ -11.04: +23.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 +* создать ветку authd3 +* ввести ktString +* ввести KTStr +* восстановить локализацию +* восстановить кнопка отладки-вставки хоста +* изучить AuthComponent::loadNetwork НАДО: +* ввести ручную обёртку 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 соревнования? * использовать генератор для замены KT.h/cpp -* оформить ЗС - https://git.hi-tech.org/ivasdk/kom/-/merge_requests/203 -* влить ЗС - таблица - демо -* сделать копирование на Windows -* ввести SDK для Windows -* проверить на Windows + + * сделать для Linux diff --git a/kmp/архитектура.md b/kmp/архитектура.md new file mode 100644 index 0000000..928ad0f --- /dev/null +++ b/kmp/архитектура.md @@ -0,0 +1,9 @@ + + + +Почему нет смысла переходить с КМП-1 на КМП-2: + +1. Если мы команда КМП, то почему мы не можем выбрать архитектуру? +2. Какой смысл сейчас что-то менять, если остальные команды точно так же станут в позу и не захотят использовать уже предложенный командой шаблон проектирования MVI? Мы будем опять переписывать? + +