Hi @james,
You're right on both points.
On the installationId — that was specific to my migration case, not relevant to the core bug. Scratch that.
On forcing Full Edition by default — agreed, that's the user's call.
One thing I want to add: I tested the same approaches as you did in post #15 (GRIST_EDITION=full, yarn run set-full-edition, the admin UI toggle) — none of them worked. The variable introduced in PR #2450 is actually GRIST_SERVER_EDITION=full, which is a different variable from GRIST_EDITION. It controls deploymentType at runtime via a separate code path. GRIST_EDITION=full had no effect on my side either.
For anyone hitting this on Cloudron today, the workaround to test would be:
Request a free activation key at getgrist.com (free for orgs under $1M revenue)
In the Cloudron app config, add these env vars:
GRIST_SERVER_EDITION=full
GRIST_ACTIVATION=<your-key>
Restart the app
I haven't been able to test this on the Cloudron package itself — I had already migrated to the official gristlabs/grist image when I found GRIST_SERVER_EDITION, so my validation is on that image, not on Cloudron. If someone still on the Cloudron package could test adding GRIST_SERVER_EDITION=full to env.sh, that would confirm whether it's the fix.
The Switch to Full Grist button in the admin UI likely sets GRIST_EDITION instead of GRIST_SERVER_EDITION, which would explain why it doesn't work.
Chris