Skip to content

build(deps): bump @atlaskit/pragmatic-drag-and-drop from 1.7.9 to 1.8.1 - #2641

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.0
Closed

build(deps): bump @atlaskit/pragmatic-drag-and-drop from 1.7.9 to 1.8.1#2641
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Apr 20, 2026

Copy link
Copy Markdown
Contributor

Bumps @atlaskit/pragmatic-drag-and-drop from 1.7.9 to 1.8.1.

Commits


Note

Low Risk
Dependency-only minor version bump with no source changes; verify new-tab favorites drag-and-drop in QA if the library had behavioral changes in 1.8.x.

Overview
Bumps @atlaskit/pragmatic-drag-and-drop from 1.7.9 to 1.8.1 in special-pages and refreshes package-lock.json accordingly. The new-tab favorites flow (PragmaticDND.js) is the consumer of this library; this PR does not change any application code.

The lockfile also aligns the special-pages workspace entry for @duckduckgo/design-tokens to the v0.28.0 git tag (already declared in package.json).

Reviewed by Cursor Bugbot for commit 27bef2c. Bugbot is set up for automated code reviews on this repo. Configure here.

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot Bot added dependencies Update one or more dependencies version minor Increment the minor version when merged labels Apr 20, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner April 20, 2026 12:20
@dependabot dependabot Bot added the minor Increment the minor version when merged label Apr 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Suggested comment for Cursor review (copy and paste as a new comment):

@cursoragent can you review against the current code and outline potential impacts based on the changelogs of the update?

Can you check the test coverage and ensure that the new code is covered?
Can you think through if this dependency is still needed or if there's better practices used elsewhere.

Can you draft a separate PR with any fixes that might be needed?

Note: GitHub Actions bot cannot trigger Cursor agent directly. Please copy the above comment to invoke the review.

@github-actions

github-actions Bot commented Apr 20, 2026

Copy link
Copy Markdown
Contributor

Build Branch

Branch pr-releases/dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.0
Commit eca85cb6ba
Updated June 10, 2026 at 10:36:19 AM UTC

Static preview entry points

QR codes (mobile preview)
Entry point QR code
Docs QR for docs preview
Static pages QR for static pages preview
Integration pages QR for integration pages preview

Integration commands

npm (Android / Extension):

npm i github:duckduckgo/content-scope-scripts#pr-releases/dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.0

Swift Package Manager (Apple):

.package(url: "https://github.com/duckduckgo/content-scope-scripts.git", branch: "pr-releases/dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.0")

git submodule (Windows):

git -C submodules/content-scope-scripts fetch origin pr-releases/dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.0
git -C submodules/content-scope-scripts checkout origin/pr-releases/dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.0
Pin to exact commit

npm (Android / Extension):

npm i github:duckduckgo/content-scope-scripts#eca85cb6baa4341725b40d0c32927e2b3445b083

Swift Package Manager (Apple):

.package(url: "https://github.com/duckduckgo/content-scope-scripts.git", revision: "eca85cb6baa4341725b40d0c32927e2b3445b083")

git submodule (Windows):

git -C submodules/content-scope-scripts fetch origin pr-releases/dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.0
git -C submodules/content-scope-scripts checkout eca85cb6baa4341725b40d0c32927e2b3445b083

@github-actions github-actions Bot added the semver-patch Bug fix / internal — no release needed label Apr 20, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Stale comment

Web Compatibility Assessment

  • File: special-pages/package.json, line range: 39-39, severity: info.
    The change is a direct semver bump of @atlaskit/pragmatic-drag-and-drop from ^1.7.9 to ^1.8.0; no injected feature code, wrapper utilities, API shims, or prototype overrides changed in this PR. No direct API-surface-fidelity risk is introduced by the diff itself.
  • File: package-lock.json, line range: 126-138, severity: info.
    Lockfile update is consistent with the package bump (version/resolved/integrity only for this package block), with no additional platform bridge or injected runtime code paths modified.
  • File: package-lock.json, line range: 10878-10883, severity: info.
    Workspace dependency entry for special-pages is updated to ^1.8.0 with no other dependency graph shape change visible in this diff.

Security Assessment

  • File: special-pages/package.json, line range: 39-39, severity: info.
    No changes to injected/ security-sensitive surfaces (captured-globals, wrapper-utils, DDGProxy, message bridge, transport origin checks). Threat model items around global capture hygiene and bridge trust boundaries are unaffected by this PR.
  • File: package-lock.json, line range: 126-138, severity: info.
    Integrity hash and tarball URL rotate as expected for the upstream release; no new direct use of uncaptured globals, dynamic code execution patterns, or message schema/path relaxations introduced by changed repository code.

Risk Level

Low Risk — dependency-only bump in special-pages manifests/lockfile with no modifications to injected scripts, web API wrapping logic, or messaging security boundaries.

Recommendations

  1. Run targeted integration coverage for favorites DnD flows that use this package (special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js) across platform projects to catch upstream behavioral drift (npm run test-int -- pages/new-tab/integration-tests/new-tab.spec.js --reporter list).
  2. Add/keep a regression assertion for reorder + external drop path in new tab favorites to detect contract shifts in monitorForElements / dropTargetForElements after minor upgrades.
  3. Alternative risk posture: if you want tighter rollout control for this dependency family, pin exact 1.8.0 instead of caret range in special-pages/package.json and advance intentionally per release.
