Repository navigation
Various improvements - #673
Conversation
- reduce when not in use (don't alloc scan list) - place data in external memory when possible
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. 📝 WalkthroughWalkthroughThe changes add binary-font and PNG modules, integrate runtime-generated icon fonts and PNG decoding with LVGL, and move system initialization and boot handling into dedicated implementations. They also replace fixed ESP32 BLE scan arrays with allocated buffers and update related build configuration, SDK defaults lookup, display orientation detection, driver logging, and platform settings. Priority: ➖ Normal Merge Risk: 🟡 Moderate · up to If launcher startup fails, boot can report success and close its screen without opening the launcher. Handle that failure before merging. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The checked boot paths retain launcher validation and storage failure guards, with explicit cleanup before graphics startup. No introduced security boundary bypass was established. Coverage of the broader graphics and radio lifecycle changes remains incomplete. Retained concerns Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
🚥 Pre-merge checks | ✅ 3 | ❌ 1 | ❓ 1❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Organization UI
- Review profile: CHILL
- Plan: Advanced
- Run ID:
29ef5ce7-6ba3-441e-beb8-046348850f1c
⛔ Files ignored due to path filters (44)
Data/system/app/Boot/assets/logo_large.pngis excluded by!**/*.pngData/system/app/Boot/assets/logo_usb_large.pngis excluded by!**/*.pngData/system/app/Boot/assets/logo_usb_small.pngis excluded by!**/*.pngData/system/fonts/MaterialSymbolsRounded.ttfis excluded by!**/*.ttfData/system_sources/App Icons.svgis excluded by!**/*.svgData/system_sources/Old Light Mode Icons/app_icon_calculator.pngis excluded by!**/*.pngData/system_sources/Old Light Mode Icons/app_icon_chat.pngis excluded by!**/*.pngData/system_sources/Old Light Mode Icons/app_icon_display_settings.pngis excluded by!**/*.pngData/system_sources/Old Light Mode Icons/app_icon_fallback.pngis excluded by!**/*.pngData/system_sources/Old Light Mode Icons/app_icon_files.pngis excluded by!**/*.pngData/system_sources/Old Light Mode Icons/app_icon_gpio.pngis excluded by!**/*.pngData/system_sources/Old Light Mode Icons/app_icon_i2c.pngis excluded by!**/*.pngData/system_sources/Old Light Mode Icons/app_icon_notes.pngis excluded by!**/*.pngData/system_sources/Old Light Mode Icons/app_icon_power_settings.pngis excluded by!**/*.pngData/system_sources/Old Light Mode Icons/app_icon_settings.pngis excluded by!**/*.pngData/system_sources/Old Light Mode Icons/app_icon_system_info.pngis excluded by!**/*.pngData/system_sources/Old Light Mode Icons/app_icon_time_date_settings.pngis excluded by!**/*.pngData/system_sources/app/Launcher/apps.svgis excluded by!**/*.svgData/system_sources/app/Launcher/folder.svgis excluded by!**/*.svgData/system_sources/app/Launcher/settings.svgis excluded by!**/*.svgData/system_sources/app/TimeZone/search.svgis excluded by!**/*.svgData/system_sources/app/WifiManage/lock.svgis excluded by!**/*.svgData/system_sources/app/WifiManage/signal_medium.svgis excluded by!**/*.svgData/system_sources/app/WifiManage/signal_strong.svgis excluded by!**/*.svgData/system_sources/app/WifiManage/signal_weak.svgis excluded by!**/*.svgData/system_sources/app_icon_calculator.svgis excluded by!**/*.svgData/system_sources/app_icon_chat.svgis excluded by!**/*.svgData/system_sources/app_icon_gpio.svgis excluded by!**/*.svgData/system_sources/app_icon_notes.svgis excluded by!**/*.svgData/system_sources/app_icon_time_date_settings.svgis excluded by!**/*.svgData/system_sources/location.svgis excluded by!**/*.svgData/system_sources/wifi_off_white.svgis excluded by!**/*.svgData/system_sources/wifi_scan_white.svgis excluded by!**/*.svgData/system_sources/wifi_signal_medium_white.svgis excluded by!**/*.svgData/system_sources/wifi_signal_strong_white.svgis excluded by!**/*.svgData/system_sources/wifi_signal_weak_white.svgis excluded by!**/*.svgModules/binfont-module/tests/fixtures/icons_raw_2.binis excluded by!**/*.binModules/binfont-module/tests/fixtures/icons_raw_4.binis excluded by!**/*.binModules/binfont-module/tests/fixtures/icons_rle_2.binis excluded by!**/*.binModules/binfont-module/tests/fixtures/icons_rle_4.binis excluded by!**/*.binModules/binfont-module/tests/fixtures/icons_rlepf_2.binis excluded by!**/*.binModules/binfont-module/tests/fixtures/icons_rlepf_4.binis excluded by!**/*.binModules/binfont-module/tests/fixtures/text_kern_classes.binis excluded by!**/*.binModules/binfont-module/tests/fixtures/text_kern_pairs.binis excluded by!**/*.bin
📒 Files selected for processing (100)
Buildscripts/sdkconfig-default.propertiesCMakeLists.txtData/system/fonts/MaterialSymbolsRounded.codepointsData/system_sources/Statusbar Battery.kraData/system_sources/Statusbar sdcard.kraDevices/m5stack-tab5/m5stack,tab5.dtsDocumentation/ideas.mdLibraries/lv_screenshot/CMakeLists.txtLibraries/lv_screenshot/Source/save_png.cModules/binfont-module/CMakeLists.txtModules/binfont-module/LICENSE-Apache-2.0.mdModules/binfont-module/README.mdModules/binfont-module/include/binfont/binfont.hModules/binfont-module/include/binfont/generator.hModules/binfont-module/include/binfont/module.hModules/binfont-module/include/binfont/render.hModules/binfont-module/private/binfont_private.hModules/binfont-module/private/stb_truetype.hModules/binfont-module/source/binfont.cppModules/binfont-module/source/generator.cppModules/binfont-module/source/module.cModules/binfont-module/source/render.cppModules/binfont-module/tests/CMakeLists.txtModules/binfont-module/tests/source/binfont_test.cppModules/binfont-module/tests/source/main.cppModules/lodepng-module/CMakeLists.txtModules/lodepng-module/LICENSE-Apache-2.0.mdModules/lodepng-module/LICENSE-lodepng.txtModules/lodepng-module/README.mdModules/lodepng-module/include/lodepng/lodepng.hModules/lodepng-module/include/lodepng/lodepng_upstream.hModules/lodepng-module/include/lodepng/module.hModules/lodepng-module/source/allocators.cModules/lodepng-module/source/lodepng.cModules/lodepng-module/source/module.cModules/lodepng-module/tests/CMakeLists.txtModules/lodepng-module/tests/source/lodepng_test.cppModules/lodepng-module/tests/source/main.cppModules/lvgl-module/CMakeLists.txtModules/lvgl-module/README.mdModules/lvgl-module/generate-icons.pyModules/lvgl-module/include/lvgl/binfont.hModules/lvgl-module/include/lvgl/fonts.hModules/lvgl-module/include/lvgl/icons/names.hModules/lvgl-module/private/png_decoder.hModules/lvgl-module/source-fonts/material_symbols_launcher_30.cModules/lvgl-module/source-fonts/material_symbols_launcher_36.cModules/lvgl-module/source-fonts/material_symbols_launcher_42.cModules/lvgl-module/source-fonts/material_symbols_launcher_48.cModules/lvgl-module/source-fonts/material_symbols_launcher_64.cModules/lvgl-module/source-fonts/material_symbols_launcher_72.cModules/lvgl-module/source-fonts/material_symbols_shared_12.cModules/lvgl-module/source-fonts/material_symbols_shared_16.cModules/lvgl-module/source-fonts/material_symbols_shared_20.cModules/lvgl-module/source-fonts/material_symbols_shared_24.cModules/lvgl-module/source-fonts/material_symbols_shared_32.cModules/lvgl-module/source-fonts/material_symbols_shared_40.cModules/lvgl-module/source-fonts/material_symbols_shared_48.cModules/lvgl-module/source-fonts/material_symbols_shared_64.cModules/lvgl-module/source-fonts/material_symbols_statusbar_12.cModules/lvgl-module/source-fonts/material_symbols_statusbar_16.cModules/lvgl-module/source-fonts/material_symbols_statusbar_20.cModules/lvgl-module/source-fonts/material_symbols_statusbar_30.cModules/lvgl-module/source/arch/lvgl_esp32.cModules/lvgl-module/source/arch/lvgl_posix.cModules/lvgl-module/source/binfont.cModules/lvgl-module/source/fonts.cModules/lvgl-module/source/icon_names.cModules/lvgl-module/source/png_decoder.cModules/lvgl-module/source/symbols.cPlatforms/platform-esp32/private/bluetooth/esp32_ble_internal.hPlatforms/platform-esp32/source/drivers/bluetooth/esp32_ble.cppPlatforms/platform-esp32/source/drivers/bluetooth/esp32_ble_scan.cppTactility/CMakeLists.txtTactility/Include/Tactility/Tactility.hTactility/Private/Tactility/TactilityPrivate.hTactility/Private/Tactility/app/boot/BootScreen.hTactility/Private/Tactility/app/boot/BootSequence.hTactility/Private/Tactility/lvgl/IconFonts.hTactility/Source/Init.cppTactility/Source/InitApps.cppTactility/Source/InitModules.cppTactility/Source/InitServices.cppTactility/Source/Main.cppTactility/Source/MainDispatcher.cppTactility/Source/Tactility.cppTactility/Source/app/boot/Boot.cppTactility/Source/app/boot/BootScreen.cppTactility/Source/app/boot/BootSequence.cppTactility/Source/app/usbsettings/UsbSettings.cppTactility/Source/lvgl/IconFonts.cppTactility/Source/lvgl/Lvgl.cppTactility/Source/service/audio/Audio.cppTactility/Source/service/rtctime/RtcTime.cppTactility/Source/service/webserver/WebServerService.cppTactility/Source/settings/DisplaySettings.cppTactilityKernel/source/driver.cppTests/CMakeLists.txtdevice.pylv_conf.h
💤 Files with no reviewable changes (18)
- Modules/lvgl-module/source-fonts/material_symbols_statusbar_16.c
- Modules/lvgl-module/source-fonts/material_symbols_launcher_72.c
- Modules/lvgl-module/source-fonts/material_symbols_statusbar_12.c
- Modules/lvgl-module/source-fonts/material_symbols_launcher_42.c
- Modules/lvgl-module/source-fonts/material_symbols_shared_16.c
- Modules/lvgl-module/source-fonts/material_symbols_launcher_48.c
- Modules/lvgl-module/source-fonts/material_symbols_shared_32.c
- Modules/lvgl-module/source-fonts/material_symbols_launcher_64.c
- Modules/lvgl-module/source-fonts/material_symbols_launcher_36.c
- Modules/lvgl-module/source-fonts/material_symbols_shared_12.c
- Modules/lvgl-module/source-fonts/material_symbols_shared_40.c
- Modules/lvgl-module/source-fonts/material_symbols_launcher_30.c
- Modules/lvgl-module/source-fonts/material_symbols_shared_24.c
- Modules/lvgl-module/source-fonts/material_symbols_statusbar_20.c
- Modules/lvgl-module/source-fonts/material_symbols_shared_20.c
- Modules/lvgl-module/source-fonts/material_symbols_statusbar_30.c
- Modules/lvgl-module/source-fonts/material_symbols_shared_48.c
- Tactility/Source/Tactility.cpp
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 3 remain after this review.
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Organization UI
- Review profile: CHILL
- Plan: Advanced
- Run ID:
e8cd1bfb-fa30-4440-b4bd-5f90aa06dad8
📒 Files selected for processing (9)
Tactility/Include/Tactility/MainDispatcher.hTactility/Include/Tactility/Tactility.hTactility/Private/Tactility/app/boot/BootInit.hTactility/Source/Init.cppTactility/Source/InitServices.cppTactility/Source/MainDispatcher.cppTactility/Source/TactilityEsp.cppTactility/Source/app/boot/Boot.cppTactility/Source/app/boot/BootInit.cpp
💤 Files with no reviewable changes (2)
- Tactility/Source/InitServices.cpp
- Tactility/Source/Init.cpp
🚧 Files skipped from review as they are similar to previous changes (1)
- Tactility/Source/MainDispatcher.cpp
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review.
Graphics & rendering
binfont-moduleto generate bitmap fonts on the device itselfModules/lodepng-moduleto make the feature re-usable in non-LVGL apps too. Add binding functions for LVGL support.Data/Boot
Tactility.cppand itsrun()function into variousInit*.cppfiles.Boot.cppapp as non-LVGL appBootSequence.cppfor the init code.BLE
UX & UI