The need
Scarcity keeps a player's favourited collections. They shape the collection picker and may later feed the pre-selection ranking. Today they sit in host-provided local storage, so they die with the device and do not come back after a reinstall.
Where it stands
At 7475e70c the product storage surface is local_storage with three methods — read, write, clear — keyed by a plain String (rust/crates/truapi/src/api/local_storage.rs:11-53).
No RFC in docs/rfcs/ covers product storage at all. The storage-adjacent RFCs are all open PRs, and none of them is this:
#513 is storage shared between products on one device. #598 (REQ1) explicitly puts this out of scope:
Syncing storage across a user's devices. Storage is per product and per device; nothing here changes that, and no requirement should assume it does.
That exclusion looks right for REQ1 — cross-product and cross-device are different mechanisms. This issue is the need the exclusion leaves without a home, rather than an argument to widen REQ1.
What we need
An answer more than an implementation:
Scarcity has an accepted fallback either way: keep favourites on the device and say so in the interface, or keep them out of the default collection choice so both minting surfaces still compute the same default. A documented "not planned" is a usable answer here — what we cannot design against is silence.
Consumer side: paritytech/scarcity-spa row R14 and scarcity-spa#25.
cc @gp0p3
The need
Scarcity keeps a player's favourited collections. They shape the collection picker and may later feed the pre-selection ranking. Today they sit in host-provided local storage, so they die with the device and do not come back after a reinstall.
Where it stands
At
7475e70cthe product storage surface islocal_storagewith three methods —read,write,clear— keyed by a plainString(rust/crates/truapi/src/api/local_storage.rs:11-53).No RFC in
docs/rfcs/covers product storage at all. The storage-adjacent RFCs are all open PRs, and none of them is this:#513 is storage shared between products on one device. #598 (REQ1) explicitly puts this out of scope:
That exclusion looks right for REQ1 — cross-product and cross-device are different mechanisms. This issue is the need the exclusion leaves without a home, rather than an argument to widen REQ1.
What we need
An answer more than an implementation:
Scarcity has an accepted fallback either way: keep favourites on the device and say so in the interface, or keep them out of the default collection choice so both minting surfaces still compute the same default. A documented "not planned" is a usable answer here — what we cannot design against is silence.
Consumer side:
paritytech/scarcity-sparow R14 and scarcity-spa#25.cc @gp0p3