Open in Web View Automation 

Sent by Cursor Automation: Web compat and sec

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Stale comment

Findings (by severity)

  1. Medium (uncertain): Popover API code path introduces runtime behavior change in drag overlay internals.
    Evidence: upstream 1.8.0 changelog and npm diff show changes in honey-pot-fix/make-honey-pot-fix and public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview to use popover="manual" + showPopover() (with fallback to previous z-index behavior).
    Impact surface in this repo: special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js uses setCustomNativeDragPreview.
    Why this matters: this can affect drag-preview rendering/layering and drag interaction semantics in browsers that support Popover API.

Confirmed non-issues

  • No runtime dependency expansion between 1.7.9 and 1.8.0 (same prod deps: @babel/runtime, bind-event-listener, raf-schd).
  • npm audit --workspace special-pages --omit dev reports 0 known vulnerabilities.

Test coverage and validation status

  • Existing integration tests already cover core favorites DnD behavior in special-pages/pages/new-tab/app/favorites/integration-tests/favorites.spec.js (re-orders items, support drop on placeholders, accepts external drag/drop).
  • I could not execute that suite here due an unrelated pre-existing build failure resolving @duckduckgo/design-tokens/build/desktop-browsers/onboarding.css, so PR-specific runtime validation is still pending.

Required validation for this bump

  • Run favorites DnD integration tests on at least one Popover-capable browser and one fallback-path browser.
  • Manually verify drag preview placement and successful drop for both internal reorder and external drop.

Dependency necessity

  • This dependency is still needed in current code: usage is localized to new-tab favorites DnD, and it provides cross-browser drag/drop handling that would be non-trivial to replicate.
  • Alternative approach (optional long-term hardening): replace with native HTML5 DnD + local helpers to reduce third-party surface area, but that trades off current upstream browser-specific fixes.
Open in Web View Automation 

Sent by Cursor Automation: Review dependabot

Comment thread special-pages/package.json Outdated
@github-actions

github-actions Bot commented Apr 24, 2026

Copy link
Copy Markdown
Contributor

[Beta] Generated file diff

Time updated: Fri, 22 May 2026 10:34:54 GMT

Apple
    - apple/pages/new-tab/dist/index.js

File has changed

Integration
    - integration/pages/new-tab/dist/index.js

File has changed

Windows
    - windows/pages/new-tab/dist/index.js

File has changed

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Stale comment

Web Compatibility Assessment

  • special-pages/package.json (line 39), package-lock.json (lines 128-132, 10881) — severity: info
    • Change is a pure dependency bump (@atlaskit/pragmatic-drag-and-drop ^1.7.9^1.8.0) with no edits to injected feature code, wrappers, shims, lifecycle hooks, or platform entry points. No direct risk to injected API-surface fidelity/prototype integrity patterns.
  • special-pages/package.json (line 39) — severity: info
    • Runtime impact is scoped to special-pages (new-tab favorites drag/drop usage), not hostile third-party page contexts where injected script tamper-resistance constraints apply.

Security Assessment

  • special-pages/package.json (line 39), package-lock.json (lines 128-132) — severity: info
    • No changes to injected/ security-sensitive paths (captured-globals, wrapper-utils, DDGProxy, message bridge/transports, origin checks). Threat-model controls for page-world tampering and bridge boundary remain unchanged.
  • package-lock.json (lines 128-132) — severity: info
    • Lockfile updates include new resolved tarball and integrity hash for 1.8.0, so install-time artifact pinning remains intact.

Risk Level

Low Risk — dependency-only update in special-pages with no modifications to injected runtime protections or web-API override machinery.

Recommendations

  1. Run special-pages unit/integration coverage for new-tab favorites drag/drop flows to catch upstream behavioral drift from the minor version bump.
  2. Perform a quick manual smoke test of reorder + external drop interactions in the new-tab favorites UI across at least one desktop and one mobile WebView target.
Open in Web View Automation 

Sent by Cursor Automation: Web compat and sec

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Stale comment

Findings (risk-focused)

  1. Coverage gap on the exact changed behavior path (confirmed)
    • Upstream @atlaskit/pragmatic-drag-and-drop 1.8.0 introduces a minor runtime behavior change: it moves "on-top" rendering (including custom native drag previews) to popover="manual" top-layer logic, with z-index fallback.
    • Our code uses that path in special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js via setCustomNativeDragPreview.
    • The drag/drop coverage in special-pages/pages/new-tab/app/favorites/integration-tests/favorites.spec.js is good functionally, but it only runs in the integration Playwright project (Desktop Chrome) per special-pages/playwright.config.js.
    • The same spec is not exercised in macos / ios / android projects, even though this dependency change is browser-engine sensitive.
    • Risk: regressions in drag-preview layering / hit-testing on WebKit-family paths could ship without test signal.

Uncertain concerns (assumptions + validation needed)

  • If any shipped runtime falls back to the non-popover path (older engine / constrained webview behavior), behavior should remain old-style z-index-based, but we do not currently have an explicit regression assertion for that path in this repo.

Dependency necessity check

  • The dependency is still needed today. It is actively used by favorites DnD logic; replacing it with native DnD primitives here would be higher-risk and larger in scope than this bump.

