Skip to content

Conversation

@krixkrix
Copy link

E.g. to exclude drivers from build:
./build_clean_linux64.sh -DINCLUDE_DRIVERS=OFF

…ystem

E.g. to exclude drivers from build:
./build_clean_linux64.sh -DINCLUDE_DRIVERS=OFF
@alexanderoster alexanderoster merged commit b20f6fe into alexanderoster:develop Jan 18, 2026
2 checks passed
alexanderoster added a commit that referenced this pull request Jan 18, 2026
* Removed integration tests for now

* Small change in telemetry multi-chunking

* Fixed Signal queue race condition

* Fixed signal claiming behavior

* Fixed crash in State Signal

* Improved Unit tests

* Introduced ClaimSignalFromQueue for save signal retrieval. Depreciated older methods...

* Extended Unit tests

* Added Telemetry archiving

* Added Dummy signal tests to Example Plugins

* Added telemetry journal files

* Explicitly store telemetry base name

* Build api enhancements (#66)

* Add GetCreatedTimestamp and GetLastExecutionTimestamp to Build interface

* Feature: Add GetRecentBuildJobs() API to UIEnvironment

Add new API method to retrieve recent validated build jobs for
touchscreen UI display.

Changes:
1. **IDL Definition** (ACT/LibMCEnv.xml):
   - Added BuildIterator class following BuildExecutionIterator pattern
   - Added GetRecentBuildJobs(maxCount) method to UIEnvironment

2. **BuildIterator Implementation**:
   - New class CBuildIterator (libmcenv_builditerator.hpp/cpp)
   - Implements GetCurrentBuild() to return IBuild instances
   - Follows standard AMCF iterator pattern

3. **UIEnvironment Implementation** (libmcenv_uienvironment.cpp):
   - GetRecentBuildJobs() queries validated build jobs via DataModel
   - Returns BuildIterator with most recent jobs (newest first)
   - Limited by maxCount parameter

4. **CBuild Factory Methods** (libmcenv_build.cpp/hpp):
   - Added makeFrom() and makeSharedFrom() static methods
   - Enables BuildIterator to wrap existing build job instances

This API enables plugins to access build job data for UI display
without direct DataModel access, maintaining proper abstraction.

---

InterfacesCode: Regenerate interface files from ACT for GetRecentBuildJobs API

Regenerated C++ interface bindings and headers using ACT (Automatic
Component Toolkit) after adding GetRecentBuildJobs() method to
LibMCEnv.xml.

Generated/Updated files:
- Framework/HeadersDev/CppDynamic/libmcenv_dynamic.hpp
- Framework/HeadersDev/CppDynamic/libmcenv_dynamic.h
- Framework/HeadersDev/CppDynamic/libmcenv_types.hpp
- Framework/InterfacesCore/libmcenv_abi.hpp
- Framework/InterfacesCore/libmcenv_interfaces.hpp
- Framework/InterfacesCore/libmcenv_interfacewrapper.cpp
- Framework/InterfacesCore/libmcenv_types.hpp
- ACT/act.linux (binary timestamp update)

These files are auto-generated by running: ./act.linux LibMCEnv.xml

* Building dev package: preserve Unix file permissions (#63)

* build tool: add ACT/generate.sh as the linux equivalent of ACT/generate.bat (#60)

* build_clean_linux64.sh: forward additional arguments to CMake build system (#62)

E.g. to exclude drivers from build:
./build_clean_linux64.sh -DINCLUDE_DRIVERS=OFF

* Support jsonarrays in /api/ext responses (#61)

* Simplify GetPixels by removing redundant checks (#59)

Removed redundant null checks for pValueBuffer and m_PixelData, these checks stops the two-call pattern of the GetPixels().

* Fix: JSON API AddObjectValue/AddArrayValue returning parent instead of child (#64)

Bug: AddObjectValue() and AddArrayValue() were returning a pointer to
the parent object instead of the newly created child value, causing
JSON structure corruption.

Fix:
1. Call AddMember() to add the member to the parent
2. Use &(*m_pInstance)[sName.c_str()] to get pointer to the newly
   added child value in the parent's member map

Impact:
This bug affected any endpoint using AddArrayValue() or nested
AddObjectValue(), such as my /api/ext/builds/list which uses arrays.
The error "Referenced JSON value is not array" occurred.

---------

Co-authored-by: krixkrix <krixkrix@users.noreply.github.com>
Co-authored-by: craigsturgess <craig.sturgess@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants