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
{{ message }}
Repository navigation
Home since rc.1: Camera agent's camera.notify is refused (family collision with the device camera service) #408
Found by the host-API family audit (App Hub #172), by reading the code. Not reproduced on a device.
What happens: in the phone shell, the device camera service (platform services) registers before the shell's notice service. glance_notice::serve_system_apps() skips any family that already has a service. So os.camera, which ships only in the phone build, never gets a notice service. Its agent's declared tool camera.notify reaches the device service instead, which refuses it ("Device methods require an empty object"). This worked at beta.1 and beta.2 and broke at rc.1, when the device service started taking the camera family on phone.
Why tests miss it:glance_notice's test (system_apps_without_a_service_of_their_own_get_the_notice_service) runs on the desktop system-app list, where os.camera isn't present.
Fix options:
The device camera service answers notify by handing it to glance_notice::notify, the way Mail and News hand theirs over through on_notify.
os.camera gets its own namespace service, as os.photos did on main.
Rename one family. That breaks callers, so it's not preferred.
Add a phone-shell test that asserts every system app declaring <namespace>.notify reaches a service that answers it.
Activity