G9 Mobile client handoff
- Area
- G — Cross-cutting UX
- Audience
- both
- Kind
- feature
- Status
- accepted
- Maturity
- shipped
- Shipped in
- 0.17.0
- Labels
- household, ux, verification
The feature in the specification · Read at
Requirements
A household member's account MUST be provisioned through the media server as one household identity (D6) before a device is handed over.
The tool MUST issue a per-person scannable code encoding the server address, and a deep link where the client supports one.
- locked by
- 0.17.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/app/handoff.rscrates/lemonfiber-core/src/clients.rscrates/lemonfiber/src/exit/reporting.rs
- recorded partial
- lemonfiber-companionapp-modules/sdk/src/Api/Connectors.phptests/Contract/HandingOverADeviceContractTest.php
- cited by
- lemonfiber@9829145fealemonfiber-web@495d5f5cab
Where the media server offers a code-authorisation sign-in, the tool MUST guide it and MUST NOT auto-approve on the person's behalf.
- locked by
- 0.17.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/app/handoff.rscrates/lemonfiber-core/src/clients.rscrates/lemonfiber/src/exit/reporting.rs
- recorded partial
- lemonfiber-companionapp-modules/sdk/src/Api/Connectors.phptests/Contract/HandingOverADeviceContractTest.php
- cited by
- lemonfiber@9829145fealemonfiber-web@495d5f5cab
Recommended clients MUST be open-source; a proprietary client MAY be named but MUST be flagged as not open-source and MUST NOT be the default.
- locked by
- 0.17.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/app/handoff.rscrates/lemonfiber-core/src/clients.rscrates/lemonfiber/src/exit/reporting.rs
- recorded partial
- lemonfiber-companionapp-modules/kernel/src/Api/AClientToHandOver.phpapp-modules/kernel/src/Api/ADeviceToWatchOn.phpapp-modules/kernel/tests/Api/AHandoffTest.phptests/Contract/HandingOverADeviceContractTest.php
- cited by
- lemonfiber@9829145fealemonfiber-web@495d5f5cab
After hand-off the tool MUST query the media server and assert the new device or session registered, rather than assuming it.
- locked by
- 0.17.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/app/handoff.rscrates/lemonfiber-core/src/clients.rscrates/lemonfiber/src/exit/reporting.rs
- recorded partial
- lemonfiber-companionapp-modules/sdk/src/Api/Connectors.phptests/Contract/HandingOverADeviceContractTest.php
- cited by
- lemonfiber@3c0f78582dlemonfiber@9829145fea
An incomplete on-device step MUST be reported as pending, distinct from failed.
- locked by
- 0.17.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/app/handoff.rscrates/lemonfiber-core/src/clients.rscrates/lemonfiber/src/exit/reporting.rs
- recorded partial
- lemonfiber-companionapp-modules/kernel/src/Api/WhereTheHandoffStands.phpapp-modules/kernel/tests/Api/AHandoffTest.phptests/Contract/HandingOverADeviceContractTest.php
- cited by
- lemonfiber@9829145fealemonfiber-web@495d5f5cab
A client without deep-link support MUST fall back to a code encoding the server address.
- locked by
- 0.17.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/app/handoff.rscrates/lemonfiber-core/src/clients.rscrates/lemonfiber/src/exit/reporting.rs
- recorded partial
- lemonfiber-companionapp-modules/sdk/src/Api/Connectors.phptests/Contract/HandingOverADeviceContractTest.php
- cited by
- lemonfiber@9829145fea
An existing account for the person MUST be reused; the tool MUST NOT create a duplicate household identity.
The scannable code MUST NOT be a bearer credential; it MUST still require the person's own sign-in.
- locked by
- 0.17.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/app/handoff.rscrates/lemonfiber-core/src/clients.rscrates/lemonfiber/src/exit/reporting.rs
- recorded partial
- lemonfiber-companionapp-modules/sdk/src/Api/Connectors.phptests/Contract/HandingOverADeviceContractTest.php
- cited by
- lemonfiber@9829145fea
A device unreachable from its network MUST be reported as a reachability problem, not a client fault.
- locked by
- 0.17.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/app/handoff.rscrates/lemonfiber-core/src/clients.rscrates/lemonfiber/src/exit/reporting.rs
- recorded partial
- lemonfiber-companionapp-modules/sdk/src/Api/Connectors.phptests/Contract/HandingOverADeviceContractTest.php
- cited by
- lemonfiber@9829145fea
Session state MUST be reflected honestly; a signed-out device MUST NOT continue to read as connected.
- locked by
- 0.17.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/app/handoff.rscrates/lemonfiber-core/src/clients.rscrates/lemonfiber/src/exit/reporting.rs
- recorded partial
- lemonfiber-companionapp-modules/sdk/src/Api/Connectors.phptests/Contract/HandingOverADeviceContractTest.php
- cited by
- lemonfiber@9829145fea
Provisioning, code issue, and the connection proof MUST each be reachable non-interactively.
The hand-off's reason and steps MUST be in words every surface can show and MUST NOT name a command of one surface; the next thing to do MUST be carried as a remedy that each surface renders in its own way.
- locked by
- 0.17.0 met
- recorded done
- lemonfibercrates/lemonfiber-core/src/app/handoff.rscrates/lemonfiber-core/src/clients.rscrates/lemonfiber/src/exit/reporting.rs
- recorded partial
- lemonfiber-companionapp-modules/kernel/src/Api/WhatTheHandoffNeedsNext.phpapp-modules/kernel/tests/Api/AHandoffTest.phptests/Contract/HandingOverADeviceContractTest.php
- cited by
- lemonfiber@75851ae04dlemonfiber@3c0f78582dlemonfiber-web@495d5f5cab