425 Commits

Author SHA1 Message Date
Chris Tate 2591284640 Fix generated manifest window options 2026-06-26 21:16:19 -05:00
Chris Tate 7af0168c9d Fix native shell rollback and GTK asset routing 2026-06-26 20:38:21 -05:00
Chris Tate 7ef829affa Fix menu shortcut validation 2026-06-26 09:20:34 -05:00
Chris Tate 7edeef2b5f Fix GTK asset origin fallback 2026-06-26 09:05:37 -05:00
Chris Tate 2b1f64b367 Fix native capability edge cases 2026-06-25 15:04:42 -05:00
Chris Tate 9a8eb99c0e Fix macOS CEF packaged asset child webviews 2026-06-25 14:52:59 -05:00
Chris Tate 3c9e4a2e3d Fix packaged asset child webviews 2026-06-25 14:40:05 -05:00
Chris Tate 126ba7cccd Fix package web engine and archive handling 2026-06-25 14:06:13 -05:00
Chris Tate 6eba88a706 Fix reload sources and desktop Exec quoting 2026-06-25 13:48:15 -05:00
Chris Tate 30d4c12d82 Fix Windows packaged asset loading 2026-06-25 13:37:54 -05:00
Chris Tate aaa17b3913 Fix native shell smoke resize assertion 2026-06-25 13:20:31 -05:00
Chris Tate 10cc3c24af Fix file drop paths and MIME validation 2026-06-25 13:03:44 -05:00
Chris Tate ab5a418b85 Fix native packaging review issues 2026-06-25 12:46:42 -05:00
Chris Tate c086cdcaed Fix WebView label collision validation 2026-06-25 12:29:29 -05:00
Chris Tate 34cda8754b Fix native view bridge clearing 2026-06-25 12:19:22 -05:00
Chris Tate d068763c86 Fix native source ownership and Kotlin escaping 2026-06-25 12:06:17 -05:00
Chris Tate b354fd4517 Fix native shell layout validation 2026-06-25 11:55:04 -05:00
Chris Tate e390c806d0 Fix window bridge error codes 2026-06-25 11:41:45 -05:00
Chris Tate 02b1aaebb2 Fix startup window identity handling 2026-06-25 11:32:28 -05:00
Chris Tate 9af28f75d5 Fix Windows main WebView bridge and accessibility 2026-06-25 11:20:19 -05:00
Chris Tate 230fe3ff00 Fix chromium backend gating 2026-06-25 10:53:58 -05:00
Chris Tate 7eb9699c73 Fix native view cleanup 2026-06-25 10:28:01 -05:00
Chris Tate 53e8cf38f0 Fix mobile package asset loading 2026-06-25 10:05:02 -05:00
Chris Tate ff11c11704 Map mobile shell metadata to host config
- Generate iOS and Android native shell config files from mobile ShellView metadata.

- Add shell declarations to mobile examples and document the package-time mobile mapping.

- Keep Android generated manifests launchable when app identity changes the package id.
2026-06-25 04:38:15 -05:00
Chris Tate 6e9a2432e1 Export the full mobile C ABI
- Add missing activation, command, and command-name symbols to the static library export list.

- Verify the built archive exposes the documented mobile ABI symbols.
2026-06-25 04:29:13 -05:00
Chris Tate 1e1f75b5f7 Bundle mobile package assets
- Copy package assets into generated iOS and Android mobile artifacts.

- Wire generated mobile hosts to set the embedded runtime asset root.

- Extend mobile package tests to cover asset output and host wiring.
2026-06-25 04:28:03 -05:00
Chris Tate c833a3cd94 Load mobile embedded asset roots
- Make zero_native_app_set_asset_root select an asset WebView source for embedded mobile hosts.

- Keep the inline mobile source as the fallback and cover reset behavior in tests.
2026-06-25 04:25:29 -05:00
Chris Tate 3dd3c9c533 Emit Android skeleton app theme
- Generate the AppTheme resource referenced by Android mobile manifests.

- Extend the mobile skeleton layout test to cover Android resources.
2026-06-25 04:23:27 -05:00
Chris Tate 79b7e62f40 Use app metadata for mobile packages
- Render iOS package identity from manifest metadata.

- Render Android package identity with a sanitized application id.

- Cover generated mobile identity files in tooling tests.
2026-06-25 04:21:44 -05:00
Chris Tate 095b279a02 Create mobile skeleton library drop-ins
- Create iOS and Android native library directories in generated skeletons.

