/// // The `releases` read rule stops mentioning nsfwEnabled. // // It used to read: // @request.auth.id != '' && (variant = 'clean' || @request.auth.nsfwEnabled = true) // — any signed-in account could read clean rows, and only an nsfwEnabled account // could read the 18+ ones. That clause was the thing keeping 18+ artifacts out of // reach of the family. // // Amber has no 18+ build any more and the nine rows that carried one (three // versions across three platforms, 437 MB) were deleted before this migration. // With nothing left for the clause to hide, it is a condition on a flag nothing // writes, which reads like a protection that is still doing something. // // `variant` itself stays on the collection and in the manifest: every installed // Amber compares that field against its own and refuses a mismatch silently. migrate((app) => { const c = app.findCollectionByNameOrId("releases") c.listRule = "@request.auth.id != ''" c.viewRule = "@request.auth.id != ''" app.save(c) }, (app) => { const c = app.findCollectionByNameOrId("releases") const rule = "@request.auth.id != '' && (variant = 'clean' || @request.auth.nsfwEnabled = true)" c.listRule = rule c.viewRule = rule app.save(c) })