Suggested follow-up (separate PR, not this one)

  • Add a targeted cross-engine regression check for favorites drag preview + drop (at minimum WebKit project coverage for the favorites DnD path).
  • Optional alternative: bump directly to 1.8.1 in a follow-up dependency PR (latest patch; upstream notes expanded a11y Playwright coverage).
Open in Web View Automation 

Sent by Cursor Automation: Review dependabot

@dependabot @github

dependabot Bot commented on behalf of github Apr 29, 2026

Copy link
Copy Markdown
Contributor Author

A newer version of @​atlaskit/pragmatic-drag-and-drop exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Stale comment

Web Compatibility Assessment

  • special-pages/package.json line 39, package-lock.json lines 85-97 and 249-255 — severity: info
    Dependency-only bump of @atlaskit/pragmatic-drag-and-drop from ^1.7.9 to ^1.8.0; no injected/ code, wrapper utilities, API shims, lifecycle hooks, platform entry points, or messaging code changed.
  • Upstream package diff — severity: info
    1.8.0 changes the package’s overlay internals for honey-pot/custom native drag-preview rendering to use popover="manual" top-layer placement when supported, with the prior max-z-index path as fallback. This can affect new-tab favorites drag/drop visuals, but it is scoped to special-pages, not hostile page-world injected scripts.
  • Validation — severity: info
    npm run build --workspace=special-pages and npm run test-int --workspace=special-pages -- pages/new-tab/app/favorites/integration-tests/favorites.spec.js --project integration --reporter list passed locally (18 passed).

Security Assessment

  • special-pages/package.json line 39, package-lock.json lines 85-97 — severity: info
    No changes to security-sensitive injected surfaces (captured-globals, wrapper-utils, DDGProxy, message bridge, transports, origin validation, or postMessage). The hostile-page tampering threat model is unaffected by the repository diff.
  • Dependency metadata — severity: info
    Production dependency set is unchanged between 1.7.9 and 1.8.0; npm audit --workspace special-pages --omit dev reports 0 vulnerabilities.

Risk Level

Low Risk — dependency-only special-pages update with localized new-tab drag/drop behavior and no changes to injected runtime protections or messaging security boundaries.

Recommendations

  1. No blocking changes for this PR.
  2. Optional follow-up: add WebKit/mobile-project coverage for the favorites drag-preview/drop path, since the upstream Popover API behavior is browser-engine sensitive and current favorites.spec.js coverage runs under the integration Desktop Chrome project.
Open in Web View Automation 

Sent by Cursor Automation: Web compat and sec

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Stale comment

Dependency risk review for @atlaskit/pragmatic-drag-and-drop 1.7.9 -> 1.8.0.

Confirmed issues: none found.

What changed upstream: 1.8.0 moves the package's "on top" rendering helpers to popover="manual" / browser top-layer when available, with the previous z-index: 2147483647 behavior as fallback. The published package diff confirms this touches the honey-pot fix and setCustomNativeDragPreview; no runtime dependency or license changes.

Repo impact: the direct affected usage is New Tab favorites in special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js, which uses element drag/drop, external HTML drops, and setCustomNativeDragPreview. The external adapter APIs used here did not change in the package diff.

Coverage checked: after npm ci, npm run test-int -- pages/new-tab/app/favorites/integration-tests/favorites.spec.js --reporter list passed locally: 18/18. Current CI also shows special-pages Chromium/WebKit jobs passing.

Residual validation risk: the favorites suite is only matched by the integration project in special-pages/playwright.config.js (Desktop Chrome). Because this dependency change is specifically top-layer/Popover behavior and upstream calls out Safari support boundaries, I would still smoke-test New Tab favorites reorder on macOS/iOS native shells or add separate WebKit coverage for favorites.spec.js if this path has regressed before. This is an uncertain concern, not a confirmed bug.

Dependency need: it still looks justified for this code path. Replacing it would mean reimplementing internal reorder monitoring, closest-edge drop calculation, custom native preview handling, and external bookmark MIME/html drop behavior. I did not draft a separate fix PR because I did not identify a concrete code fix needed from this review.

Open in Web View Automation 

Sent by Cursor Automation: Review dependabot

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Stale comment

Dependency review for @atlaskit/pragmatic-drag-and-drop 1.7.9 -> 1.8.0:

No confirmed blocking issues found.

Evidence:

  • PR diff only updates special-pages/package.json and package-lock.json; runtime dependencies and license remain unchanged (Apache-2.0, same @babel/runtime, bind-event-listener, raf-schd).
  • Upstream changelog for 1.8.0 says the behavior change is internal “on top” rendering: honey-pot overlay and custom native drag previews now use popover="manual" / browser top layer when supported, falling back to the prior z-index: 2147483647 approach when unsupported.
  • Local usage is still needed: the package is directly used by the new-tab favorites DnD implementation, including setCustomNativeDragPreview, monitorForElements, dropTargetForElements, and external drop handling.
  • Existing coverage exercises the affected user paths: focused favorites integration suite passed, including reorder, placeholder drop, and external drop.

Verification run:

  • npm run test-int -w special-pages -- pages/new-tab/app/favorites/integration-tests/favorites.spec.js --reporter list -> 18 passed
  • npm run build -w special-pages -> passed

