Skip to content

Unify transactional presentation across managed surfaces - #114

Merged
conxlgtm merged 7 commits into
mainfrom
surface-foundation/transactional-managed-surfaces
Jul 29, 2026
Merged

conxlgtm merged 7 commits into
mainfrom
surface-foundation/transactional-managed-surfaces

Conversation

@conxlgtm

@conxlgtm conxlgtm commented Jul 28, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Add ManagedSurfaceIdentity, one managed redraw event, and root/filtered presentation feedback for windows, popups, and subsurfaces.
  • Give PopupSurface and Subsurface the same direct/prepared show and redraw contract as Window, with SurfaceFrameMetadata and SoftwarePresentationOutcome.
  • Share SHM reservation, metadata, callback, feedback, commit, and cleanup machinery while retaining role-specific lifecycle reducers.
  • Make popup preparation latest-wins and replace subsurface boolean redraw state with SubsurfaceModel.
  • Make synchronized child-then-parent commit one point-of-no-return transaction and add live/public smoke coverage.

Transaction guarantees

  • Unsupported metadata is rejected before draw, new-pool allocation, or presentation requests.
  • Stale prepared work returns .superseded; close races return .closed.
  • Cancellation and draw/preparation errors release reservations and preserve eligible redraw work.
  • Synchronized submissions commit child then parent exactly once; rejected and desynchronized paths do not commit the parent.

Validation

  • Root suite: 2,010 tests passed.
  • Focused TSan: 27 pure tests + 3 live subsurface tests passed with no sanitizer report.
  • wck ci cheap, wck ci required, API baseline verification, DocC verification, documentation verification, identity verification, formatting, lint, and git diff --check: passed.
  • Headless public integration and request-path suites: passed.
  • GitHub PR checks cheap, headless-request-path, required-product, and aggregate required: passed.
  • Framework-host external package compiled and its live Weston path created/drew all three roles.
  • ManagedSurfacePresentationSmoke: passed on Weston 15 with all feedback/redraw routes and cleanup; passed on KDE/KWin 6.6.6 for all initial presentations and cleanup using bounded compositor flags.

Review

The exact candidate tree was reconstructed from a SHA-256-pinned patch and independently reviewed. Final verdict: MERGE , no merge blockers found. The review also reran 38 focused tests, 4 live subsurface transaction tests, 2 live public-integration tests, 3 focused live TSan tests, and the headless smoke.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cafdbc0e24

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@conxlgtm

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🎉

Reviewed commit: bd6ae41e24

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@conxlgtm
conxlgtm merged commit d235dc6 into main Jul 29, 2026
10 checks passed
@conxlgtm
conxlgtm deleted the surface-foundation/transactional-managed-surfaces branch July 29, 2026 03:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant