Update - #104
Conversation
* RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 - COMRPC for FrontPanel * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC * RDKEMW-1013 FrontPanel COMRPC
1.0.12 release 1.0.12
|
|
…interface header changes (#93) * RDKEMW-3789: align to ILEDControl changes * RDKEMW-3789: LEDControl resolve the build errors * RDKEMW-3789: fix the build error * RDKEMW-3789: optimize the code and update proper return values * RDKEMW-3789: change error to proper value * RDKEMW-3789: add debug logs to clarify mismatching state * RDKEMW-3789: clean-up test logic and make the plugin singleton and inhibit copying or multiple instantiations * RDKEMW-3789: enhance LEDControl implementation with cache for supported state * RDKEMW-3789: LEDControl return unsupported if HAL init fails * RDKEMW-3789: add backward compatibility for GetLEDState * RDKEMW-3789: LEDControl align the ERROR response to previous behavior * RDKEMW-3789: LEDControl add logging to confirm method triggered * RDKEMW-3789: fix the build issues * RDKEMW-3789: fix the L2 compile error * RDKEMW-3789: unwanted remove editor configs * RDKEMW-3789: update LEDControl L2 COMRPC states to matching states * RDKEMW-3789: point testframework to fetch the updated code * RDKEMW-3789: Turn OFF LEDControl L2 for unblocking others * RDKEMW-3789: turn OFF L2 of LEDControl until testframework adopts the change * RDKEMW-3789: LEDControl implement L2 changes * RDKEMW-3789: use testframework SHA for workflow verification * RDKEMW-3789: LEDControl add the missing conversions * RDKEMW-3789: LEDControl L2 revert to old logic * RDKEMW-3789: LEDControl L2 fix the logical issues * RDKEMW-3789: LEDcontrol L2 correct the enum used * RDKEMW-3789: LEDControl L2 fix the error * RDKEMW-3789: LEDControl L2 enhancements * RDKEMW-3789: LEDControl fix the duplicate TC definition and warning * RDKEMW-3789: LEDControl L2 fix warnings and correct init param * RDKEMW-3789: LEDControl L2 fix the error code mismatches * RDKEMW-3789: use updated testframework * RDKEMW-3789: Update L1-tests to use default develop head * RDKEMW-3789: Update L2-tests to use default develop head
1.0.13 release 1.0.13
Deploy cla action
1.0.14 release 1.0.14
Deploy fossid_integration_stateless_diffscan_target_repo action
1.0.15 release 1.0.15
* RDKEMW-7784 - Frontpanel GTest --------- Co-authored-by: apatel859 <48992974+apatel859@users.noreply.github.com>
1.0.16 release 1.0.16
* RDKEMW-7617 - Range in 'getFrontPanelLights' api * RDKEMW-7617 - Range in 'getFrontPanelLights' api
1.0.17 release 1.0.17
Reason for change: README update Test Procedure: None Risks: Low Priority: P1 version: patch
1.5.1 release 1.5.1
…cecontrol to MW builds (#134) * Removing voice and remote control plugins. * Adding temp dummy target when there are no cmake install targets * Updates
RDKEMW-12197: Remove entservices-remotecontrol and entservices-voicecontrol
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 65 out of 65 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (4)
helpers/frontpanel.cpp:1
CFrontPanel::deinitialize()dereferencess_instanceunconditionally (s_instance->stop()), which will crash ifdeinitialize()is called beforeinstance()initializes the singleton (or after it has already been deleted). Guards_instancebefore callingstop()(and ideally makedeinitialize()idempotent so repeated calls are safe).
helpers/frontpanel.h:1CFrontPanel::loadPreferences()remains part of the public helper API, but its implementation was removed inhelpers/frontpanel.cppin this PR. If any remaining code links against this helper and callsloadPreferences(), it will fail at link time with an undefined reference. Either restore the implementation, or remove/replace this API (and any callers) as part of the same change.
helpers/PluginInterfaceBuilder.h:1- The move constructor transfers
_servicefromother, but it only nullsother._interfaceand leavesother._serviceintact. If the moved-from object later tries to use/release_service(e.g., in a destructor or another method), this can lead to double-release or unexpected behavior. Consider settingother._service = nullptr(and ensure move assignment, destructor, and ownership semantics are consistent).
README.md:1 - The Markdown table uses double leading pipes (
||), which renders as an extra empty column in many Markdown parsers. Use single leading pipes (|) per row for a standard 2-column table.
* Add FindTelemetry.cmake to locate Telemetry library * Integrate Telemetry package in CMakeLists.txt Added Telemetry package support to MotionDetection plugin. * Add telemetry bus message sender include
Signed-off-by: svemur170 <srikanth_vemuri@comcast.com>
1.6.1 for develop
| void CFrontPanel::deinitialize() | ||
| { | ||
|
|
||
| s_instance->stop(); | ||
|
|
There was a problem hiding this comment.
CFrontPanel::deinitialize() dereferences s_instance unconditionally (s_instance->stop()), which will crash if deinitialize is called before instance() initializes s_instance (or after it was already deleted). Add a null check (and ideally an initDone guard) before calling methods on s_instance, and consider making the function idempotent so repeated calls are safe.
| void setPowerStatus(bool powerStatus); | ||
| JsonObject getPreferences(); | ||
| void setPreferences(const JsonObject& preferences); | ||
| bool setLED(const JsonObject& blinkInfo); | ||
| void setBlink(const JsonObject& blinkInfo); | ||
| void loadPreferences(); | ||
| void stopBlinkTimer(); |
There was a problem hiding this comment.
CFrontPanel still declares loadPreferences() as a public method, but there is no corresponding definition in the repo (searching for CFrontPanel::loadPreferences returns nothing). This will lead to link errors for any target that links helpers/frontpanel.cpp and calls this API; either restore the implementation or remove the declaration if it’s intentionally no longer supported.
| // use move | ||
| PluginInterfaceRef(PluginInterfaceRef&& other) | ||
| : _interface(other._interface) | ||
| , _service(other._service) | ||
| { | ||
| other._interface = nullptr; | ||
| } |
There was a problem hiding this comment.
PluginInterfaceRef now stores _service and moves it in the move-constructor, but the move-constructor only nulls other._interface (not other._service). More importantly, move-assignment/other operations should be updated to treat _service consistently (move it and clear the moved-from state) to avoid stale pointers and confusing object state.
| #include <syscall.h> | ||
| #include "UtilsJsonRpc.h" | ||
|
|
||
| #include <telemetry_busmessage_sender.h> | ||
|
|
There was a problem hiding this comment.
Telemetry is included and used unconditionally (#include <telemetry_busmessage_sender.h>), but the CMake changes make Telemetry optional (find_package(Telemetry) + link only when found). If Telemetry isn't installed, this will fail to compile even though TELEMETRY_FOUND is false. Please guard the include/usage behind a compile definition (e.g., ENABLE_TELEMETRY_LOGGING) or make Telemetry a required dependency for MotionDetection.
| find_package(${NAMESPACE}Plugins REQUIRED) | ||
| find_package(Telemetry) | ||
|
|
||
| add_library(${MODULE_NAME} SHARED |
There was a problem hiding this comment.
find_package(Telemetry) is optional here, but MotionDetection.cpp includes and calls telemetry APIs unconditionally. Either make Telemetry REQUIRED in CMake, or add a compile definition when TELEMETRY_FOUND is true and conditionally compile telemetry-related code so builds without Telemetry still succeed.
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
* RDKEMW-18857 : Remove RDKCM_RDKE from all workflows Reason for change: RDKCM_RDKE secret is introduced to access entservices-testframework when its private. Now repo has been made as public. So, removing the RDKCM_RDKE secrets from all workflows. Test Procedure: refer ticket. Risks: Medium Priority: P2 version: Patch Signed-off-by: balaji velmurugan <balaji_velmurugan@comcast.com> * Update component-release.yml * Update build_dependencies.sh * Update component-release.yml * Updated component-release-main.yml --------- Signed-off-by: balaji velmurugan <balaji_velmurugan@comcast.com> Co-authored-by: balaji velmurugan <balaji_velmurugan@comcast.com> Co-authored-by: rajaLucy <rajakiranyadavalli@gmail.com>
|
|
||
| #include <telemetry_busmessage_sender.h> | ||
|
|
| if(TELEMETRY_FOUND) | ||
| target_link_libraries(${MODULE_NAME} PRIVATE ${TELEMETRY_LIBRARIES}) | ||
| target_include_directories(${MODULE_NAME} PRIVATE ${TELEMETRY_INCLUDE_DIRS}) | ||
| endif() |
| find_package(PkgConfig) | ||
|
|
||
| find_library(TELEMETRY_LIBRARIES NAMES telemetry_msgsender) | ||
| find_path(TELEMETRY_INCLUDE_DIRS NAMES telemetry_busmessage_sender.h) | ||
|
|
||
| include(FindPackageHandleStandardArgs) | ||
| FIND_PACKAGE_HANDLE_STANDARD_ARGS(TELEMETRY DEFAULT_MSG TELEMETRY_INCLUDE_DIRS TELEMETRY_LIBRARIES) | ||
|
|
||
| mark_as_advanced( | ||
| TELEMETRY_FOUND | ||
| TELEMETRY_INCLUDE_DIRS | ||
| TELEMETRY_LIBRARIES) |
| void CFrontPanel::deinitialize() | ||
| { | ||
|
|
||
| s_instance->stop(); | ||
|
|
||
| if (_powerManagerPlugin) { | ||
| _powerManagerPlugin.Reset(); | ||
| } | ||
| if (s_instance) { | ||
| delete s_instance; | ||
| s_instance = nullptr; | ||
| } | ||
| initDone = 0; | ||
| } |
| t2_event_d("SYST_INFO_NotifyMotion", 1); | ||
|
|
Co-authored-by: smohap466_comcast <srinibas_mohapatra@comcast.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 70 out of 70 changed files in this pull request and generated no new comments.
Suppressed comments (4)
MotionDetection/MotionDetection.cpp:463
- This telemetry event is emitted unconditionally. If telemetry logging is disabled (ENABLE_TELEMETRY_LOGGING not defined) or the telemetry library is not linked, this will cause compile/link failures or unintentionally emit telemetry in builds where it’s meant to be off.
MotionDetection/CMakeLists.txt:27 - Telemetry is discovered and linked opportunistically, but MotionDetection.cpp currently uses telemetry APIs unconditionally. This combination can break builds when telemetry isn’t present. Consider tying Telemetry discovery/linking to BUILD_ENABLE_TELEMETRY_LOGGING and making it REQUIRED when enabled.
helpers/frontpanel.cpp:216 - CFrontPanel::deinitialize() dereferences s_instance unconditionally (s_instance->stop()), which will crash if deinitialize() is called before instance() creates the singleton (or after it has already been deleted).
MotionDetection/MotionDetection.cpp:29 - Telemetry is included unconditionally, but the project only enables telemetry via the ENABLE_TELEMETRY_LOGGING define (see helpers/UtilsTelemetry.h). As written, builds without telemetry headers available (or when telemetry is intentionally disabled) can fail at compile/link time.
No description provided.