Uncertain residual risk:

  • Because 1.8.0 switches supported browsers from z-index overlaying to the Popover API, native embedded browser smoke coverage is still the useful validation point, especially Safari/WebKit-based shells and any platform versions where HTMLElement.prototype.showPopover exists but top-layer/manual-popover drag behavior differs from desktop Chromium. The automated Playwright coverage gives good confidence for Chromium-style behavior but does not prove all native shell engines.

No fix PR drafted because I did not find a confirmed code or test gap requiring changes.

Open in Web View Automation 

Sent by Cursor Automation: Review dependabot

@jonathanKingston

Copy link
Copy Markdown
Contributor

@sashalavron Are you able to test this? I noticed that you've looked at the code recently?

@sashalavron

Copy link
Copy Markdown
Contributor

@sashalavron Are you able to test this? I noticed that you've looked at the code recently?

@jonathanKingston I haven’t worked on that specific part of the code (the drag-and-drop functionality). I believe @shakyShane knows it best.
That said, I tested it manually and also ran an agent to test it e2e with Playwright and review the introduced library changes (including the changelog and related updates).

Bottom line: looks good from my side. Everything is working (the library changes are related to using the Popover API instead of z-index).

@jonathanKingston

Copy link
Copy Markdown
Contributor

@dependabot rebase

@dependabot @github

dependabot Bot commented on behalf of github Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

Looks like this PR has been edited by someone other than Dependabot. That means Dependabot can't rebase it - sorry!

If you're happy for Dependabot to recreate it from scratch, overwriting any edits, you can request @dependabot recreate.

@jonathanKingston

Copy link
Copy Markdown
Contributor

@dependabot rebase

@dependabot @github

dependabot Bot commented on behalf of github Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

Looks like this PR has been edited by someone other than Dependabot. That means Dependabot can't rebase it - sorry!

If you're happy for Dependabot to recreate it from scratch, overwriting any edits, you can request @dependabot recreate.

@jonathanKingston

Copy link
Copy Markdown
Contributor

@dependabot rebase

@dependabot @github

dependabot Bot commented on behalf of github Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

Looks like this PR has been edited by someone other than Dependabot. That means Dependabot can't rebase it - sorry!

If you're happy for Dependabot to recreate it from scratch, overwriting any edits, you can request @dependabot recreate.

@jonathanKingston

Copy link
Copy Markdown
Contributor

@dependabot rebase

@dependabot @github

dependabot Bot commented on behalf of github Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

Looks like this PR has been edited by someone other than Dependabot. That means Dependabot can't rebase it - sorry!

If you're happy for Dependabot to recreate it from scratch, overwriting any edits, you can request @dependabot recreate.

@jonathanKingston

Copy link
Copy Markdown
Contributor

@dependabot rebase

@dependabot @github

dependabot Bot commented on behalf of github Jun 9, 2026

Copy link
Copy Markdown
Contributor Author

Looks like this PR has been edited by someone other than Dependabot. That means Dependabot can't rebase it - sorry!

If you're happy for Dependabot to recreate it from scratch, overwriting any edits, you can request @dependabot recreate.

@jonathanKingston

Copy link
Copy Markdown
Contributor

@dependabot recreate

@dependabot dependabot Bot changed the title build(deps): bump @atlaskit/pragmatic-drag-and-drop from 1.7.9 to 1.8.0 build(deps): bump @atlaskit/pragmatic-drag-and-drop from 1.7.9 to 1.8.1 Jun 9, 2026
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.0 branch from d4008a6 to 037a32f Compare June 9, 2026 16:40
@dependabot
dependabot Bot requested a review from daxtheduck as a code owner June 9, 2026 16:40

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Stale comment

Injected PR Evaluation: Web Compatibility & Security

Reviewed diff 6412fc4...037a32f — dependency-only bump of @atlaskit/pragmatic-drag-and-drop 1.7.91.8.1 in special-pages/. No changes to injected/, wrapper-utils, captured-globals, messaging transports, or message bridge.

Verified: npm ci succeeds, special-pages unit tests pass (104/104), and new-tab.spec.js integration tests pass (11/11).


Web Compatibility Assessment

File Severity Finding
special-pages/package.json info Dependency is scoped to special-pages (embedded New Tab), not injected page-world code. Third-party site API fidelity concerns (toString masking, prototype chain, stack-trace exemptions) do not apply.
@atlaskit/pragmatic-drag-and-drop@1.8.0 (transitive) info Minor release switches drag-preview and honey-pot overlay rendering to popover="manual" (top layer) with position:fixed + maxZIndex fallback when HTMLElement.prototype.showPopover is absent. Consumer code in PragmaticDND.js uses setCustomNativeDragPreview / centerUnderPointer, so drag-preview stacking behavior may change on engines with Popover API support (Chrome 114+, Edge 114+, Firefox 125+, Safari 17+). Fallback preserves prior z-index behavior on older WebViews.
@atlaskit/pragmatic-drag-and-drop@1.8.1 (transitive) info Patch release — internal a11y Playwright test coverage only; no runtime API changes.
Transitive deps info Unchanged: @babel/runtime, bind-event-listener, raf-schd. No new transitive surface.
special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js info Unchanged by this PR. No integration tests cover drag-and-drop reordering; regression risk is limited to New Tab favorites UX, not general web compatibility.

No warning or error-level injected-runtime compatibility findings.


