Skip to content

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

Merged
jonathanKingston merged 1 commit into
mainfrom
dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.1
Jun 10, 2026
Merged

build(deps): bump @atlaskit/pragmatic-drag-and-drop from 1.7.9 to 1.8.1#2754
jonathanKingston merged 1 commit into
mainfrom
dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.1

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 10, 2026

Copy link
Copy Markdown
Contributor

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

Commits


Note

Low Risk
Lockfile-only dependency upgrade for UI drag-and-drop; behavior could shift slightly with the minor library release but no repo logic was modified.

Overview
Bumps @atlaskit/pragmatic-drag-and-drop in the special-pages workspace from 1.7.9 to 1.8.1, with matching package-lock.json updates. No application source changes; consumers such as new-tab favorites drag-and-drop (PragmaticDND.js) pick up the new library version at install/build time.

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

@dependabot dependabot Bot added dependencies Update one or more dependencies version minor Increment the minor version when merged labels Jun 10, 2026
@dependabot
dependabot Bot requested review from a team and daxtheduck as code owners June 10, 2026 10:53
@dependabot dependabot Bot added dependencies Update one or more dependencies version minor Increment the minor version when merged labels Jun 10, 2026
@github-actions

github-actions Bot commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Build Branch

Branch pr-releases/dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.1
Commit b944f17ab7
Updated June 10, 2026 at 1:19:50 PM 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.1

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.1")

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.1
git -C submodules/content-scope-scripts checkout origin/pr-releases/dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.1
Pin to exact commit

npm (Android / Extension):

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

Swift Package Manager (Apple):

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

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.1
git -C submodules/content-scope-scripts checkout b944f17ab7ed9848443272a9837db32e79f7b919

@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 Severity Finding
(none in diff) info No injected-runtime changes. Diff is limited to special-pages/package.json and package-lock.json; injected/src/, wrapper-utils.js, captured-globals.js, and message-bridge code are untouched. Third-party page compatibility risk from this PR is effectively zero.
special-pages/package.json (dependency) info Consumer is NTP favorites DND (PragmaticDND.jssetCustomNativeDragPreview, centerUnderPointer, element/external adapters). Scope is the privileged New Tab special page, not hostile page-world injection.
@atlaskit/pragmatic-drag-and-drop@1.8.0 (transitive) info 1.8.0 switches honey-pot and custom native drag-preview overlays from z-index: 2147483647 to popover="manual" (Popover API), with automatic fallback to the prior z-index path when HTMLElement.prototype.showPopover is absent. DDG browser baselines (Chrome/Edge 114+, Firefox 125+, Safari 17+) align with the Popover path; older WebViews should hit the fallback.
@atlaskit/pragmatic-drag-and-drop@1.8.1 (transitive) info 1.8.1 is test-coverage only (a11y Playwright); no additional runtime behavior change beyond 1.8.0.
Transitive dependencies info dependencies unchanged across 1.7.9 → 1.8.1 (@babel/runtime, bind-event-listener, raf-schd). No new transitive surface.
package-lock.json info Lockfile churn is scoped to @atlaskit/pragmatic-drag-and-drop only — no unrelated ref/version drift.

Validation: pages/new-tab/app/favorites/integration-tests/favorites.spec.js18/18 passed, including re-orders items, support drop on placeholders, and accepts external drag/drop.

Security Assessment

File Severity Finding
(none in diff) info No changes to captured-globals.js, messaging transports, message-bridge trust boundaries, nativeData handling, or postMessage usage.
(none in diff) info No new eval/Function, network requests, or config-gated feature changes.
special-pages/.../PragmaticDND.js (pre-existing, unchanged) info idFromPayload() still parses external drag HTML via createContextualFragment(). That is a pre-existing special-pages trust-boundary pattern (external bookmark drops), not introduced or worsened by this bump.

Risk Level

Low Risk — dependency-only bump confined to the NTP favorites drag-and-drop library inside special-pages, with no injected page-world surface and no lockfile scope expansion.

