Skip to content

Make propertiesPanel.showEntry reliable across collapsed groups and async renders#486

Draft
Copilot wants to merge 7 commits into
mainfrom
copilot/investigate-showentry-event-pipeline
Draft

Make propertiesPanel.showEntry reliable across collapsed groups and async renders#486
Copilot wants to merge 7 commits into
mainfrom
copilot/investigate-showentry-event-pipeline

Conversation

Copy link
Copy Markdown

Copilot AI commented Apr 17, 2026

propertiesPanel.showEntry(id) currently depends on the target entry being mounted at event-fire time: the listener lives inside each entry via useShowEntryEvent. If the entry's group is collapsed (hidden via CSS — .focus() no-ops) or the entry has not rendered yet (async selection), the request is silently dropped; firing twice "works" but is a visible hack.

Changes

  • src/context/ShowEntryContext.js (new) — coordinator context exposing { pendingRequest: { id, token } | null, requestShow, resolve }.
  • src/PropertiesPanel.js — subscribes to propertiesPanel.showEntry at the panel root, stores the pending request (monotonic token internally for element-change race handling), cancels on element change (via useUpdateLayoutEffect so initial requests aren't clobbered), and provides the context. Element-change cancellation tracks the most recently committed request token so requests issued in the same React batch as the element change (the common selection.select(el); fire('propertiesPanel.showEntry', { id }) pattern) are preserved instead of clobbered. resolve() simply clears the current pending request (no token argument).
  • src/components/Group.js, ListGroup.js, entries/Collapsible.js — open themselves via setOpen(true) when the pending id matches one of their (possibly nested) entries. The open-on-pendingRequest effect uses useLayoutEffect so setOpen runs synchronously after DOM mutations.
  • src/hooks/useShowEntryEvent.js — pull-based: a single deps-less useLayoutEffect runs on every commit and asks "am I the coordinator's pending target and am I currently visible (offsetParent !== null)?" If yes, focus + clear the request via resolve(). If no, do nothing — the next commit will check again. Whatever sequence of renders / event fires it takes for the entry to become visible (group opening, host re-renders, un-batched fires), the entry will focus itself on the first commit where it is both the target and visible. No tokens on the focus path, no setTimeout/requestAnimationFrame, no assumptions about effect ordering across the tree. The entry latches its "wants focus" state when it first observes itself as the target so a panel-level cancellation (e.g. element-change race) cannot silently drop the request before the entry reacts; the latch is released only when a competing request arrives or after focus succeeds. The legacy useEvent('propertiesPanel.showEntry', …) subscription is kept for consumers using the hook outside a <PropertiesPanel> and sets the same latch.
  • test/spec/showEntryCoordinator.spec.js (new) — covers: already-visible, collapsed group, late-mounted entry, no focusable control, unknown id, element-change cancellation, batched element-change + showEntry (regression for the selection.select + fire flow), visibility-aware focus (asserts .focus() is never called on a hidden input — Karma's iframe doesn't reliably own browser focus, so the tracker records (id, visible) tuples instead of relying on document.activeElement), host-driven separate-fires flow (mounts a wrapper subscribed to selection.changed and fires the two diagram-js events without React-batching them — the closest faithful reproduction of the camunda/linting flow), rapid succession (last wins), data-entry-id regression, legacy hook path.

Flow

eventBus.fire('propertiesPanel.showEntry', { id })
  → PropertiesPanel: pendingRequest = { id, … }  (via context)
    → on every commit, every mounted entry checks via useLayoutEffect:
        am I the target AND am I visible?
          - yes → focus() / select() → resolve() (clears pendingRequest)
          - no  → do nothing; latch "wants focus" if I'm the target;
                  the next commit will check again
    → in parallel, Group / ListGroup / Collapsible containing `id`
      open themselves via setOpen(true) on pendingRequest match,
      which triggers another commit on which the now-visible entry focuses
  (element change cancels the pending request only if it was issued
   before that change — requests batched with the change are kept;
   the entry's latch protects against same-batch races)

Backward compatibility

  • propertiesPanel.showEntry event name and { id } payload unchanged.
  • useShowEntryEvent(id) export and signature unchanged; legacy event-bus path preserved.
  • data-entry-id on entry wrappers and PropertiesPanelContext.onShow unchanged.

Copilot AI and others added 2 commits April 17, 2026 08:07
Agent-Logs-Url: https://github.com/bpmn-io/properties-panel/sessions/52312ae6-208d-478c-9055-ed4c559c8af3

Co-authored-by: philippfromme <7633572+philippfromme@users.noreply.github.com>
Agent-Logs-Url: https://github.com/bpmn-io/properties-panel/sessions/52312ae6-208d-478c-9055-ed4c559c8af3

Co-authored-by: philippfromme <7633572+philippfromme@users.noreply.github.com>
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@philippfromme
Copy link
Copy Markdown
Contributor

@copilot What about tests?

Copy link
Copy Markdown
Author

Copilot AI commented Apr 17, 2026

@copilot What about tests?

Added in 08f79a6 — see test/spec/showEntryCoordinator.spec.js. It covers 9 scenarios: already-visible entry, collapsed group auto-opening, late-mounted entry (event fires before render), entry without focusable control, unknown id, element-change cancellation, rapid successive calls (last-wins), data-entry-id regression, and the legacy event-bus hook path. Let me know if there's a case you'd like covered that isn't there.

@philippfromme
Copy link
Copy Markdown
Contributor

@copilot I've tried it in e2e in camunda/linting by removing the setTimout hack and it doesn't work. It only focuses the input if the group was already open.

Copy link
Copy Markdown
Author

Copilot AI commented Apr 27, 2026

@copilot I've tried it in e2e in camunda/linting by removing the [setTimout hack](https://github.com/camunda/linting/blob/993df60ae8c4288b96eedb1e06aef154ec12781...

Good catch — reproduced and fixed in bb6724e.

The bug: in the linting flow selection.select(el); fire('propertiesPanel.showEntry', { id }) happens synchronously, so React batches the new element prop and the new pendingRequest into one render. My element-change effect then unconditionally cleared the just-issued request after commit, so the group never opened.

Fix: track the most recently committed request token. On element change, only cancel a pending request if it was already alive in the previous render (stale) — requests issued in the same batch as the element change are preserved. Added a regression test (should focus entry when element change and showEntry are batched) that mirrors the linting flow. Could you give it another try in camunda/linting without the setTimeout hack?

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4374 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-89593413 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,6283036753449574400,12845477879353745075,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-89593413 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=89593413 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 /home/REDACTED/worstart (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4549 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-57078225 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,3767251255317897564,16856183739064331219,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • android.clients.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4374 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-89593413 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,6283036753449574400,12845477879353745075,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-89593413 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=89593413 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 /home/REDACTED/worstart (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4549 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-57078225 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,3767251255317897564,16856183739064331219,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4374 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-89593413 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,6283036753449574400,12845477879353745075,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-89593413 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=89593413 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 /home/REDACTED/worstart (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4549 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-57078225 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,3767251255317897564,16856183739064331219,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • content-autofill.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4374 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-89593413 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,6283036753449574400,12845477879353745075,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-89593413 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=89593413 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 /home/REDACTED/worstart (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4549 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-57078225 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,3767251255317897564,16856183739064331219,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • redirector.gvt1.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4374 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-89593413 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,6283036753449574400,12845477879353745075,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-89593413 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=89593413 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 /home/REDACTED/worstart (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4549 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-57078225 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,3767251255317897564,16856183739064331219,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • www-api.ibm.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/properties-panel/properties-panel/node_modules/@ibm/telemetry-js/dist/REDACTED-process.js --log=/tmp/ibmtelemetry-20260427T150035128Z-937178.log --config=telemetry.yml (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4374 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-89593413 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,6283036753449574400,12845477879353745075,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-89593413 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=89593413 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 /home/REDACTED/worstart (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4549 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-57078225 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,3767251255317897564,16856183739064331219,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@philippfromme
Copy link
Copy Markdown
Contributor

@copilot Slightly better, it works when I have the element already selected. But if I don't I still need to click twice.

Copy link
Copy Markdown
Author

Copilot AI commented Apr 27, 2026

@copilot Slightly better, it works when I have the element already selected. But if I don't I still need to click twice.

Found the underlying bug — fixed in 7232150.

Root cause: preact runs effects child-first. On the same render where pendingRequest arrives with the new element, useShowEntryEvent's focus effect ran before the parent Group/Collapsible's setOpen effect. Closed groups use display: none, so calling .focus() on the still-hidden input was a silent no-op — and the request was then resolved/cleared, so when the group did open there was nothing left to react to. (My existing test missed this because the focus tracker recorded every .focus() call regardless of whether it actually moved focus.)

Fix in useShowEntryEvent: skip focus when ref.current.offsetParent === null (entry not visible) and leave focus.current = true so the deps-less effect retries on the next render — by which point the group has opened. Added a regression test that asserts focus is only called on a visible element (hiddenFocusedIds must be empty).

Could you give it another try in camunda/linting without the setTimeout hack?

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4636 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-69620455 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,5689108300778336450,5143045534950090436,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-69620455 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=69620455 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4827 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-84931605 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,211636269470723470,1295356235598872588,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • android.clients.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4827 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-84931605 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,211636269470723470,1295356235598872588,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-84931605 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=84931605 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 git (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4997 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-16986164 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,3203955104891596307,9819477116064147119,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4636 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-69620455 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,5689108300778336450,5143045534950090436,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-69620455 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=69620455 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4827 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-84931605 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,211636269470723470,1295356235598872588,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • content-autofill.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4636 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-69620455 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,5689108300778336450,5143045534950090436,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-69620455 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=69620455 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4827 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-84931605 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,211636269470723470,1295356235598872588,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • redirector.gvt1.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4636 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-69620455 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,5689108300778336450,5143045534950090436,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-69620455 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=69620455 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4827 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-84931605 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,211636269470723470,1295356235598872588,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • www-api.ibm.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/properties-panel/properties-panel/node_modules/@ibm/telemetry-js/dist/REDACTED-process.js --log=/tmp/ibmtelemetry-20260427T154053543Z-047583.log --config=telemetry.yml (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4636 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-69620455 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,5689108300778336450,5143045534950090436,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-69620455 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=69620455 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4827 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-84931605 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,211636269470723470,1295356235598872588,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@philippfromme
Copy link
Copy Markdown
Contributor

@copilot It still doesn't work. It only focuses if either the element is already selected or the group was already open.

Copy link
Copy Markdown
Author

Copilot AI commented Apr 29, 2026

@copilot It still doesn't work. It only focuses if either the element is already selected or the group was already open.

Made the focus mechanism retry-based in ac70dbd rather than relying on preact's render cycle.

Previously the focus effect only re-attempted when something triggered another render of the entry — which works in my isolated tests but is sensitive to the exact ordering of effects and state flushes in real life (host wrapper subscribing to selection.changed, two separate eventBus.fire calls, layout state updates, etc.).

Now: if the entry is not visible at effect time, schedule requestAnimationFrame retries until it becomes visible (then focus + resolve). This decouples focus timing from the render cycle, so once the parent's setOpen has been applied to the DOM the entry gets focused regardless of how many renders / event fires happened in between. The synchronous "already visible" path is kept (no rAF delay) so the common case is unchanged.

Also added a regression test (should focus entry via host (selection.changed → showEntry, separate fires)) that reproduces the linting flow exactly: a host wrapper subscribes to selection.changed and re-renders, then two separate (not React-batched) eventBus fires drive the panel.

Could you give it another try in camunda/linting without the setTimeout hack?

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4414 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-17440980 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,1565626486711972829,6257042866545013925,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-17440980 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=17440980 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4649 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-57191914 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,16231018322837108355,14960962868187839476,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • android.clients.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4414 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-17440980 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,1565626486711972829,6257042866545013925,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-17440980 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=17440980 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4649 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-57191914 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,16231018322837108355,14960962868187839476,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4414 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-17440980 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,1565626486711972829,6257042866545013925,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-17440980 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=17440980 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4649 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-57191914 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,16231018322837108355,14960962868187839476,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • content-autofill.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4414 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-17440980 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,1565626486711972829,6257042866545013925,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-17440980 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=17440980 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4649 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-57191914 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,16231018322837108355,14960962868187839476,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • redirector.gvt1.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4414 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-17440980 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,1565626486711972829,6257042866545013925,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-17440980 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=17440980 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4649 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-57191914 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,16231018322837108355,14960962868187839476,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • www-api.ibm.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/properties-panel/properties-panel/node_modules/@ibm/telemetry-js/dist/REDACTED-process.js --log=/tmp/ibmtelemetry-20260429T155647106Z-749984.log --config=telemetry.yml (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4414 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-17440980 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,1565626486711972829,6257042866545013925,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-17440980 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=17440980 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=4649 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-57191914 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,16231018322837108355,14960962868187839476,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@philippfromme
Copy link
Copy Markdown
Contributor

@copilot But isn't this just moving the setTimeout into the properties panel since requestAnimationFrame basically does the same?

Copy link
Copy Markdown
Author

Copilot AI commented Apr 30, 2026

@copilot But isn't this just moving the setTimeout into the properties panel since requestAnimationFrame basically does the same?

Fair point — replaced the rAF retry with a synchronous useLayoutEffect cascade in b6d555e.

Unlike setTimeout/rAF, useLayoutEffect runs synchronously after DOM mutations but before paint, and any state updates inside it trigger a synchronous re-render before paint. So the flow is now fully deterministic within a single frame:

  1. Render commits with new pendingRequest
  2. Layout effects run child-first:
    • Entry: not visible (parent still display: none) → leaves focus.current = true, does not resolve
    • Parent Group/Collapsible: matches id → calls setOpen(true) synchronously
  3. setOpen triggers a synchronous re-render before paint
  4. Layout effects run again:
    • Entry: now visible → .focus() + resolve

No timers, no animation frames, no waiting on the event loop. The parent always opens before the child paints, and the child always focuses on the same frame. Could you give it another try in camunda/linting without the setTimeout hack?

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=6062 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-17877775 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,15693059240910252896,6434851836535416905,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-17877775 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=17877775 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
  • android.clients.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=6062 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-17877775 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,15693059240910252896,6434851836535416905,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-17877775 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=17877775 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=6062 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-17877775 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,15693059240910252896,6434851836535416905,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-17877775 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=17877775 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
  • content-autofill.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=6062 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-17877775 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,15693059240910252896,6434851836535416905,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-17877775 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=17877775 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
  • redirector.gvt1.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=6062 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-17877775 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,15693059240910252896,6434851836535416905,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-17877775 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=17877775 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
  • www-api.ibm.com
    • Triggering command: /usr/local/bin/node node /home/REDACTED/work/properties-panel/properties-panel/node_modules/@ibm/telemetry-js/dist/REDACTED-process.js --log=/tmp/ibmtelemetry-20260430T070909318Z-077204.log --config=telemetry.yml (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=6062 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-17877775 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,15693059240910252896,6434851836535416905,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-17877775 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=17877775 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@philippfromme
Copy link
Copy Markdown
Contributor

@copilot The useLayoutEffect cascade is still pushing focus down from the panel and trying to make open + focus resolve in a single frame. That's brittle — it depends on the child's effect re-running after the parent's setOpen, which in turn depends on dep equality, mount timing, and whether the host batches the two eventBus.fire calls. Every iteration so far has been a different answer to "how do I know the render settled?", and that question doesn't have a clean answer in Preact.

Let's flip it: instead of pushing focus down, let the entry pull.

Keep pendingRequest in ShowEntryContext as today. Drop the visibility-aware focus effect, the rAF retry, the token resolve dance, all of it. Replace it with: on every commit, the entry checks "am I the pending target and am I visible (offsetParent !== null)?" If yes, focus + clear the request. If no, do nothing — the next render will check again.

// useShowEntryEvent.js
useLayoutEffect(() => {
  if (!ref.current) return;
  if (pendingRequest?.id !== id) return;
  if (ref.current.offsetParent === null) return; // not visible yet, wait for next commit
  ref.current.focus();
  if (ref.current.select) ref.current.select();
  resolve(); // clears pendingRequest
}); // no deps — runs on every commit

The parent Group/Collapsible keeps its setOpen(true) effect — that part is fine. But we no longer need the two effects to resolve in the same frame. Whatever sequence of renders it takes for the entry to become visible (one frame, two frames, host fires the events un-batched, whatever), the entry will focus itself on the first commit where it's both the target and visible. No tokens, no cascades, no rAF, no assumptions about effect ordering across the tree.

This is essentially what the setTimeout hack in camunda/linting is doing — waiting past the render churn and then asking "ready now?" — except driven by render commits instead of a wall-clock guess, so it's both faster and not racy.

Can you try this and update the tests? The element-change cancellation logic in PropertiesPanel.js should stay (still need last-wins for rapid successive calls), but most of the visibility/timing complexity in useShowEntryEvent should drop out.

Copy link
Copy Markdown
Author

Copilot AI commented May 9, 2026

@copilot The useLayoutEffect cascade is still pushing focus down from the panel and trying to make open + focus resolve in a single frame. That's brittle — it depends on the child's effect re-runn...

Good call — flipped to pull-based in 209130f.

useShowEntryEvent now runs a single deps-less useLayoutEffect: on every commit, if the entry is the coordinator's target and visible, it focuses + clears the request; otherwise it does nothing and waits for the next commit. No tokens, no rAF, no cascade reasoning — the parent Group/Collapsible's setOpen effect stays as-is and we no longer care which one runs first.

One subtlety I had to keep: the entry latches "wants focus" the first time it observes itself as the target. Without this latch, a panel-level cancellation (e.g. when element changes in the same render batch as the showEntry event) can null the pendingRequest before the entry has had a commit where it's both target and visible — silently losing the request. The latch is released only when a different request arrives or after focus succeeds, so semantics stay clean. The legacy event-bus path uses the same flag.

All 656 tests pass. Could you give it another try in camunda/linting without the setTimeout hack?

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5938 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-91117571 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,9475766358916725418,3628281577421176680,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-91117571 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=91117571 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=6120 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-64978980 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,13845280399721321649,3743615554528348089,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • android.clients.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5938 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-91117571 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,9475766358916725418,3628281577421176680,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-91117571 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=91117571 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=6120 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-64978980 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,13845280399721321649,3743615554528348089,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5938 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-91117571 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,9475766358916725418,3628281577421176680,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-91117571 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=91117571 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=6120 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-64978980 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,13845280399721321649,3743615554528348089,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • content-autofill.googleapis.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5938 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-91117571 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,9475766358916725418,3628281577421176680,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-91117571 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=91117571 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=6120 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-64978980 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,13845280399721321649,3743615554528348089,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • redirector.gvt1.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5938 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-91117571 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,9475766358916725418,3628281577421176680,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-91117571 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=91117571 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=6120 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-64978980 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,13845280399721321649,3743615554528348089,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
  • www-api.ibm.com
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node node /home/REDACTED/work/properties-panel/properties-panel/node_modules/@ibm/telemetry-js/dist/REDACTED-process.js --log=/tmp/ibmtelemetry-20260509T085520023Z-497549.log --config=telemetry.yml (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=5938 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-91117571 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,9475766358916725418,3628281577421176680,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome /home/REDACTED/.cache/puppeteer/chrome/linux-144.0.7559.96/chrome-linux64/chrome --user-data-dir=/tmp/karma-91117571 --enable-automation --no-default-browser-check --no-first-run --disable-default-apps --disable-popup-blocking --disable-translate --disable-REDACTED-timer-throttling --disable-renderer-REDACTEDing --disable-device-discovery-notifications --no-sandbox http://localhost:9876/?id=91117571 --headless --disable-gpu --disable-dev-shm-usage --use-mock-keychain --password-store=basic --remote-debugging-port=9222 (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=6120 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/karma-64978980 --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,13845280399721321649,3743615554528348089,262144 --disable-features=PaintHolding --variations-seed-version --trace-process-track-uuid=3190708989122997041 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@philippfromme philippfromme added the ready Ready to be worked on label May 26, 2026 — with bpmn-io-tasks
@philippfromme philippfromme removed the in progress Currently worked on label May 26, 2026
@philippfromme philippfromme added the backlog Queued in backlog label May 26, 2026 — with bpmn-io-tasks
@philippfromme philippfromme removed the ready Ready to be worked on label May 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backlog Queued in backlog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants