Skip to content

Add typed native desktop host capabilities - #139

Closed
wieslawsoltes wants to merge 35 commits into
review/code-oss-desktop-capabilities-basefrom
feature/native-desktop-host-capabilities
Closed

wieslawsoltes wants to merge 35 commits into
review/code-oss-desktop-capabilities-basefrom
feature/native-desktop-host-capabilities

Conversation

@wieslawsoltes

Copy link
Copy Markdown
Collaborator

Problem

Native browser applications need standard clipboard, window lifecycle, fullscreen, visibility, focus, and external-navigation contracts without Electron. WebScene's earlier string host requests could not provide bounded asynchronous completion, realm ownership, or browser-shaped clipboard/window behavior.

Change

  • Add the versioned typed native desktop-host request/completion boundary shared by clipboard and window capabilities.
  • Implement bounded Promise clipboard read/write, ClipboardItem, MIME/byte transport, cancellation, navigation/teardown ownership, native shortcut event dispatch, and compatibility fallback.
  • Implement typed external URL, close, focus, fullscreen enter/exit, native state publication, generated fullscreen bindings, and event reset.
  • Add request/pool bounds, 10,000-operation performance gates, async ordering, stale/double completion, shortcut, canvas/image, teardown, and documentation coverage.

Validation

  • The original consolidated series passed hosted macOS/Ubuntu/Windows, NativeAOT, packaged runtimes/consumers, cross-RID evidence, and release verification while it was developed.
  • Clipboard 10,000-operation gates, request high-water checks, fullscreen state/event contracts, and bounded shutdown diagnostics are included.
  • The comparison is an exact 35-commit range from the pre-capability consolidation point, behind 0; no unrelated later compatibility commits are present.

Integration

Closes #86 and closes #87. Coordinates with SceneTech/AppScene#66.

The first implementation commits introduced the shared typed request ABI for both capability families, so separating them after consolidation would duplicate and conflict over the same ABI and tests. This combined focused review preserves that dependency honestly. Equivalent commits are already in draft consolidation PR #76. Keep this PR open and do not merge it to main.

@wieslawsoltes
wieslawsoltes force-pushed the feature/native-desktop-host-capabilities branch from 9b9a17d to f01b438 Compare September 16, 2026 09:30
@wieslawsoltes wieslawsoltes reopened this Sep 16, 2026
@wieslawsoltes

Copy link
Copy Markdown
Collaborator Author

Closing this older combined review as superseded by merged native Stack #186. Focused PRs #184 and #185 contain the typed clipboard/window capability ABI, lifecycle and teardown work, bounded 10,000-operation gates, and compatibility coverage on current main; they merged atomically at 75b826d0496b288a11eed54510ebdc45f5b52c1b. Issues #86/#87/#89 are closed. No implementation is being discarded.

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