{"object_kind":"push","event_name":"push","before":"3c1b8dcdcc0d52db82a6a6877aa764268c09172e","after":"6544996a33cbe2150e27329d774ff3cd31b5f2a0","ref":"refs/heads/master","ref_protected":true,"checkout_sha":"6544996a33cbe2150e27329d774ff3cd31b5f2a0","message":null,"user_id":3060,"user_name":"Wim Taymans","user_username":"wtaymans","user_email":"","user_avatar":"https://secure.gravatar.com/avatar/1ca1bed246cb9b95b7ead6d6be96bb09f0c112953140c8bb38b41aedf4465270?s=80&d=identicon","project_id":4753,"project":{"id":4753,"name":"pipewire","description":"Multimedia processing graphs","web_url":"https://gitlab.freedesktop.org/pipewire/pipewire","avatar_url":"https://gitlab.freedesktop.org/uploads/-/system/project/avatar/4753/pipewire.png","git_ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","git_http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git","namespace":"PipeWire","visibility_level":20,"path_with_namespace":"pipewire/pipewire","default_branch":"master","ci_config_path":"","homepage":"https://gitlab.freedesktop.org/pipewire/pipewire","url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git"},"commits":[{"id":"6544996a33cbe2150e27329d774ff3cd31b5f2a0","message":"pipewire-jack: emit foreign port registration callbacks on jack_activate\n\nThe jack_activate loop was only queuing NOTIFY_TYPE_PORTREGISTRATION\nfor the activating client's own ports. Ports belonging to other clients\n— including all WirePlumber-managed ports and MIDI ports — were silently\nskipped due to the o->port.port->client != c condition.\n\nThis caused two observable bugs for clients using libjackserver (e.g.\njackdbus):\n- JackPortRegistrationCallback was not fired for any pre-existing\n foreign ports at activate time, leaving the patchbay empty unless\n the session manager happened to start after the client.\n- JACK MIDI ports were never announced via callback, even though they\n are correctly returned by jack_get_ports().\n\nThe graph_order_callback fallback (used by jackdbus for initial port\nenumeration) is also ineffective here because pipewire-jack only fires\nit on connection events, not on activate.\n\nFix by iterating all non-removed foreign ports in the object list and\nqueuing registration callbacks for those whose node is active, matching\nthe semantics already implemented in node_info() for ports of nodes\nthat transition to running state after activate.\n\nThe change is libjackserver.so only. libjack.so behaviour is left\nunmodifed, as carla is showing ports of each client twice.\n","title":"pipewire-jack: emit foreign port registration callbacks on jack_activate","timestamp":"2026-03-13T09:21:20+01:00","url":"https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/6544996a33cbe2150e27329d774ff3cd31b5f2a0","author":{"name":"Nedko Arnaudov","email":"nedko@nedk.org"},"added":[],"modified":["pipewire-jack/src/meson.build","pipewire-jack/src/pipewire-jack.c"],"removed":[]}],"total_commits_count":1,"push_options":{},"repository":{"name":"pipewire","url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","description":"Multimedia processing graphs","homepage":"https://gitlab.freedesktop.org/pipewire/pipewire","git_http_url":"https://gitlab.freedesktop.org/pipewire/pipewire.git","git_ssh_url":"git@ssh.gitlab.freedesktop.org:pipewire/pipewire.git","visibility_level":20}}