You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tracking: upstream pop-os/iced changes into iced-rs/iced
Tracker for systematically upstreaming the COSMIC fork's delta into iced-rs/iced, one PR at a time, so future rebases of pop-os/iced get cheaper.
Baseline:pop-os/iced@master (86b236f2e) vs iced-rs/iced@master (3c81aac2e) — merge-base b11ad9ff5, 254 fork-only commits. Of the 318 merged PRs in pop-os/iced, 91 were merged after the Jan 2026 iced 0.14 rebase and map 1:1 to commits; the remaining ~227 predate it and are collapsed into the single feat: pop-os megasquash commit (08fe1f3aa, 233 files, +24336/-1856), so those are tracked as subsystems in Part 2.
Legend: ⬜ not started · 🔄 PR open upstream · ✅ merged upstream · ❌ won't upstream / fork-only
Part 1 — Individual PRs merged since the 0.14 rebase
1a. Portable fixes & features (best upstream candidates)
Part 2 — Pre-rebase foundation (feat: pop-os megasquash, 08fe1f3aa)
~227 PRs merged before Jan 2026 were squashed into one commit, so there is no per-PR mapping. Tracked here as subsystems, each of which needs its own upstream design discussion before any code PR.
Status
Subsystem
Where
Notes
⬜
Wayland/SCTK shell backend
winit/src/platform_specific/wayland/** (~34 new files), core/src/event/wayland/**, runtime/src/platform_specific/wayland/**
layer surfaces, popups, subsurfaces, session lock, xdg-activation, overlap-notify. Largest single chunk — needs an upstream RFC first.
⬜
Drag & drop
runtime/src/dnd.rs, DnD source/destination in widgets, window_clipboard integration
⬜
Accessibility
new accessibility/ crate + AccessKit wiring in core, widget, winit
Recheck what's already upstream before opening each PR: git log --format='%s' origin/master..upstream/master | grep -i <keyword>.
Prefer landing 1a items first — they are self-contained, have no fork dependencies, and build goodwill for the larger Part 2 discussions.
Note
This issue was generated with LLM assistance (Claude Code). The PR inventory and classification come from diffing pop-os/iced against iced-rs/iced and from the GitHub PR list, but the categorization — especially the "already upstream" rows in 1d and the subsystem groupings in Part 2 — has not been diff-verified end to end. Double-check before acting on any single row.
Tracking: upstream
pop-os/icedchanges intoiced-rs/icedTracker for systematically upstreaming the COSMIC fork's delta into
iced-rs/iced, one PR at a time, so future rebases ofpop-os/icedget cheaper.Baseline:
pop-os/iced@master(86b236f2e) vsiced-rs/iced@master(3c81aac2e) — merge-baseb11ad9ff5, 254 fork-only commits. Of the 318 merged PRs inpop-os/iced, 91 were merged after the Jan 2026iced 0.14rebase and map 1:1 to commits; the remaining ~227 predate it and are collapsed into the singlefeat: pop-os megasquashcommit (08fe1f3aa, 233 files, +24336/-1856), so those are tracked as subsystems in Part 2.Legend: ⬜ not started · 🔄 PR open upstream · ✅ merged upstream · ❌ won't upstream / fork-only
Part 1 — Individual PRs merged since the 0.14 rebase
1a. Portable fixes & features (best upstream candidates)
super_keytometa_keyforqpressCodeneeds space butNameddoes notcursor_positionfor touch eventson_right_presshandleron_dragdraw_withdeadlock accessing font systemresize()toParagraphiced::widget::markdown::RowTextInputwidgetfsfeaturerow/columnDeleteSurroundingeventsgeometryfromiced_graphicstext_editoroverflowoption toPinwidget1b. Depends on a fork-only subsystem landing first (see Part 2)
a11y_readystate for sctk surfacesstackwidgetHasSelectableTexttraitListwidget not updating children because iterator not consumedwidget::list1c. Wayland / SCTK / COSMIC platform-specific
These only make sense upstream if the Wayland shell backend (Part 2, item 1) is accepted first.
SctkEvent::PointerEventSctkWinitWindowforsingle-instancea11y_readystate for sctk surfacesext-background-effectblurSctkEventWindowAttributesWaylandwithoutcctkfeaturesingle-instanceenabledFrameStatuson session lock surface configurecctkfeature1d. Already upstream or not applicable — no action
iced_wgpucanvasprimitives intiny_skiaSHADER_F16featureSHADER_F16only when adapter advertises itEllipsissupport — verifysoftbuffer+ revertPart 2 — Pre-rebase foundation (
feat: pop-os megasquash,08fe1f3aa)~227 PRs merged before Jan 2026 were squashed into one commit, so there is no per-PR mapping. Tracked here as subsystems, each of which needs its own upstream design discussion before any code PR.
winit/src/platform_specific/wayland/**(~34 new files),core/src/event/wayland/**,runtime/src/platform_specific/wayland/**runtime/src/dnd.rs, DnD source/destination in widgets,window_clipboardintegrationaccessibility/crate + AccessKit wiring incore,widget,winitId/ focus infrastructurecore/src/id.rs,core/src/widget/operation/search_id.rswidget::list(virtualized list)widget/src/list.rsmouse_areaextensionswidget/src/mouse_area.rscore,widget,winitwgpu/src/window/**, x11 adapter extraction, NVIDIA/DRI workaroundsruntime,winit/src/application/**,programgraphics,core::textserdederives, reservedIdsWorking notes
origin=FreddyFunk/iced,popos=pop-os/iced,upstream=iced-rs/iced.git log --format='%s' origin/master..upstream/master | grep -i <keyword>.Note
This issue was generated with LLM assistance (Claude Code). The PR inventory and classification come from diffing
pop-os/icedagainsticed-rs/icedand from the GitHub PR list, but the categorization — especially the "already upstream" rows in 1d and the subsystem groupings in Part 2 — has not been diff-verified end to end. Double-check before acting on any single row.