Security Assessment

File Severity Finding
Entire diff info Zero injected-runtime security surface. No changes to global capture hygiene, messaging trust boundaries, origin validation, config gating, or iframe access patterns.
@atlaskit/pragmatic-drag-and-drop (transitive) info Library runs inside the trusted New Tab special-page origin, not on hostile third-party pages. Drag-preview creates short-lived document.body children managed by library cleanup handlers — pre-existing pattern, not introduced by this bump. No new eval/Function, unscoped postMessage, or nativeData forwarding.
package-lock.json info Lockfile changes are limited to the single package version/integrity update — no unrelated dependency ref churn.

No warning, error, or critical security findings.


Risk Level

Low Risk — dependency-only change confined to special-pages; injected privacy/security runtime is unaffected. Residual UX risk is limited to New Tab favorites drag-and-drop preview stacking on Popover-capable engines.


Recommendations

  1. Manual QA (info): Smoke-test favorites drag-and-drop reorder on macOS, Windows, iOS, and Android — confirm drag preview renders correctly and drop targets behave as expected after the 1.8.0 Popover API change.
  2. Test gap (info): Consider adding a Playwright integration test for favorites reorder if drag-and-drop regressions are a concern; none exist today.
  3. Merge posture: Safe to merge from an injected web-compat/security perspective. No code changes required in this repo for the bump itself.
Open in Web View Automation 

Sent by Cursor Automation: Web compat and sec

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Stale comment

Dependency review: @atlaskit/pragmatic-drag-and-drop 1.7.9 → 1.8.1

Verdict: Low risk — safe to merge. No companion fix PR is needed.

Scope & blast radius

This PR only bumps the lockfile and special-pages/package.json. The sole consumer is special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js, which uses:

  • draggable / dropTargetForElements / monitorForElements (element adapter)
  • monitorForExternal / dropTargetForExternal / getHTML (external adapter)
  • setCustomNativeDragPreview + centerUnderPointer (custom drag preview)

No application code changes are required for API compatibility.

Changelog impact

Version Type Runtime relevance
1.8.0 Minor Yes — honey-pot fix and setCustomNativeDragPreview now use popover="manual" + showPopover() when HTMLElement.prototype.showPopover exists; falls back to position:fixed + z-index: 2147483647 otherwise.
1.8.1 Patch No — internal a11y Playwright test coverage only.
1.7.10 (skipped) Patch Internal @atlaskit/theme token cleanup; no expected runtime impact.

The meaningful behavioral delta is the Popover API adoption in 1.8.0. Package diff confirms only two runtime files changed: honey-pot-fix/make-honey-pot-fix.js and set-custom-native-drag-preview.js. Transitive dependencies are unchanged (@babel/runtime, bind-event-listener, raf-schd).

Test coverage

Covered (confirmed):

  • favorites.spec.js exercises reorder, placeholder drop, and external drop via Playwright dragTo / synthetic DragEvents.
  • All three DND tests pass locally against 1.8.1 (Desktop Chrome / Popover-supported path).

Gaps (confirmed):

  • DND tests run only under the integration project (Desktop Chrome). They do not run on Safari/iOS/WebKit where setCustomNativeDragPreview has platform-specific workarounds.
  • Playwright dragTo validates reorder semantics and MIME payloads, not visual drag-preview rendering or honey-pot pointer-event isolation.
  • The z-index fallback path (browsers without showPopover) is not exercised in CI.

These are pre-existing coverage limitations, not regressions introduced by this bump.

Dependency necessity

Pragmatic DND remains the right tool here: it handles element reordering, external bookmark drops (custom MIME + HTML meta parsing), and custom native drag previews in one abstraction. No other workspace package duplicates this. @atlaskit/pragmatic-drag-and-drop-hitbox@^1.1.0 remains compatible (peer: ^1.6.0 on core); no hitbox bump required for this change.

Supply chain

  • Publisher: Atlassian (atlassianartifactteam) — established maintainer, same as prior versions.
  • License: Apache-2.0 (unchanged).
  • Integrity: Lockfile pins sha512-uXWNPpL8n4OmTVbduH7nq8pk8htqGo/prR5cYEE8sVCPJGAUMWn6lzvWTfI+4VCeQvHiDRODVz4YzH06OVAxhw==.
  • npm audit: No advisories tied to this package.
  • Provenance: Published ~1 month ago; no signs of account takeover or unexpected maintainer change.

Uncertain / manual validation recommended

  1. Safari/macOS drag preview — 1.8.0 still carries a Safari opacity workaround in setCustomNativeDragPreview; upstream notes it may be removable in Safari 26.4+. Quick manual smoke on macOS NTP favorites drag is prudent since CI doesn't cover WebKit.
  2. iOS favorites reorder — Popover API is supported on Safari 17+; DDG iOS WebViews should be fine, but touch DND isn't covered by Playwright here.

Neither item blocks merge given the explicit fallback and passing Chrome integration tests.

Fix PR

No code changes warranted. This is a clean semver patch/minor bump with no lockfile anomalies or API breaks in our usage.

Open in Web View Automation 

Sent by Cursor Automation: Review dependabot

Comment thread special-pages/package.json
@jonathanKingston
jonathanKingston added this pull request to the merge queue Jun 10, 2026
@cursor
cursor Bot removed this pull request from the merge queue due to a manual request Jun 10, 2026
@jonathanKingston

