pet.trezy.devicePreference
Details · record, key any
| Kind | record |
|---|---|
| Record key | any |
| Authority | trezy.pet |
| Indexed |
Record
record · key anyProperties
fingerprint
stringA hash of a few coarse, stable device traits, used ONLY to re-find this row after the browser's local storage has been cleared — see src/lib/device.ts. ⚠ IT IS BEST-EFFORT AND MUST NEVER BE TREATED AS AN IDENTITY. It is matched only when exactly one row matches, because two identical phones on one account produce the same hash and silently merging them would change the typeface on a device the player never touched.
maxLength: 64
label
stringA coarse, human-readable name for the device list — "Chrome on macOS", never a full user-agent string. Somebody cleaning up stale entries has to be able to tell which row is their old phone; unlabelled rows make the delete button unanswerable. Coarse on purpose: browser family and platform family only, which is enough to recognise and too little to single anybody out.
maxLength: 60
lastSeenAt
string · datetimeWhen this device last opened the game, so a stale row can be recognised and deleted. This is the one genuinely time-revealing field in the game, which is why it exists only for overridden devices and only inside the space.
Required here, unlike on the account row: a device row IS the override, so one without a mode says nothing and should have been deleted instead.
knownValues: pixel | softer | system
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
pet.trezy.getPreferences
queryEverything the caller's account knows about how to present the game: the account-wide default, and every device that has been given its own text style. Takes no DID — it answers for whoever is authenticated and nobody else. ⚠ IT RETURNS THE WHOLE PICTURE RATHER THAN AN ANSWER, deliberately: which of these applies depends on which device is asking and what its browser still remembers, and that reconciliation lives in one tested place on the client (src/lib/preferences.ts) instead of being half he
-
pet.trezy.preferences
record