Skip to content

Handle explicit getRowId=None without breaking grid initialization#460

Merged
BSd3v merged 3 commits intov35from
copilot/fix-grid-render-issue
Apr 24, 2026
Merged

Handle explicit getRowId=None without breaking grid initialization#460
BSd3v merged 3 commits intov35from
copilot/fix-grid-render-issue

Conversation

Copy link
Copy Markdown

Copilot AI commented Apr 24, 2026

Explicitly setting getRowId=None currently serializes to null and is forwarded to AG Grid, which then attempts to execute it as a function and fails during row model initialization. This change ensures explicit None behaves like the default unset state.

  • Runtime prop normalization

    • In AgGrid.react.js, after Dash prop conversion, getRowId is removed from convertedProps when its value is null.
    • This preserves existing behavior for valid getRowId functions while avoiding invalid function invocation when None is passed from Python.
  • Regression coverage

    • Added tests/test_get_row_id.py::test_get_row_id_none_renders.
    • The test mounts an AgGrid with getRowId=None and asserts the first cell renders, covering the failing path.
  • Changelog

    • Added an unreleased fix entry documenting the getRowId=None rendering issue.
dag.AgGrid(
    id="grid",
    rowData=[{"test": 1}],
    columnDefs=[{"field": "test"}],
    getRowId=None,  # now treated as unset, not forwarded as null function
)

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=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=7817 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.czDm6G --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,8018562585374919745,11954307282955355981,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --pseudonymization-salt-handle=7,i,3008142961025062388,1791355020606850090,4 --trace-process-track-uuid=3190708989122997041 --enable-logging (dns block)
    • Triggering command: /opt/google/chrome/chrome /opt/google/chrome/chrome --allow-pre-commit-input --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-features=IgnoreDuplicateNavs,Prewarm --disable-gpu --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-automation --enable-logging --headless --log-level=0 --no-first-run --no-sandbox (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=8725 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.wTyv8i --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,10833499347133465046,9298815848665987510,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --pseudonymization-salt-handle=7,i,12743714907370452048,3509294211690135593,4 --trace-process-track-uuid=3190708989122997041 --enable-logging (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=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=7817 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.czDm6G --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,8018562585374919745,11954307282955355981,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --pseudonymization-salt-handle=7,i,3008142961025062388,1791355020606850090,4 --trace-process-track-uuid=3190708989122997041 --enable-logging (dns block)
    • Triggering command: /opt/google/chrome/chrome /opt/google/chrome/chrome --allow-pre-commit-input --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-features=IgnoreDuplicateNavs,Prewarm --disable-gpu --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-automation --enable-logging --headless --log-level=0 --no-first-run --no-sandbox (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=8725 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.wTyv8i --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,10833499347133465046,9298815848665987510,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --pseudonymization-salt-handle=7,i,12743714907370452048,3509294211690135593,4 --trace-process-track-uuid=3190708989122997041 --enable-logging (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=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=7817 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.czDm6G --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,8018562585374919745,11954307282955355981,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --pseudonymization-salt-handle=7,i,3008142961025062388,1791355020606850090,4 --trace-process-track-uuid=3190708989122997041 --enable-logging (dns block)
    • Triggering command: /opt/google/chrome/chrome /opt/google/chrome/chrome --allow-pre-commit-input --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-client-side-phishing-detection --disable-default-apps --disable-dev-shm-usage --disable-features=IgnoreDuplicateNavs,Prewarm --disable-gpu --disable-hang-monitor --disable-popup-blocking --disable-prompt-on-repost --disable-sync --enable-automation --enable-logging --headless --log-level=0 --no-first-run --no-sandbox (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --disable-dev-shm-usage --use-angle=swiftshader-webgl --crashpad-handler-pid=8725 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.wTyv8i --change-stack-guard-on-fork=enable --shared-files=v8_context_snapshot_data:100 --field-trial-handle=3,i,10833499347133465046,9298815848665987510,262144 --disable-features=IgnoreDuplicateNavs,PaintHolding,Prewarm --variations-seed-version --pseudonymization-salt-handle=7,i,12743714907370452048,3509294211690135593,4 --trace-process-track-uuid=3190708989122997041 --enable-logging (dns block)

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

Copilot AI changed the title [WIP] Fix grid rendering issue when getRowId is None Handle explicit getRowId=None without breaking grid initialization Apr 24, 2026
Copilot AI requested a review from BSd3v April 24, 2026 11:46
Copy link
Copy Markdown
Collaborator

@BSd3v BSd3v left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💃

@BSd3v BSd3v marked this pull request as ready for review April 24, 2026 18:42
@BSd3v BSd3v merged commit 28f9dbe into v35 Apr 24, 2026
4 checks passed
@BSd3v BSd3v deleted the copilot/fix-grid-render-issue branch April 24, 2026 18:42
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.

Grid does not render when getRowId is explicitly set to None

2 participants