Copy link
Copy Markdown
Contributor

@dependabot rebase

@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.0 branch from 037a32f to e4f1169 Compare June 10, 2026 10:11

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Stale comment

Injected PR Evaluation: Web Compatibility & Security

Scope note: This PR only bumps @atlaskit/pragmatic-drag-and-drop in special-pages/ (package.json + package-lock.json). No files under injected/ are changed. The injected web-compat/security rubric therefore does not apply to the diff itself; findings below cover the dependency's runtime impact in the one consumer (PragmaticDND.js on the New Tab Page).


Web Compatibility Assessment

File Lines Severity Finding
special-pages/package.json 39 info Dependency-only change; no API overrides, prototype patches, or page-world shims. Third-party site compatibility is unaffected.
special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js (consumer, unchanged) 183–198 info Consumer uses setCustomNativeDragPreview + centerUnderPointer. v1.8.0 switches top-layer rendering for custom drag previews (and the honey-pot fix) from z-index: 2147483647 to popover="manual", with fallback to the old z-index path when Popover API is unavailable (Chrome 114+, Safari 17+, Firefox 125+).
special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js (consumer, unchanged) 50–147 info Cleanup via combine() from element/external adapters is compatible with v1.7.2+ single-call cleanup semantics already in use.

No warning or error-level injected-compat findings.


Security Assessment

File Lines Severity Finding
special-pages/package.json 39 info No changes to captured-globals.js, message bridge, messaging transports, shouldExemptMethod(), or origin validation.
special-pages/package.json info Library is scoped to the isolated New Tab special page (first-party embedded context), not injected into hostile third-party pages.
special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js (consumer, unchanged) 293–294 info Pre-existing createContextualFragment(html) on external drag payloads — not introduced by this bump. External drop is gated by MIME-type checks and attribute validation.

No warning, error, or critical security findings in the diff.


Risk Level

Low Risk — lockfile-only dependency bump in special-pages; zero injected-code changes; no messaging or API-shim surface touched.


Recommendations

  1. Merge — build succeeds; favorites integration tests pass (18/18), including re-orders items, support drop on placeholders, and accepts external drag/drop.
  2. Optional manual QA — spot-check favorites drag preview rendering on iOS and Android WebViews if Popover API support is uncertain on older embedded engines (library falls back to z-index).
  3. No injected-workspace action required.
Open in Web View Automation 

Sent by Cursor Automation: Web compat and sec

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Stale comment

Dependency review: @atlaskit/pragmatic-drag-and-drop 1.7.9 → 1.8.1

Verdict: Low–medium risk; safe to merge after manual drag-preview QA on native WebViews.


Scope of change

Lockfile-only bump in special-pages/package.json. No application code changes.

Single consumer: special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js (favorites tile reorder + external bookmark drop on NTP).

APIs used: draggable, dropTargetForElements, dropTargetForExternal, monitorForElements, monitorForExternal, combine, setCustomNativeDragPreview, centerUnderPointer, getHTML, plus hitbox helpers (attachClosestEdge, extractClosestEdge, reorderWithEdge, getReorderDestinationIndex).


Changelog impact (confirmed)

Version Runtime impact
1.8.0 (minor) Behavioral change. Honey-pot fix and custom native drag previews now use popover="manual" + showPopover() (top layer) instead of z-index: 2147483647. Falls back to the old z-index path when HTMLElement.prototype.showPopover is absent. Min versions: Chrome/Edge 114+, Firefox 125+, Safari 17+.
1.8.1 (patch) Internal Atlassian a11y Playwright coverage only — no runtime change.
1.7.10 (skipped) Internal @atlaskit/theme token cleanup — no expected runtime impact.

Direct impact on our code: Tile.js calls setCustomNativeDragPreview via useItemState in PragmaticDND.js. That code path is modified in 1.8.0. Reorder/drop logic and MIME handling are unchanged.


Test coverage

Existing integration tests (pass on 1.8.1):

  • re-orders items — internal tile drag → favorites_move payload
  • support drop on placeholders — edge/placeholder index handling
  • accepts external drag/droptext/html meta payload parsing
npm run test-int -- pages/new-tab/app/favorites/integration-tests/favorites.spec.js \
  --grep "re-orders|placeholder|external drag" --reporter list
# 3 passed

Gaps (uncertain areas):

  • No unit tests for PragmaticDND.js
  • No screenshot/visual test for drag preview rendering
  • Playwright dragTo validates favorites_move messaging, not whether the native drag preview ghost renders correctly under the Popover API top layer
  • External-drop test dispatches synthetic DragEvents; does not exercise real OS drag from the bookmarks bar

Recommended manual QA before/after merge:

  1. Drag a favorite tile on macOS, Windows, iOS, Android — confirm ghost preview appears and tracks pointer
  2. Drop onto placeholder slots at end of row
  3. Drag a bookmark from the native bookmarks UI onto favorites (DDG MIME + HTML fallback path)

Dependency necessity

Still appropriate. This is the only DnD library in the repo; usage is well-scoped to NTP favorites. No in-repo alternative (e.g. native HTML5 DnD without the library) would be simpler given external-drop + edge-reorder requirements.

