Merge branch 'master' into stable
353 files changed, 9014 insertions(+), 3810 deletions(-) R .github/{issue_template => ISSUE_TEMPLATE}/1-bug-report.md R .github/{issue_template => ISSUE_TEMPLATE}/2-feature-request.md R .github/{issue_template => ISSUE_TEMPLATE}/3-docs-bug.md A .github/ISSUE_TEMPLATE/4-i18n.md A .github/ISSUE_TEMPLATE/5-other.md M .github/workflows/main.yml A .gitmessage M .gitmodules M .idea/modules.xml A board/rt1051/newlib/include/bits/statvfs.h A board/rt1051/newlib/include/sys/statvfs.h M changelog.md M config/bootstrap.sh M config/bootstrap_config M config/download_assets A config/prepare-commit-msg A config/requirements.txt M doc/README.md M doc/development_workflow.md M doc/i18n.md M doc/quickstart.md M docker/docker-compose.yml M image/assets/lang/English.json M image/user/db/settings_v2_002.sql M in_docker.sh M module-apps/CMakeLists.txt A module-apps/application-alarm-clock/ApplicationAlarmClock.cpp A module-apps/application-alarm-clock/ApplicationAlarmClock.hpp A module-apps/application-alarm-clock/CMakeLists.txt A module-apps/application-alarm-clock/data/AlarmsData.hpp A module-apps/application-alarm-clock/models/AlarmsModel.cpp A module-apps/application-alarm-clock/models/AlarmsModel.hpp A module-apps/application-alarm-clock/models/AlarmsRepository.cpp A module-apps/application-alarm-clock/models/AlarmsRepository.hpp A module-apps/application-alarm-clock/presenter/AlarmClockMainWindowPresenter.cpp A module-apps/application-alarm-clock/presenter/AlarmClockMainWindowPresenter.hpp A module-apps/application-alarm-clock/widgets/AlarmClockStyle.hpp A module-apps/application-alarm-clock/widgets/AlarmItem.cpp A module-apps/application-alarm-clock/widgets/AlarmItem.hpp A module-apps/application-alarm-clock/windows/AlarmClockMainWindow.cpp A module-apps/application-alarm-clock/windows/AlarmClockMainWindow.hpp A module-apps/application-alarm-clock/windows/AlarmClockOptions.cpp A module-apps/application-alarm-clock/windows/AlarmClockOptions.hpp M module-apps/application-calculator/windows/CalculatorMainWindow.cpp M module-apps/application-calendar/models/AllEventsModel.cpp M module-apps/application-calendar/models/DayEventsModel.cpp M module-apps/application-calendar/widgets/EventDateItem.cpp M module-apps/application-calendar/widgets/EventDetailDescriptionItem.cpp M module-apps/application-calendar/widgets/EventTimeItem.cpp M module-apps/application-calendar/widgets/TextWithLabelItem.cpp M module-apps/application-calendar/windows/CalendarMainWindow.cpp M module-apps/application-desktop/ApplicationDesktop.cpp M module-apps/application-desktop/ApplicationDesktop.hpp M module-apps/application-desktop/CMakeLists.txt M module-apps/application-desktop/widgets/DesktopInputWidget.cpp M module-apps/application-desktop/widgets/PinLockHandler.hpp M module-apps/application-desktop/windows/MenuWindow.cpp A module-apps/application-desktop/windows/MmiInternalMsgWindow.cpp A module-apps/application-desktop/windows/MmiInternalMsgWindow.hpp M module-apps/application-desktop/windows/MmiPullWindow.cpp M module-apps/application-desktop/windows/MmiPushWindow.cpp M module-apps/application-desktop/windows/Names.hpp M module-apps/application-desktop/windows/Update.cpp M module-apps/application-meditation/widgets/MeditationTimer.cpp M module-apps/application-meditation/windows/MeditationWindow.cpp M module-apps/application-messages/widgets/SMSInputWidget.cpp M module-apps/application-messages/widgets/SMSOutputWidget.cpp M module-apps/application-messages/windows/NewMessage.cpp M module-apps/application-music-player/widgets/SongItem.cpp M module-apps/application-music-player/windows/MusicPlayerEmptyWindow.cpp M module-apps/application-notes/widgets/NotesItem.cpp M module-apps/application-notes/windows/NoteEditWindow.cpp M module-apps/application-notes/windows/NotePreviewWindow.cpp M module-apps/application-phonebook/widgets/InformationWidget.cpp M module-apps/application-phonebook/widgets/InputLinesWithLabelIWidget.cpp M module-apps/application-phonebook/widgets/NumberWithIconsWidget.cpp M module-apps/application-phonebook/widgets/OutputLinesTextWithLabelWidget.cpp M module-apps/application-settings-new/ApplicationSettings.cpp M module-apps/application-settings-new/ApplicationSettings.hpp M module-apps/application-settings-new/CMakeLists.txt M module-apps/application-settings-new/widgets/SettingsStyle.hpp A module-apps/application-settings-new/widgets/timeWidget.cpp A module-apps/application-settings-new/widgets/timeWidget.hpp A module-apps/application-settings-new/windows/NightshiftWindow.cpp A module-apps/application-settings-new/windows/NightshiftWindow.hpp M module-apps/application-settings-new/windows/TorchWindow.cpp M module-apps/application-settings/ApplicationSettings.cpp M module-apps/application-settings/CMakeLists.txt M module-apps/application-settings/windows/SettingsChange.cpp M module-apps/application-settings/windows/SettingsMainWindow.cpp M module-apps/application-settings/windows/UITestWindow.cpp D module-apps/application-settings/windows/USSDWindow.cpp D module-apps/application-settings/windows/USSDWindow.hpp M module-apps/widgets/InputBox.cpp M module-apps/windows/AppWindow.cpp M module-apps/windows/AppWindow.hpp M module-apps/windows/Dialog.cpp M module-apps/windows/Options.cpp M module-bluetooth/Bluetooth/BluetoothWorker.cpp M module-bluetooth/Bluetooth/BluetoothWorker.hpp M module-bluetooth/Bluetooth/glucode/btstack_uart_block_rt1051.cpp M module-bsp/board/linux/bluetooth/Bluetooth.cpp A module-bsp/board/linux/light_sensor/light_sensor.cpp M module-bsp/board/rt1051/bluetooth/BlueKitchen.cpp M module-bsp/board/rt1051/bluetooth/BluetoothCommon.cpp M module-bsp/board/rt1051/bsp/audio/CodecMAX98090.cpp A module-bsp/board/rt1051/bsp/light_sensor/LTR303ALS.hpp A module-bsp/board/rt1051/bsp/light_sensor/light_sensor.cpp M module-bsp/board/rt1051/bsp/usb M module-bsp/board/rt1051/common/board.h M module-bsp/board/rt1051/common/clock_config.cpp M module-bsp/board/rt1051/common/irq/irq_gpio.cpp M module-bsp/board/rt1051/common/pin_mux.c M module-bsp/board/rt1051/common/pin_mux.h M module-bsp/board/rt1051/drivers/RT1051DriverDMA.cpp M module-bsp/bsp/BoardDefinitions.hpp M module-bsp/bsp/bluetooth/Bluetooth.cpp M module-bsp/bsp/bluetooth/Bluetooth.hpp A module-bsp/bsp/light_sensor/light_sensor.hpp M module-bsp/targets/Target_Linux.cmake M module-bsp/targets/Target_RT1051.cmake M module-cellular/at/Urc.hpp M module-cellular/at/UrcCusd.hpp M module-cellular/at/src/Commands.cpp M module-cellular/at/src/Urc.cpp M module-cellular/at/src/UrcCusd.cpp M module-cellular/at/src/UrcFactory.cpp M module-db/CMakeLists.txt M module-db/Database/Database.cpp M module-db/Database/Database.hpp M module-db/Database/DatabaseInitializer.cpp M module-db/Database/DatabaseInitializer.hpp M module-db/Database/sqlite3vfs.cpp M module-db/Databases/AlarmsDB.cpp M module-db/Databases/AlarmsDB.hpp M module-db/Databases/CalllogDB.cpp M module-db/Databases/CalllogDB.hpp M module-db/Databases/ContactsDB.cpp M module-db/Databases/ContactsDB.hpp M module-db/Databases/CountryCodesDB.cpp M module-db/Databases/CountryCodesDB.hpp M module-db/Databases/EventsDB.cpp M module-db/Databases/EventsDB.hpp M module-db/Databases/NotesDB.cpp M module-db/Databases/NotesDB.hpp M module-db/Databases/NotificationsDB.cpp M module-db/Databases/NotificationsDB.hpp D module-db/Databases/SettingsDB.cpp D module-db/Databases/SettingsDB.hpp M module-db/Databases/SmsDB.cpp M module-db/Databases/SmsDB.hpp M module-db/Interface/BaseInterface.hpp M module-db/Interface/EventsRecord.cpp M module-db/Interface/EventsRecord.hpp M module-db/Interface/NotificationsRecord.cpp M module-db/Interface/NotificationsRecord.hpp D module-db/Interface/SettingsRecord_v2.cpp D module-db/Interface/SettingsRecord_v2.hpp M module-db/Tables/ContactsTable.cpp M module-db/Tables/EventsTable.cpp M module-db/Tables/EventsTable.hpp M module-db/Tables/NotificationsTable.hpp D module-db/Tables/SettingsTable.cpp D module-db/Tables/SettingsTable_v2.cpp D module-db/Tables/SettingsTable_v2.hpp M module-db/queries/alarms/QueryAlarmsTurnOffAll.cpp M module-db/queries/alarms/QueryAlarmsTurnOffAll.hpp M module-db/queries/calendar/QueryEventsGetAll.cpp M module-db/queries/calendar/QueryEventsGetAll.hpp M module-db/queries/calendar/QueryEventsGetAllLimited.cpp M module-db/queries/calendar/QueryEventsGetAllLimited.hpp M module-db/queries/calendar/QueryEventsGetFiltered.cpp M module-db/queries/calendar/QueryEventsGetFiltered.hpp M module-db/queries/calendar/QueryEventsSelectFirstUpcoming.cpp M module-db/queries/calendar/QueryEventsSelectFirstUpcoming.hpp D module-db/queries/settings/QuerySettingsAddOrIgnore_v2.cpp D module-db/queries/settings/QuerySettingsAddOrIgnore_v2.hpp D module-db/queries/settings/QuerySettingsGet_v2.cpp D module-db/queries/settings/QuerySettingsGet_v2.hpp D module-db/queries/settings/QuerySettingsUpdate_v2.cpp D module-db/queries/settings/QuerySettingsUpdate_v2.hpp M module-db/tests/AlarmsRecord_tests.cpp M module-db/tests/AlarmsTable_tests.cpp M module-db/tests/CMakeLists.txt M module-db/tests/CalllogRecord_tests.cpp M module-db/tests/CalllogTable_tests.cpp M module-db/tests/ContactGroups_tests.cpp M module-db/tests/ContactsAddressTable_tests.cpp M module-db/tests/ContactsNameTable_tests.cpp M module-db/tests/ContactsNumberTable_tests.cpp M module-db/tests/ContactsRecord_tests.cpp M module-db/tests/ContactsRingtonesTable_tests.cpp M module-db/tests/ContactsTable_tests.cpp M module-db/tests/EventsRecord_tests.cpp M module-db/tests/EventsTable_tests.cpp M module-db/tests/NotesRecord_tests.cpp M module-db/tests/NotesTable_tests.cpp M module-db/tests/NotificationsRecord_tests.cpp M module-db/tests/NotificationsTable_tests.cpp M module-db/tests/QueryInterface.cpp M module-db/tests/SMSRecord_tests.cpp M module-db/tests/SMSTable_tests.cpp M module-db/tests/SMSTemplateRecord_tests.cpp M module-db/tests/SMSTemplateTable_tests.cpp D module-db/tests/SettingsRecord_tests.cpp D module-db/tests/SettingsRecord_v2_tests.cpp D module-db/tests/SettingsTable_tests.cpp D module-db/tests/SettingsTable_v2_tests.cpp M module-db/tests/ThreadRecord_tests.cpp M module-db/tests/ThreadsTable_tests.cpp M module-db/tests/unittest.cpp M module-gui/CMakeLists.txt M module-gui/gui/CMakeLists.txt A module-gui/gui/dom/CMakeLists.txt A module-gui/gui/dom/Item2JsonSerializer.cpp A module-gui/gui/dom/Item2JsonSerializer.hpp A module-gui/gui/dom/Item2JsonSerializingVisitor.cpp A module-gui/gui/dom/Item2JsonSerializingVisitor.hpp A module-gui/gui/dom/ItemDataNames.hpp M module-gui/gui/widgets/BottomBar.cpp M module-gui/gui/widgets/BottomBar.hpp M module-gui/gui/widgets/CMakeLists.txt M module-gui/gui/widgets/Icon.cpp M module-gui/gui/widgets/Image.cpp M module-gui/gui/widgets/Image.hpp M module-gui/gui/widgets/Item.cpp M module-gui/gui/widgets/Item.hpp M module-gui/gui/widgets/Label.cpp M module-gui/gui/widgets/Label.hpp M module-gui/gui/widgets/Lines.cpp M module-gui/gui/widgets/Lines.hpp M module-gui/gui/widgets/Rect.cpp M module-gui/gui/widgets/Rect.hpp M module-gui/gui/widgets/Text.cpp M module-gui/gui/widgets/Text.hpp M module-gui/gui/widgets/TextBubble.cpp M module-gui/gui/widgets/TextConstants.hpp M module-gui/gui/widgets/TextCursor.cpp M module-gui/gui/widgets/TextCursor.hpp M module-gui/gui/widgets/TextFixedSize.cpp M module-gui/gui/widgets/TextLineCursor.cpp M module-gui/gui/widgets/TopBar.cpp M module-gui/gui/widgets/TopBar.hpp M module-gui/gui/widgets/Window.cpp M module-gui/gui/widgets/Window.hpp A module-gui/gui/widgets/visitor/DepthFirstItemTree.cpp A module-gui/gui/widgets/visitor/DepthFirstItemTree.hpp A module-gui/gui/widgets/visitor/GuiVisitor.hpp A module-gui/gui/widgets/visitor/ItemNode.hpp A module-gui/gui/widgets/visitor/ItemTree.hpp M module-gui/test/test-catch-text/test-gui-Text.cpp M module-gui/test/test-catch-text/test-gui-TextLineCursor.cpp M module-os/FreeRTOS/include/FreeRTOSConfig.h A module-os/board/linux/fsl_runtimestat_gpt.c A module-os/board/rt1051/fsl_runtimestat_gpt.c M module-os/targets/Target_Linux.cmake M module-os/targets/Target_RT1051.cmake M module-services/service-audio/CMakeLists.txt M module-services/service-audio/ServiceAudio.cpp M module-services/service-audio/service-audio/ServiceAudio.hpp M module-services/service-bluetooth/ServiceBluetooth.cpp M module-services/service-bluetooth/service-bluetooth/ServiceBluetooth.hpp M module-services/service-cellular/CellularUrcHandler.cpp M module-services/service-cellular/ServiceCellular.cpp M module-services/service-cellular/service-cellular/CellularMessage.hpp M module-services/service-db/CMakeLists.txt M module-services/service-db/DBServiceAPI.cpp M module-services/service-db/ServiceDB.cpp M module-services/service-db/ServiceDB.hpp M module-services/service-db/agents/file_indexer/FileIndexerAgent.cpp M module-services/service-db/agents/settings/Settings.cpp M module-services/service-db/agents/settings/SettingsAgent.cpp M module-services/service-db/agents/settings/SystemSettings.hpp D module-services/service-db/messages/DBSettingsMessage.cpp M module-services/service-db/service-db/DBServiceAPI.hpp M module-services/service-db/service-db/Settings.hpp M module-services/service-desktop/ServiceDesktop.cpp M module-services/service-desktop/WorkerDesktop.cpp M module-services/service-desktop/endpoints/backup/BackupEndpoint.cpp M module-services/service-desktop/endpoints/backup/BackupRestore.cpp M module-services/service-desktop/endpoints/calendarEvents/CalendarEventsHelper.cpp M module-services/service-desktop/endpoints/contacts/ContactHelper.cpp M module-services/service-desktop/endpoints/contacts/ContactHelper.hpp M module-services/service-desktop/endpoints/deviceInfo/DeviceInfoEndpoint.cpp M module-services/service-desktop/endpoints/factoryReset/FactoryReset.cpp M module-services/service-desktop/endpoints/filesystem/FilesystemEndpoint.cpp M module-services/service-desktop/endpoints/update/UpdateEndpoint.cpp M module-services/service-desktop/endpoints/update/UpdateMuditaOS.cpp M module-services/service-desktop/endpoints/update/UpdateMuditaOS.hpp M module-services/service-desktop/parser/ParserUtils.hpp M module-services/service-desktop/service-desktop/DesktopMessages.hpp M module-services/service-desktop/service-desktop/ServiceDesktop.hpp M module-services/service-desktop/tests/unittest.cpp M module-services/service-eink/ServiceEink.cpp M module-services/service-evtmgr/EventManager.cpp M module-services/service-evtmgr/WorkerEvent.cpp M module-services/service-evtmgr/service-evtmgr/EVMessages.hpp M module-services/service-evtmgr/service-evtmgr/WorkerEvent.hpp M module-services/service-fileindexer/StartupIndexer.cpp M module-services/service-fileindexer/notesIndexer.cpp M module-services/service-time/timeEvents/CalendarTimeEvents.cpp M module-sys/CMakeLists.txt A module-sys/SystemManager/CpuStatistics.cpp A module-sys/SystemManager/CpuStatistics.hpp M module-sys/SystemManager/SystemManager.cpp M module-sys/SystemManager/SystemManager.hpp M module-utils/CMakeLists.txt A module-utils/Utils.cpp M module-utils/Utils.hpp M module-utils/i18n/i18n.hpp M module-utils/log/debug.hpp M module-utils/microtar M module-utils/test/unittest_utils.cpp M module-vfs/CMakeLists.txt A module-vfs/board/linux/purefs/src/vfs_subsystem_internal.cpp A module-vfs/drivers/include/purefs/fs/drivers/directory_handle_vfat.hpp A module-vfs/drivers/include/purefs/fs/drivers/file_handle_vfat.hpp A module-vfs/drivers/include/purefs/fs/drivers/filesystem_vfat.hpp A module-vfs/drivers/include/purefs/fs/drivers/mount_point_vfat.hpp A module-vfs/drivers/include/thirdparty/fatfs/ffconf.h A module-vfs/drivers/include/thirdparty/fatfs/volume_mapper.hpp A module-vfs/drivers/src/purefs/fs/filesystem_vfat.cpp A module-vfs/drivers/src/thirdparty/fatfs/ff_glue.cpp A module-vfs/drivers/src/thirdparty/fatfs/ffsystem.cpp M module-vfs/include/internal/purefs/blkdev/disk_handle.hpp M module-vfs/include/internal/purefs/fs/directory_handle.hpp M module-vfs/include/internal/purefs/fs/file_handle.hpp M module-vfs/include/internal/purefs/fs/handle_mapper.hpp M module-vfs/include/internal/purefs/fs/mount_point.hpp A module-vfs/include/internal/purefs/vfs_subsystem_internal.hpp M module-vfs/include/user/purefs/blkdev/defs.hpp M module-vfs/include/user/purefs/blkdev/disk_manager.hpp M module-vfs/include/user/purefs/blkdev/partition.hpp M module-vfs/include/user/purefs/fs/filesystem.hpp M module-vfs/include/user/purefs/fs/filesystem_operations.hpp A module-vfs/include/user/purefs/vfs_subsystem.hpp M module-vfs/src/purefs/blkdev/disk_manager.cpp M module-vfs/src/purefs/blkdev/partition_parser.cpp M module-vfs/src/purefs/fs/filesystem.cpp M module-vfs/src/purefs/fs/filesystem_operations.cpp M module-vfs/src/purefs/fs/filesystem_syscalls.cpp A module-vfs/src/purefs/vfs_subsystem.cpp M module-vfs/targets/Target_Linux.cmake M module-vfs/tests/CMakeLists.txt M module-vfs/tests/unittest_disk_manager.cpp A module-vfs/tests/unittest_filesystem_core.cpp A module-vfs/thirdparty/fatfs A module-vfs/thirdparty/littlefs A module-vfs/thirdparty/littlefs.cmake M source/MessageType.hpp M source/main.cpp M test/harness/interface/CDCSerial.py M test/pytest/service-desktop/test_contacts.py