Repository navigation
Conversation
Split Windows trusted pointer handling into its own parent PR, restore strict runtime tree verification, and expose generic versioned image input without app or model-name coupling. Update API docs and platform assertions.
Document the UIAccess injection caveat in both language variants, rename the source test, and restamp the locked Makepad patch.
Use the updated trusted-input baseline and its exact locked tree alongside the camera preview patch.
Preserve the upstream runtime patches and append the Windows input provenance patch with a verified locked tree.
feat: Windows 相机、图片识别与宿主点击授权
7 tasks done
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Team: 我说对就是队
Why
Contained apps on Windows could import an image, but could not complete the camera-to-model flow: camera preview and host camera consent were unavailable,
model.completeaccepted text only, and Windows pointer presses could not approve host-owned sheets. This combines the changes from the group fork's PR #1 and PR #2. The motivating app is PantrySteward PR #45.How
CameraPreview/Videopath, with a bounded latest-frame pool; the shell advertises the existing camera permission methods on Windows. Capture returns an app-local photo path through the host API.model.complete@2on Windows with one optional{image: {app_path}}. After caller admission, the host resolves the file inside that app's storage, checks its JPEG/PNG/WebP signature and 10 MiB limit, and sends it through a configured OpenAI-compatible provider. Provider credentials, provider choice and model name stay with the host. Other platforms keep@1.files.importstage up to 64 MiB without moving bytes through the script heap.files.pick_photokeeps its 1 MiB limit, and model image input keeps its separate 10 MiB limit. Apps can useruntime.describeto discovermodel.complete@2and offer a manual path when it is absent.GetCurrentInputMessageSourcemarks only mouse/touch/pen/touchpad messages reported asIMO_HARDWAREtrusted; posted,IMO_INJECTEDandIMO_SYSTEMmessages remain untrusted. This enables existing host review/consent checks on Windows. Update the English and Chinese boundary documentation.Supported behavior and limits
runtime.describereports host image support, not whether a chosen provider accepts images; providers may still refuse them. The image must already be in the calling app's storage and fit within 10 MiB.IMO_HARDWAREis an OS classification, not proof of a physical person: Windows also classifies UIAccess-injected input this way. The trust change applies to Windows host-owned approvals beyond the camera sheet. Linux approval remains unsupported. Windows gallery export and video recording remain unsupported.Verification
cargo test --locked -p octosense-llm-service --test complete --quiet: 23 passed.cargo test --locked -p octosense-shell --features app-hub platform_services::tests --quiet: 10 passed.cargo test --locked -p makepad-platform only_os_hardware_class_pointer_messages_are_trusted: 1 passed.python tools/setup.py --check --cargo --hub <local sources hub>andgit diff --check: passed on the combined tree.