Skip to content

Conversation

@segin
Copy link
Owner

@segin segin commented Feb 11, 2026

Implemented proper D-Bus dictionary serialization for MPRIS Metadata.
The fix involves:

  1. Updating DBusVariant to support nested dictionaries.
  2. Refactoring D-Bus serialization logic in MethodHandler and SignalEmitter to handle the new Dictionary type recursively.
  3. Replacing the placeholder string in PropertyManager with the actual metadata data structure.
  4. Adding unit tests for the new functionality.

PR created automatically by Jules for task 10124462528196655562 started by @segin

This commit addresses the TODO in PropertyManager.cpp by implementing proper
recursive serialization for D-Bus dictionaries.

Key changes:
- Extended DBusVariant in include/mpris/MPRISTypes.h to support Dictionary type.
- Used std::shared_ptr<DBusDictionary> to handle recursive variant definitions.
- Refactored MethodHandler.cpp to use a recursive appendVariantToIter_unlocked helper.
- Updated SignalEmitter.cpp to handle dictionary variants in PropertiesChanged signals.
- Fixed PropertyManager.cpp to pass the actual metadata dictionary instead of a placeholder.
- Added a unit test case for nested dictionary variants in tests/test_mpris_types.cpp.

This ensures that MPRIS clients receive correctly structured metadata, following
the standard D-Bus 'a{sv}' (array of dict entries) format.

Co-authored-by: segin <[email protected]>
@google-labs-jules
Copy link
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@segin segin merged commit 1d0172b into master Feb 11, 2026
0 of 2 checks passed
@segin segin deleted the fix-mpris-metadata-serialization-10124462528196655562 branch February 11, 2026 22:00
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.

1 participant