@atlaskit/pragmatic-drag-and-drop-hitbox remains at ^1.1.0 (peer ^1.6.0); compatible. Latest hitbox 1.2.0 is docs-only — no need to bump alongside this PR.


Supply chain

Check Assessment
Publisher Atlassian (atlassianartifactteam) via official npm registry
License Apache-2.0
Source github.com/atlassian/pragmatic-drag-and-drop
Transitive deps @babel/runtime, bind-event-listener, raf-schd — small, established
Integrity Lockfile sha512 updated for 1.8.1
Known incidents None identified for this package

Low supply-chain concern. Scoped @atlaskit/* package from the vendor's automated publishing pipeline; no new dependencies introduced by this bump.


Confirmed vs uncertain

Confirmed

  • Version bump is lockfile-only; no breaking import/API changes for our usage
  • 1.8.0 changes drag-preview and honey-pot stacking via Popover API (with fallback)
  • Favorites DnD integration tests pass on 1.8.1

Uncertain — needs native WebView validation

  • Whether embedded WebViews on all DDG platforms expose showPopover() and render the drag preview correctly via the top layer (especially Safari/WebKit on iOS)
  • Whether popover top-layer interacts with NTP stacking contexts (omnibar, customizer drawer, z-indexed widgets) during an active drag

Fix PR

No companion fix PR proposed. Automated tests pass and the library retains a z-index fallback. The residual risk is visual/regression on real platforms, which is QA rather than a code adaptation. Optional follow-up (separate PR): add a @screenshots test capturing favorites mid-drag state to catch future preview regressions.

Open in Web View Automation 

Sent by Cursor Automation: Review dependabot

},
"dependencies": {
"@atlaskit/pragmatic-drag-and-drop": "^1.7.9",
"@atlaskit/pragmatic-drag-and-drop": "^1.8.1",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

1.8.0 is the meaningful jump here (not 1.8.1). This minor release switches setCustomNativeDragPreview — used by Tile.js / PragmaticDND.js — from z-index: 2147483647 to popover="manual" when HTMLElement.prototype.showPopover exists.

Integration tests cover reorder payloads but not preview rendering. Recommend manual drag-preview QA on macOS + iOS WebKit before relying on auto-merge.

@jonathanKingston

Copy link
Copy Markdown
Contributor

@dependabot rebase

Bumps [@atlaskit/pragmatic-drag-and-drop](https://github.com/atlassian/pragmatic-drag-and-drop) from 1.7.9 to 1.8.1.
- [Commits](https://github.com/atlassian/pragmatic-drag-and-drop/commits)

---
updated-dependencies:
- dependency-name: "@atlaskit/pragmatic-drag-and-drop"
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.0 branch from e4f1169 to 27bef2c Compare June 10, 2026 10:35

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Injected PR Evaluation: Web Compatibility & Security

Scope: special-pages/package.json + package-lock.json only — bumps @atlaskit/pragmatic-drag-and-drop 1.7.9 → 1.8.1. No changes under injected/, messaging/, wrapper-utils.js, or captured-globals.js.

Validation: npm ci succeeds; npm run test-unit --workspace=special-pages (104/104) and favorites integration suite (18/18, including re-orders items, accepts external drag/drop, support drop on placeholders) pass on 1.8.1.


Web Compatibility Assessment

File Severity Finding
(none in diff) info No injected-runtime impact. This dependency is consumed only by the New Tab Page favorites widget (PragmaticDND.js). It does not run in third-party page contexts, so API-surface-fidelity / prototype-patching concerns for injected features do not apply.
special-pages/…/PragmaticDND.js (consumer, unchanged) warning 1.8.0 rendering change affects this consumer. Changelog notes a minor change: honey-pot fix and setCustomNativeDragPreview overlays now use popover="manual" (top layer) instead of z-index: 2147483647, with z-index fallback when Popover API is unavailable. Minimum engines: Chrome/Edge 114+, Firefox 125+, Safari 17+. DDG embedded WebViews should meet this, but drag-preview stacking and tile hover/highlight states during drag are the areas most likely to regress on older engines.
package-lock.json info Unrelated lockfile churn: @duckduckgo/design-tokens devDependency ref changes from commit b484a4c… to tag v0.28.0. Outside the stated Dependabot scope; confirm intentional or split.
package-lock.json info Transitive runtime deps unchanged between 1.7.9 and 1.8.1 (@babel/runtime, bind-event-listener, raf-schd). 1.8.1 itself is a patch (internal a11y test coverage only).

Security Assessment

File Severity Finding
(none in diff) info No changes to captured-globals.js, message-bridge trust boundaries, origin validation, or native messaging schemas/transports.
PragmaticDND.js (consumer, unchanged) info External-drop path still parses text/html via createRange().createContextualFragment() and validates DDG_MIME_TYPE meta — pre-existing behavior, not introduced by this bump. Runs in privileged NTP context (native bookmark drag-in), not hostile page injection.
package-lock.json info Integrity hash updated for pragmatic-drag-and-drop 1.8.1; no version downgrade.

Risk Level

Low Risk — dependency-only bump confined to the special-pages workspace with no injected script changes; the only behavioral delta is upstream DnD overlay rendering (Popover API with fallback), and targeted favorites integration tests pass.


Recommendations

  1. (info) Acknowledge or revert the unrelated @duckduckgo/design-tokens lockfile ref change so review scope stays aligned with the Dependabot title.
  2. (warning) Spot-check favorites drag-reorder and external bookmark drop on iOS and Android WebViews — CI Playwright covers reorder/external-drop logic but not native drag-preview rendering across engines.
  3. (info) Safe to merge from a web-compat/security perspective for injected code; residual risk is limited to NTP favorites DnD UX on engines lacking popover="manual".
Open in Web View Automation 

Sent by Cursor Automation: Web compat and sec

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Dependency update review: @atlaskit/pragmatic-drag-and-drop 1.7.9 → 1.8.1

Verdict: Low risk, acceptable to merge after manual drag-preview QA on at least one native WebView (iOS or macOS). No separate code-fix PR is required.


Scope & blast radius

This dependency is used in one place: NTP favorites drag-and-drop via special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js.

APIs exercised:

  • draggable, dropTargetForElements, monitorForElements (element adapter)
  • monitorForExternal, dropTargetForExternal, getHTML (external adapter)
  • setCustomNativeDragPreview + centerUnderPointer (directly affected by 1.8.0)
  • @atlaskit/pragmatic-drag-and-drop-hitbox helpers (closest-edge, reorder-with-edge, get-reorder-destination-index)

No other workspaces import this package.


Changelog impact (1.7.9 → 1.8.1)

Version Change Relevance
1.8.0 (minor) Honey-pot fix + custom native drag previews now use popover="manual" (top layer) instead of z-index: 2147483647, with fallback when Popover API is unavailable (Chrome/Edge 114+, Firefox 125+, Safari 17+) Primary risk surface — we call setCustomNativeDragPreview on every favorite drag
1.8.1 (patch) Internal a11y Playwright test coverage only No runtime impact
1.7.10 (skipped) Internal @atlaskit/theme cleanup No runtime impact

Runtime dependency tree is unchanged (@babel/runtime, bind-event-listener, raf-schd).


Test coverage

Covered (integration): favorites.spec.js exercises reorder messaging, placeholder drops, and external HTML drops — all 18 tests pass on 1.8.1 (Chromium/Playwright).

Gap: Tests assert favorites_move native messaging, not drag-preview rendering or honey-pot hit-testing. The 1.8.0 popover change is unlikely to break reorder logic but could affect preview appearance/positioning on embedded WebViews. Recommend manual smoke test: drag a favorite on macOS and iOS, confirm preview follows pointer and drop targets still highlight correctly.


Dependency necessity

Still warranted. Pragmatic DND is the established solution here; dropzone.js handles unrelated page-level drop suppression. No in-repo alternative for grid reorder + external bookmark drops.

@atlaskit/pragmatic-drag-and-drop-hitbox remains at ^1.1.0 (peer: ^1.6.0). Optional follow-up: bump to 1.2.0 (peer: ^1.8.0) — changelog is docs-only, not blocking.


Supply chain

  • Publisher: Atlassian (@atlaskit/*), Apache-2.0
  • Distribution: npm with lockfile integrity hash
  • Adoption: ~896K weekly downloads; maintained in Atlassian's public monorepo
  • Risk: Low — no new transitive deps, no integrity/hash anomalies in the diff

Confirmed issue (non-blocking)

Scope creep: package-lock.json also retags @duckduckgo/design-tokens from commit b484a4cd#v0.28.0 (same version). Harmless but unrelated to this bump; consider reverting that hunk to keep the PR single-purpose.


Uncertain concerns (manual validation)

  1. Drag preview on older WebViews — Popover API falls back to position:fixed + max z-index; behavior should match 1.7.x, but worth confirming on minimum supported DDG browser versions.
  2. Android drag preview — 1.7.4 documented Android always centers preview under pointer; our code uses centerUnderPointer, so low concern but untested in CI.

Separate fix PR

Not drafted — no code changes required. Tests pass; risks are QA/validation gaps, not defects.

Open in Web View Automation 

Sent by Cursor Automation: Review dependabot

},
"dependencies": {
"@atlaskit/pragmatic-drag-and-drop": "^1.7.9",
"@atlaskit/pragmatic-drag-and-drop": "^1.8.1",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is the only direct consumer of @atlaskit/pragmatic-drag-and-drop in the monorepo (PragmaticDND.js on the NTP favorites grid). The 1.8.0 minor bump changes how setCustomNativeDragPreview renders (Popover API top-layer with z-index fallback) — the main surface to manually QA after merge.

Comment thread package-lock.json
},
"devDependencies": {
"@duckduckgo/design-tokens": "github:duckduckgo/design-tokens#b484a4cd22cc712c2977136369b2a8cd2af40c9f",
"@duckduckgo/design-tokens": "github:duckduckgo/design-tokens#v0.28.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Unrelated scope creep: this retags @duckduckgo/design-tokens from commit b484a4cd to #v0.28.0 (same 0.28.0 version already resolved in the base lockfile). Harmless, but worth reverting to keep this PR focused on the Atlaskit bump only.

@dependabot @github

dependabot Bot commented on behalf of github Jun 10, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #2754.

@dependabot dependabot Bot closed this Jun 10, 2026
@dependabot
dependabot Bot deleted the dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.0 branch June 10, 2026 10:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Update one or more dependencies version minor Increment the minor version when merged semver-patch Bug fix / internal — no release needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants