The storage and the platform right for a three-layer contact-effect stack

Featurekamo-shared-library
Shipped
September 7, 2026 at 8:43 AM UTC
Author
Kamo
Commit
ff1af22

CONTACT_EFFECT_PROFILES holds the platform, org and member layers of the animation painted where a pointer touches the screen — the same shape, and for the same reasons, as EVENT_SOUND_PROFILES: one scope, the id that scope is about, and an opaque settings blob. A separate table rather than a KIND column on the sounds one. Sharing would mean widening a unique constraint that live rows already depend on, to save a migration that costs nothing, and the two documents have nothing in common but their layering. MANAGE_PLATFORM_CONTACT_EFFECTS gates the platform layer, exactly as MANAGE_PLATFORM_SOUNDS gates its own. Safe to append: right_type is @Enumerated(STRING) on a varchar(64), and the live platform_administrator_right table carries no CHECK constraint to be frozen at the old value set. The table is created by hand (ddl-auto is none), with no CHECK constraints of its own.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing