Repository navigation
0.3.0
Sessions that outlive the tab, and a corrected relayer host.
- Owner-kept sessions: when the device owner approves your site, they can choose to keep it paired until they remove it (mobile app → Settings → Art Computers → the FF1 → Paired sites). Such a session comes back as
{ persistent: true }with noexpiresAtand stays usable until removed or revoked. Sessions the owner does not keep carryexpiresAtand behave as before. - The shape is capability-gated: each request declares it, and the device sends the no-expiry session only to a site that declared it. A site on 0.2.0 or older gets a timed session even when the owner chose to keep it — upgrading the library is the whole fix on the site side. The device-side support ships in its own FF OS and mobile-app releases; until those land everywhere, write your page to handle both shapes.
- New option
requestedExpiresInSecondsonmountPlayOnArtComputerButtonandrequestEphemeralSessionWithPairingUi: the lifetime your site asks for, a whole number of seconds from 1 to 31536000. A value outside that range throws where you set it. Leave it unset to take the device default. The owner decides: if they keep your site paired, the request is ignored. - Relayer host corrected.
https://artwork-info.feral-file.workers.devno longer resolves; the relayer Feral File operates today ishttps://tv-cast-coordination.autonomy-system.workers.dev. Put that host in yourContent-Security-Policyconnect-src— the policy has to be written before any session exists. At runtime, readsession.relayerBaseUrlfrom the approved session rather than hard-coding a host; therelayerBaseUrloption is the fallback for a session that carries none, and without it such a session fails withrelayer base URL is required. - The Go ephemeral-token minter carries the persistent session shape and validates the requested lifetime device-side.