Skip to content

Add date attribute support across processing and attribute visualizations#629

Draft
Copilot wants to merge 4 commits intomainfrom
copilot/add-support-for-date-attributes
Draft

Add date attribute support across processing and attribute visualizations#629
Copilot wants to merge 4 commits intomainfrom
copilot/add-support-for-date-attributes

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 14, 2026

Multinet date attributes were being dropped or rendered as blank attribute columns. This updates the data path so supported date values are preserved as native Date objects and displayed on usable date-aware scales in UpSet.

  • Core date handling

    • retain date columns as dataset attributes
    • parse supported inputs into native Date objects during processing
    • include date attributes in summary statistics by converting them to timestamps when computing numeric summaries
    • allow Vega range filters to operate on date-backed attributes
  • Supported date formats

    • native Date
    • year-only values (1999)
    • ISO-like dates/timestamps (2024-01-02, 2024-05-20T13:30:00Z)
    • textual dates that JS can parse reliably
    • ambiguous numeric formats such as 03/04/2024 remain unparsed by design
  • Attribute rendering

    • use timestamp values for attribute plots and alignment so existing numeric plot components continue to work
    • format attribute header ticks and summary tooltips with date-aware labels
    • adapt formatting to the visible range (year-only vs calendar date vs date-time)
  • Element view / Vega compatibility

    • convert Date values to numeric timestamps before passing item attributes into Vega-backed plots and preview data
    • keep brushing/filtering behavior consistent for date attributes without changing plot configuration shape
  • Coverage

    • add mocked date-attribute fixtures and focused Playwright coverage for rendered date scales
    • add regression coverage to ensure ambiguous slash-formatted dates are not auto-parsed
const annotations = {
  Name: 'label',
  'Group A': 'boolean',
  ReleaseDate: 'date',
  Premiere: 'date',
};

const rows = [
  { Name: 'Alpha', 'Group A': true, ReleaseDate: '1999', Premiere: '2024-01-02' },
  { Name: 'Beta', 'Group A': false, ReleaseDate: '2001', Premiere: '2024-05-20T13:30:00Z' },
];

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:

  • storybook.js.org
    • Triggering command: /opt/hostedtoolcache/node/24.14.1/x64/bin/node /opt/hostedtoolcache/node/24.14.1/x64/bin/node /home/REDACTED/work/upset2/upset2/packages/upset/node_modules/.bin/storybook dev -p 6006 (dns block)
  • www.googletagmanager.com
    • Triggering command: /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1217/chrome-headless-shell-linux64/chrome-headless-shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1217/chrome-headless-shell-linux64/chrome-headless-shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Transl (dns block)
    • Triggering command: /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1217/chrome-headless-shell-linux64/chrome-headless-shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1217/chrome-headless-shell-linux64/chrome-headless-shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Transl de/node/bin/node (dns block)
    • Triggering command: /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1217/chrome-headless-shell-linux64/chrome-headless-shell /home/REDACTED/.cache/ms-playwright/chromium_headless_shell-1217/chrome-headless-shell-linux64/chrome-headless-shell --disable-field-trial-config --disable-REDACTED-networking --disable-REDACTED-timer-throttling --disable-REDACTEDing-occluded-windows --disable-back-forward-cache --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-REDACTED-pages --disable-component-update --no-default-browser-check --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=AvoidUnnecessaryBeforeUnloadCheckSync,BoundaryEventDispatchTracksNodeRemoval,DestroyProfileOnBrowserClose,DialMediaRouteProvider,GlobalMediaControls,HttpsUpgrades,LensOverlay,MediaRouter,PaintHolding,ThirdPartyStoragePartitioning,Transl 82143105-0.04975622860673856/nod/home/REDACTED/work/upset2/upset2/packages/upset/*Page*.js committer.name 1be4-b1aa-479a-8database (dns block)

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

Copilot AI linked an issue Apr 14, 2026 that may be closed by this pull request
@netlify
Copy link
Copy Markdown

netlify bot commented Apr 14, 2026

Deploy Preview for upset2 ready!

Name Link
🔨 Latest commit 70b079b
🔍 Latest deploy log https://app.netlify.com/projects/upset2/deploys/69de6823223e2c000863adff
😎 Deploy Preview https://deploy-preview-629--upset2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI and others added 3 commits April 14, 2026 15:57
Agent-Logs-Url: https://github.com/visdesignlab/upset2/sessions/64bf1be4-b1aa-479a-8d2d-8088dd5174f8

Co-authored-by: JackWilb <36867477+JackWilb@users.noreply.github.com>
Agent-Logs-Url: https://github.com/visdesignlab/upset2/sessions/64bf1be4-b1aa-479a-8d2d-8088dd5174f8

Co-authored-by: JackWilb <36867477+JackWilb@users.noreply.github.com>
Agent-Logs-Url: https://github.com/visdesignlab/upset2/sessions/64bf1be4-b1aa-479a-8d2d-8088dd5174f8

Co-authored-by: JackWilb <36867477+JackWilb@users.noreply.github.com>
Copilot AI changed the title [WIP] Add support for date attributes from Multinet Add date attribute support across processing and attribute visualizations Apr 14, 2026
Copilot AI requested a review from JackWilb April 14, 2026 16:18
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.

Add support for date attributes

2 participants