- Add a tooling test for the mobile skeleton output layout.
2026-06-25 04:19:46 -05:00
Chris Tate a49f416300 Generate mobile native command shells
- Upgrade iOS and Android package skeletons from bare WebView hosts to native command shells.

- Add Android Kotlin, CMake, and JNI pieces for the generated native host.

- Guard the mobile package templates with tooling tests.
2026-06-25 04:18:40 -05:00
Chris Tate f1afdde69f Publish AppKit accessibility roles
- Map AppKit native view kinds to platform accessibility roles.

- Add a root test guard for the AppKit role mapping.
2026-06-25 04:14:46 -05:00
Chris Tate e392ccae52 Repair focus after native view removal
- Move focus off native views when they become hidden, disabled, or closed.

- Keep close responses and bridge view state from reporting closed surfaces as focused.
2026-06-25 04:11:50 -05:00
Chris Tate b5fb32c4a9 Accept string selectors for view helpers
- Allow JS views.focus("label") and views.close("label") across desktop host bridges.

- Update TypeScript, docs, and build checks for injected helper parity.
2026-06-25 04:07:38 -05:00
Chris Tate 09f6695024 Use native startup bounds for shell layout
- Preserve native or restored startup window frames when loading shell scenes.

- Cover startup shell layout when manifest, surface, and native bounds differ.
2026-06-25 04:03:55 -05:00
Chris Tate 941f16a0a3 Use native bounds for created shell layouts
- Lay out created shell windows from returned native frame

- Cover restored-size shell layout behavior
2026-06-25 03:59:15 -05:00
Chris Tate fd9c8c66c6 Preserve toolbar command source for nested controls
- Walk native view ancestors when classifying command source

- Cover nested toolbar controls and non-toolbar controls
2026-06-25 03:56:47 -05:00
Chris Tate 5887a59b20 Reject duplicate shell window labels
- Validate shell window labels against compatibility windows

- Cover app.zon tooling and primitive manifest validation

- Document the cross-list shell label contract
2026-06-25 03:52:28 -05:00
Chris Tate d7c67cdec4 Support label-first view updates
- Add window.zero.views.update(label, patch) across injected host bridges

- Type and document the label-first helper form

- Guard the injected helper contract in build checks
2026-06-25 03:48:49 -05:00
Chris Tate 48b0235643 Add stable generic view ids
- Add ViewId to generic ViewInfo and bridge JSON

- Preserve runtime view identity across list and update paths

- Document and guard the public view identity contract
2026-06-25 03:46:56 -05:00
Chris Tate b70aacce45 Include save dialog in bridge policy docs
- Add the save dialog command to explicit builtin bridge policy examples

- Guard the security and builtin-command docs snippets
2026-06-25 03:42:39 -05:00
Chris Tate 5b80f8e3d5 Refresh starter native-shell wording
- Update frontend starter READMEs away from WebView-only shell language

- Clarify the deprecated webview build flag help

- Guard frontend example positioning in the example test group
2026-06-25 03:41:24 -05:00
Chris Tate a40fd72765 Correct command docs view update
- Update the command handler example to mutate visible view text

- Add a docs guard for command bridge and view update contracts
2026-06-25 03:39:21 -05:00
Chris Tate 2b563a51aa Align capabilities event bridge name
- Use the runtime DOM event prefix in the capabilities example

- Guard the bridge event name in native example checks
2026-06-25 03:37:47 -05:00
Chris Tate db9154fad1 Tighten generic WebView view types
- Require url and frame for WebView-backed view creation

- Guard the package type surface for generic view contracts
2026-06-25 03:35:19 -05:00
Chris Tate f96059b5bd Type command catalog bridge API
- Add package types for window.zero.commands.list

- Guard command catalog types in the root package check
2026-06-25 03:33:39 -05:00
Chris Tate 1474c24e80 Declare mobile host commands
- Add stable mobile command metadata to iOS and Android manifests

- Verify mobile host command IDs in example checks
2026-06-25 03:31:44 -05:00
Chris Tate 478f766f59 Cover platform support selectors
- Test name-based platform support bridge payloads

- Lock package types and docs to the selector API
2026-06-25 03:29:55 -05:00
Chris Tate 0726a86708 Cover package platform feature types
- Add package type checks for native platform feature names

- Document the full platform support query feature set
2026-06-25 03:27:57 -05:00
Chris Tate 5b0efd676f Cover platform support aliases
- Exercise JavaScript camelCase support aliases for native controls

- Cover file-drop and activation feature discovery through the bridge
2026-06-25 03:26:04 -05:00