Recommendations

  1. Merge after CI gate passes — targeted favorites integration coverage already exercises the DND paths affected by 1.8.x.
  2. Optional manual smoke (low priority): drag a favorite on iOS/Android NTP and confirm the custom drag preview renders correctly; this is the main user-visible delta from the 1.8.0 Popover API switch, though the library retains a z-index fallback.
  3. No injected-runtime follow-up required for this PR.
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 — approve with manual drag-preview QA on Safari/iOS.

Against current main, this PR is a clean, single-purpose bump (special-pages/package.json + lockfile). I ran the favorites integration suite on 1.8.1: 18/18 passed, including internal reorder, placeholder drops, and external HTML drag/drop.


Scope & blast radius

Item Detail
Consumer Single integration point: NTP favorites grid in special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js
APIs used draggable, dropTargetForElements, monitorForElements, monitorForExternal, dropTargetForExternal, combine, getHTML, setCustomNativeDragPreview, centerUnderPointer + hitbox helpers (attachClosestEdge, extractClosestEdge, reorderWithEdge, getReorderDestinationIndex)
Companion pkg @atlaskit/pragmatic-drag-and-drop-hitbox@^1.1.0 unchanged; declares ^1.6.0 peer on core — compatible with 1.8.x

The dependency remains appropriate. This is the only DnD library in the repo and it handles edge-based horizontal reordering + native bookmark drops that raw HTML5 DnD would not cover cleanly.


Changelog impact (1.7.9 → 1.8.1)

1.8.0 (minor — primary risk): Honey-pot fix and custom native drag previews now use popover="manual" (browser top layer) when supported, with fallback to position:fixed + max z-index.

Directly affects our code: setCustomNativeDragPreview + centerUnderPointer in useItemState (favorites tile drag ghost), and the automatic honey-pot fix used by all adapters.

Minimum engines for the new path: Chrome/Edge 114+, Firefox 125+, Safari 17+. DDG desktop browsers should be fine; validate on iOS WebKit where drag-preview behavior has historically been fragile (Atlassian also called out iOS-specific preview quirks in 1.7.x).

1.8.1 (patch): Internal a11y Playwright coverage only — no runtime API changes.

No breaking API changes between 1.7.9 and 1.8.1 for the imports we use.


Test coverage

Area Coverage
Internal reorder + favorites_move payload re-orders items, support drop on placeholders
External bookmark HTML drop accepts external drag/drop
Custom drag preview rendering ❌ Not covered (Playwright dragTo doesn't assert ghost image)
Honey-pot / :hover suppression during drag ❌ Not covered
iOS / Safari WebKit ❌ Not in CI matrix for favorites DnD

Automated tests validate reorder semantics and messaging contracts, but not visual drag-preview behavior — the main surface touched by 1.8.0.


Supply chain

  • Publisher: Atlassian (@atlaskit/*), Apache-2.0, ~900k weekly npm downloads
  • Registry: npmjs.com with lockfile integrity hash
  • Runtime deps: @babel/runtime, bind-event-listener, raf-schd — small, well-known
  • No known advisories for this package at 1.8.1
  • Risk level: Low. First-party Atlassian OSS, not a random transitive; no install scripts

Confirmed issues

None blocking merge.


Uncertain / needs validation

  1. Drag preview on iOS Safari — popover top-layer path is new; fallback exists but preview offset/centering should be smoke-tested manually on iOS NTP favorites.
  2. Honey-pot during drag — if users report spurious :hover states or missed drop targets after upgrade, suspect 1.8.0 popover rendering (unlikely given fallback, but untested here).

Recommended manual QA (pre/post merge)

  1. macOS: drag a favorite tile — ghost preview centered under pointer, drop indicators correct
  2. iOS: same flow; confirm preview doesn't flash/jump and drop still fires favorites_move
  3. Drag a bookmark from native UI onto favorites grid (external drop path)

Separate fixes PR

Not needed. No code changes required for compatibility. If iOS preview regresses, fix would be upstream or a targeted workaround in PragmaticDND.js, not a lockfile-only bump.

Open in Web View Automation 

Sent by Cursor Automation: Review dependabot

@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.1 branch from b7954c6 to c606456 Compare June 10, 2026 11:10

@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 Lines Severity Finding
special-pages/package.json 39 info Dependency-only bump (^1.7.9^1.8.1). No application source changes.
package-lock.json 137–145, 11324 info Lockfile resolves only @atlaskit/pragmatic-drag-and-drop to 1.8.1; no unrelated git-dependency or transitive churn.
(injected runtime) info Diff does not touch injected/, wrapper-utils.js, captured-globals.js, or message-bridge code. This PR has zero impact on page-injected privacy features or third-party site compatibility.
special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js (consumer, unchanged) info Sole consumer of this library. It wraps native HTML5 drag-and-drop for the New Tab favorites grid (reorder, placeholder drop, external bookmark drop). Runs in the trusted special-page context, not on arbitrary web pages.
Transitive dependencies info 1.7.9 and 1.8.1 share identical direct deps (@babel/runtime, bind-event-listener, raf-schd). No new transitive surface.

Validation: Ran special-pages favorites integration suite (18 tests) against 1.8.1 — all passed, including re-orders items, support drop on placeholders, and accepts external drag/drop.


Security Assessment

File Lines Severity Finding
(entire diff) info No changes to messaging schemas, native transports, nativeData handling, or message-bridge trust boundaries.
(injected runtime) info No captured-global, postMessage, eval/Function, or prototype-override changes. Hostile-page threat model does not apply to this diff.
PragmaticDND.js consumer (unchanged) info External-drop path parses bookmark IDs from drag payloads via getHTML() and a DDG-specific MIME type — pre-existing behavior, unchanged by this bump.

Risk Level

Low Risk — A scoped special-pages dependency bump with no injected-runtime changes, identical transitive dependencies, and passing favorites drag-and-drop integration tests.


Recommendations

  1. None required for merge from a web-compat/security perspective.
  2. Optional (info): If manual QA is desired beyond CI, smoke-test favorites drag-and-drop on iOS/Android WebViews — the integration suite covers reorder and external-drop flows but platform-specific DnD quirks are always possible with native drag APIs.
  3. Optional (info): @atlaskit/pragmatic-drag-and-drop-hitbox remains at ^1.1.0 (peer range ^1.6.0); no action needed unless a future hitbox release tightens its peer constraint.
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 update risk review: @atlaskit/pragmatic-drag-and-drop 1.7.9 → 1.8.1

Verdict: Low risk — safe to merge after routine manual smoke on native clients.


Scope of change

Lockfile-only bump in special-pages/package.json. The dependency is consumed in a single integration surface:

  • special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js (wrapped by FavoritesCustomized.js)

APIs in use: draggable, dropTargetForElements, monitorForElements, dropTargetForExternal, monitorForExternal, combine, getHTML, setCustomNativeDragPreview, centerUnderPointer, plus hitbox helpers from @atlaskit/pragmatic-drag-and-drop-hitbox.


Changelog impact (1.7.9 → 1.8.1)

Version Change Relevance here
1.8.0 (minor) Honey-pot fix + custom native drag preview containers now use popover="manual" (top layer) when supported; falls back to z-index: 2147483647 when not Touches our code path — we call setCustomNativeDragPreview + centerUnderPointer in useItemState
1.8.1 (patch) Internal a11y Playwright test coverage only No runtime impact

No API removals, signature changes, or new runtime dependencies (@babel/runtime, bind-event-listener, raf-schd unchanged).


Test coverage

Confirmed: favorites.spec.js integration suite passes (18/18) on 1.8.1, including:

  • re-orders items — internal grid reorder via Playwright dragTo
  • support drop on placeholders — edge/placeholder index logic
  • accepts external drag/dropmonitorForExternal / favorites_move path

Gaps (pre-existing, not introduced by this bump):

  • No unit tests for PragmaticDND.js itself
  • Drag preview rendering (the 1.8.0 popover change) is not asserted — integration tests only verify reorder payloads
  • accepts external drag/drop synthesizes DragEvents; it does not exercise a real cross-surface native bookmark drag

Dependency necessity

Still warranted. This is the only DnD dependency in the repo and it handles requirements that are awkward to replicate cleanly:

  • Internal favorites reorder with closest-edge hit detection
  • External bookmark drops (custom MIME + text/html meta parsing)
  • Custom native drag preview cloning

No simpler in-repo alternative found.


Supply chain

  • Publisher: Atlassian (atlassianartifactteam), Apache-2.0, github.com/atlassian/pragmatic-drag-and-drop
  • Transitive deps: unchanged; no new packages added
  • npm audit: no findings targeting this package
  • Companion package: @atlaskit/pragmatic-drag-and-drop-hitbox remains at ^1.1.0 (peer range ^1.6.0 — compatible). Latest hitbox is 1.2.0 but that release is docs-only; no action required in this PR.

Residual risk (uncertain — manual validation recommended)

1.8.0 popover path on embedded WebViews

On browsers with Popover API support (Chrome 114+, Safari 17+, Firefox 125+), drag-preview containers are promoted to the top layer via popover="manual". Older engines keep the prior position:fixed + max-z-index fallback.

  • Reorder/drop logic is covered by CI.
  • Visual drag-preview behavior on iOS/Android/macOS/Windows WebViews is not — recommend a quick manual smoke: drag a favorite tile, confirm preview renders correctly and drop targets still highlight.

No code changes required preemptively; the library includes an explicit fallback.


Fix PR

Not needed. No blocking issues found; no companion PR drafted.


Automated dependency update review

Open in Web View Automation 

Sent by Cursor Automation: Review dependabot

@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.1 branch from c606456 to 9e1ca1e Compare June 10, 2026 12:49

@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 Lines Severity Finding
special-pages/package.json 39 info Version-only bump (^1.7.9^1.8.1). No application source changes.
package-lock.json 137–141, 11340–11343 info Lockfile resolves to 1.8.1. No transitive dependency changes beyond the target package.
(scope) info This dependency is not used by injected/. It is consumed only by the New Tab Page favorites UI (special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js). It does not run on arbitrary third-party web pages and does not override browser APIs via wrapper-utils / DDGProxy.
(upstream 1.8.0) info Upstream minor change: honey-pot fix and setCustomNativeDragPreview overlays now use popover="manual" (Popover API top layer) with fallback to z-index: 2147483647 when unsupported. Minimum versions with native popover support: Chrome/Edge 114+, Firefox 125+, Safari 17+. Our consumer uses setCustomNativeDragPreview + centerUnderPointer.
(validation) info Favorites DnD integration tests pass on this branch: re-orders items, support drop on placeholders, accepts external drag/drop.

No injected web-compatibility findings (API fidelity, prototype patching, DOM timing, platform API shims, third-party script detection).

Security Assessment

File Lines Severity Finding
(scope) info No changes to captured-globals.js, message bridge, messaging transports, postMessage, remote config, or load()-time initialization.
special-pages/pages/new-tab/.../PragmaticDND.js (unchanged) info Existing consumer validates drop-target payload shape (target.data.url string check) before reorder. No new trust-boundary changes introduced by this bump.
package-lock.json info Integrity hash updated for 1.8.1 tarball. No known CVEs reported for this package version.

No security findings in injected threat model categories.

Risk Level

Low Risk — lockfile-only dependency bump confined to the New Tab Page special-page bundle; no injected feature, API shim, or messaging code is modified.

Recommendations

  1. Merge after CI green — no injected compat/security blockers identified.
  2. Manual smoke on older WebViews (optional, low priority): Because 1.8.0 changes drag-preview/honey-pot rendering to prefer the Popover API, spot-check favorites drag-and-drop on any minimum-supported iOS/Android WebView builds if those are below Safari 17 / Chromium 114. Upstream provides z-index fallback, and Playwright integration tests pass.
  3. No injected-specific tests required — this package does not ship in the content-scope injection bundle.
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 after optional manual smoke-test on Safari/macOS.


Scope & usage

This PR only bumps special-pages/package.json and package-lock.json. The sole consumer is special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js, which wraps NTP favorites drag-and-drop (internal reorder, placeholder drops, and external bookmark drops from native).

@atlaskit/pragmatic-drag-and-drop-hitbox@^1.1.0 remains compatible (^1.6.0 peer range).


Changelog impact (confirmed)

Version Change Relevance to this repo
1.8.0 (minor) Honey-pot fix and custom native drag preview now use popover="manual" (browser top layer) instead of z-index: 2147483647. Falls back to the old z-index path when HTMLElement.prototype.showPopover is unavailable. Directly affects our setCustomNativeDragPreview usage in useItemState. Reorder/drop logic is unchanged.
1.8.1 (patch) Internal a11y Playwright test coverage only No runtime impact
1.7.10 (skipped) Internal @atlaskit/theme cleanup No runtime impact

Popover API minimum versions per upstream changelog: Chrome/Edge 114+, Firefox 125+, Safari 17+. Unsupported browsers use the existing z-index fallback.


Test coverage (confirmed)

Integration tests in favorites.spec.js cover the three DND paths:

  • re-orders items — internal element drag
  • support drop on placeholders — edge/placeholder handling
  • accepts external drag/drop — external HTML payload parsing

All three pass against 1.8.1 in CI (npm run test-int -- pages/new-tab/app/favorites/integration-tests/favorites.spec.js --grep "re-orders|placeholder|external drag").

Gap (uncertain): tests assert favorites_move messaging and MIME payloads, but do not verify drag-preview rendering (the code path changed in 1.8.0). Recommend a quick manual smoke-test dragging a favorite on macOS Safari/Chrome to confirm the preview appears above NTP UI.


Dependency necessity (confirmed)

Still needed. Pragmatic DND is the right abstraction here — it provides element + external adapters, closest-edge hit detection, and custom native drag previews. No equivalent exists elsewhere in the monorepo; rolling our own HTML5 DnD would be a regression.


Supply chain (confirmed)

  • Publisher: Atlassian (atlassianartifactteam), Apache-2.0
  • Registry integrity hash updated in lockfile
  • Transitive deps unchanged: @babel/runtime, bind-event-listener, raf-schd
  • No npm audit advisories for this package

Pre-existing concern (not introduced by this bump)

PragmaticDND.js parses externally dragged text/html via createContextualFragment in idFromPayload. This predates the bump and is outside Dependabot scope, but is worth a follow-up hardening PR (e.g. DOMParser + strict <meta> extraction) if we want defense-in-depth against malicious drag payloads. No fix PR drafted for this dependency update — not a blocker for merging.


Recommendation

Merge after CI green. Optional: manual drag-preview check on Safari/macOS given the 1.8.0 rendering change.

Open in Web View Automation 

Sent by Cursor Automation: Review dependabot

@dependabot
dependabot Bot force-pushed the dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.1 branch from 9e1ca1e to 26a0ffc Compare June 10, 2026 12:58

@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 d7a851f3..26a0ffc7 (2 files: special-pages/package.json, package-lock.json).

Scope note: This bump does not touch injected/, wrapper-utils.js, captured-globals.js, messaging transports, or the message bridge. The dependency is consumed only by the NTP favorites drag-and-drop UI in special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js.

Validated: npm ci succeeded; favorites integration suite (18 tests, including re-orders items, support drop on placeholders, accepts external drag/drop) passed on @atlaskit/pragmatic-drag-and-drop@1.8.1.


Web Compatibility Assessment

File Severity Finding
special-pages/package.json info Version-only bump (^1.7.9^1.8.1). No application source changes; injected page-world API fidelity rules do not apply.
Upstream 1.8.0 (transitive) info Minor release switches honey-pot fix and custom native drag-preview rendering to popover="manual" (top layer), with documented fallback to prior z-index: 2147483647 when Popover API is unavailable (Chrome/Edge 114+, Firefox 125+, Safari 17+).
PragmaticDND.js (consumer, unchanged) info Uses setCustomNativeDragPreview + centerUnderPointer — directly in the code path affected by 1.8.0 rendering change. Playwright DND tests passed; manual smoke on iOS/Android WebViews remains the residual check for preview layering on engines without Popover support.
Transitive deps (npm view) info Runtime dependencies unchanged between 1.7.9 and 1.8.1 (@babel/runtime, bind-event-listener, raf-schd).
Upstream 1.8.1 info Patch release — internal a11y Playwright coverage only; no documented runtime behavior change.

No warning or error-level web-compat findings for injected runtime or third-party site breakage.


Security Assessment

File Severity Finding
Entire diff info No changes to global capture hygiene, messaging schemas, origin validation, nativeData handling, or message-bridge trust boundaries.
special-pages/ context info Library runs inside the privileged NTP special page (first-party, embedded WebView), not in hostile third-party page injection. DOM drag-and-drop manipulation is scoped to favorites reordering; no new postMessage, eval, or external URL construction introduced by this PR.
Lockfile info No unrelated lockfile churn outside the stated package; no version downgrades.

No warning, error, or critical security findings.


Risk Level

Low Risk — dependency-only bump confined to special-pages; no injected runtime surface area; upstream 1.8.0 rendering change has a documented fallback and is covered by passing favorites DND integration tests.


Recommendations

  1. Merge if CI green — no code changes required for injected compat/security.
  2. Optional manual QA — quick favorites drag-reorder smoke on iOS/Android after merge, focusing on custom drag-preview visibility during drag (Popover API vs z-index fallback).
  3. No action needed on injected/ strict-core, captured-globals, or remote-config gating for this PR.
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 — approve with manual QA on drag preview (especially iOS/WebKit).

Scope

  • Lockfile-only bump in special-pages/; no application source changes.
  • Sole consumer: special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js (NTP favorites reorder + external bookmark drops).

Changelog impact (1.7.9 → 1.8.1)

Version Change Relevance to this repo
1.8.0 (minor) Honey-pot fix + setCustomNativeDragPreview now use popover="manual" + showPopover() when supported; fallback to z-index: 2147483647 otherwise Direct — we call setCustomNativeDragPreview / centerUnderPointer in onGenerateDragPreview
1.8.1 (patch) Internal a11y Playwright test coverage None for runtime

Skipped 1.7.10 (internal theme token cleanup).

Confirmed

  • API compatibility: Imports in PragmaticDND.js are unchanged; no breaking API removals in this range.
  • Transitive deps: Runtime deps unchanged (@babel/runtime, bind-event-listener, raf-schd). No new runtime packages.
  • Integration tests (1.8.1): re-orders items, support drop on placeholders, and accepts external drag/drop all pass locally.
  • Supply chain: Official Atlassian package (@atlaskit/*), Apache-2.0, ~896k weekly npm downloads, lockfile integrity hash present. No signs of typosquatting or unexpected publisher change.

Test coverage gaps (not blockers)

  • No unit tests for PragmaticDND.js; coverage is integration-only.
  • Playwright tests assert reorder messaging and external HTML drops, but do not validate custom drag preview rendering (onGenerateDragPreviewsetCustomNativeDragPreview). The 1.8.0 popover change is the main regression surface CI won't catch.
  • External drop test synthesizes DragEvents in JS rather than OS-level drags from another app.

Uncertain — validate on native clients

  1. Popover top-layer on embedded WebViews: 1.8.0 promotes drag-preview and honey-pot elements to the browser top layer. If a WebView has incomplete Popover API support or odd stacking with NTP chrome, preview positioning/visibility could regress. Fallback path exists but is untested here.
  2. iOS drag preview: Prior 1.7.x releases changed iOS preview centering behavior; 1.8.0 layering change may interact with that. Worth a quick manual drag on iOS NTP favorites.

Dependency necessity

Still justified. Favorites DnD needs element + external adapters, closest-edge hitbox, custom native preview, and external MIME parsing — a bespoke implementation would be higher risk than keeping Pragmatic DnD.

@atlaskit/pragmatic-drag-and-drop-hitbox remains at ^1.1.0 (compatible via ^1.6.0 peer). Optional follow-up: bump hitbox to 1.2.0 for alignment (docs-only change in 1.2.0; no runtime fix required).

Recommended manual QA (post-merge)

  1. Drag-reorder favorites on macOS + iOS (verify preview follows pointer, drop targets highlight).
  2. Drag a bookmark from browser chrome/bookmarks bar onto NTP favorites (external drop).
  3. Drag onto placeholder slots at end of grid.

No separate fix PR drafted — no code changes required; risk is behavioral and best covered by manual QA above.

Open in Web View Automation 

Sent by Cursor Automation: Review dependabot

Comment thread special-pages/package.json
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.1
  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.1 branch from 26a0ffc to 25bce15 Compare June 10, 2026 13:18

@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 note: This PR only bumps @atlaskit/pragmatic-drag-and-drop in special-pages/package.json and package-lock.json. It does not modify injected/ or any page-world injection code. The library is consumed exclusively by the New Tab Page favorites widget (special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js).


Web Compatibility Assessment

File Lines Severity Finding
special-pages/package.json 39 info Dependency-only bump; no application source changes. No browser API shimming, prototype patching, or toString() masking concerns apply to this diff.
Transitive: @atlaskit/pragmatic-drag-and-drop@1.8.0 info Minor release switches honey-pot fix and custom native drag preview containers to popover="manual" (Popover API top layer), with fallback to z-index: 2147483647 when Popover API is unavailable. NTP favorites uses setCustomNativeDragPreview + centerUnderPointer, so drag-preview layering behavior may change on supported WebViews but should remain functional via fallback.
Transitive: @atlaskit/pragmatic-drag-and-drop@1.8.1 info Patch release is internal a11y Playwright test coverage only per upstream changelog — no runtime behavior change.
special-pages/pages/new-tab/.../PragmaticDND.js (unchanged) info Existing integration tests in favorites.spec.js cover internal reorder (drags) and external drop (acceptsExternalDrop). These exercise the adapters we import but do not assert custom drag-preview rendering.

No warnings or errors for injected web-compat categories (API fidelity, prototype chain, cross-frame leakage, third-party script detection) — this code never runs in hostile third-party page context.


Security Assessment

File Lines Severity Finding
Entire diff info No changes to captured-globals.js, wrapper-utils.js, message-bridge.js, messaging transports, or shouldExemptMethod().
special-pages/ (runtime context) info Special pages are privileged, first-party embedded UIs — not injected into arbitrary web pages. The DND library operates within our own DOM boundary on the NTP.
PragmaticDND.js idFromPayload() (unchanged) 284–307 info External drop path parses text/html via createContextualFragment — pre-existing, not introduced by this bump. Payload is validated against DDG_MIME_TYPE before use.

No warnings, errors, or critical findings.


Risk Level

Low Risk — lockfile-only dependency bump confined to special-pages; zero injected code changes and no messaging or API-override surface area.


Recommendations

  1. (info) Merge after CI passes. Existing favorites.spec.js drag/drop tests provide adequate regression signal for the adapters we use.
  2. (info, optional) If manual QA is desired, smoke-test favorites drag-reorder and external bookmark drop on iOS and Android NTP — 1.8.0's Popover API path is most likely to surface visual differences in custom drag preview positioning on older WebViews (fallback should preserve prior behavior).
  3. No injected-code review 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.

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

Verdict: Low risk — approve with light manual QA on drag preview.


Scope of change

The diff is a version-only bump in special-pages/package.json and package-lock.json. No application code changes.

Single consumer: special-pages/pages/new-tab/app/favorites/components/PragmaticDND.js, used by the New Tab favorites grid (FavoritesCustomized.jsTile.js).

APIs in use:

  • Element adapter: draggable, dropTargetForElements, monitorForElements
  • External adapter: dropTargetForExternal, monitorForExternal, getHTML
  • Utilities: combine, setCustomNativeDragPreview, centerUnderPointer
  • Hitbox (separate package, unchanged): attachClosestEdge, extractClosestEdge, reorderWithEdge, getReorderDestinationIndex

Changelog impact (1.7.9 → 1.8.1)

Version Type Relevance
1.8.0 Minor Primary behavioral change. Honey-pot fix and custom native drag previews now use popover="manual" (top layer) instead of z-index: 2147483647. Falls back to the old z-index approach when HTMLElement.prototype.showPopover is unavailable.
1.8.1 Patch Internal a11y Playwright test coverage only — no runtime behavior change.

Confirmed: Runtime dependencies are unchanged between 1.7.9 and 1.8.1 (@babel/runtime, bind-event-listener, raf-schd). No new transitive deps.

Directly affected code path: PragmaticDND.js calls setCustomNativeDragPreview with centerUnderPointer in onGenerateDragPreview — this is the code path 1.8.0 modifies.


Test coverage

Existing integration tests (Desktop Chrome):

  • re-orders items — internal element-to-element reorder ✅
  • support drop on placeholders — drop onto trailing placeholder tiles ✅
  • accepts external drag/drop — bookmark HTML payload from native ✅

All three passed locally against 1.8.1.

Gaps (pre-existing, not introduced by this PR):

  • No unit tests for PragmaticDND.js
  • No assertion on drag-preview visuals or popover top-layer behavior
  • Favorites DnD tests run only on the integration (Desktop Chrome) project — not WebKit/iOS
  • Playwright dragTo validates reorder semantics and native messaging, but does not fully exercise native drag-image rendering

Dependency necessity

The package remains appropriate. Favorites DnD requires:

  1. Internal grid reorder with closest-edge hit detection
  2. External drops from native bookmarks (custom MIME + HTML meta parsing)
  3. Custom native drag preview cloning

No alternative DnD library is used elsewhere in the repo. Replacing it would be a large, unrelated effort.

Companion @atlaskit/pragmatic-drag-and-drop-hitbox stays at ^1.1.0 (peer range ^1.6.0 on core) — compatible, no bump required.


Supply chain

Check Result
Publisher Atlassian (atlassianartifactteam) — established maintainer
License Apache-2.0
Weekly downloads ~900k
npm audit No known vulnerabilities for this package
Provenance Standard Dependabot semver bump with updated integrity hash

Low supply-chain concern.


Concerns requiring manual validation

  1. Drag preview appearance (1.8.0 popover change) — On browsers with Popover API support (Chrome 114+, Safari 17+, Firefox 125+), the favorites drag ghost image now renders via popover="manual". Verify visually on macOS and iOS that the preview appears correctly above other NTP widgets during drag. Fallback path on older WebViews should behave as before, but is untested here.

  2. iOS drag preview positioning — Changelog 1.7.3+ documents iOS-specific preview centering behavior. Combined with 1.8.0 popover rendering, a quick smoke test on iOS is prudent even though reorder logic is covered by integration tests.


Fix PR

Not required. No application code changes needed for this bump. Test coverage gaps are pre-existing; addressing them (e.g. WebKit project for favorites DnD, drag-preview screenshot test) would be a separate enhancement, not a blocker for this dependency update.

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
Merged via the queue into main with commit 553da1d Jun 10, 2026
47 of 48 checks passed
@jonathanKingston
jonathanKingston deleted the dependabot/npm_and_yarn/main/atlaskit/pragmatic-drag-and-drop-1.8.1 branch June 10, 2026 13:36
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants