<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Grist Full Edition broken since 1.7.16+ — Possible fix (GRIST_SERVER_EDITION)]]></title><description><![CDATA[<p dir="auto">Hi everyone.</p>
<p dir="auto">It's my first message here so i hope it will arrive in the good topic to the right person.<br />
Grist Full Edition is broken since 1.7.16+ and i may have a Possible fix.</p>
<p dir="auto">Following up on the "Switch to Full Grist" issue reported earlier here (<a href="https://forum.cloudron.io/topic/14941/grist-is-now-available">https://forum.cloudron.io/topic/14941/grist-is-now-available</a>). After some debugging, I believe the root cause is that the Grist packaging is missing the GRIST_SERVER_EDITION=full environment variable.</p>
<p dir="auto">This variable was introduced in Grist 1.7.16+ (PR #2450) and is required to activate Full Edition at runtime. Without it, Grist defaults to Community Edition (deploymentType=core) even when a valid GRIST_ACTIVATION key is provided.</p>
<p dir="auto">The GRIST_ACTIVATION JWT only validates features (seats, read-only flag, expiration) — it does not switch the edition by itself.</p>
<p dir="auto">Proposed fix<br />
Adding this to the packaging should resolve the issue:<br />
export GRIST_SERVER_EDITION=full</p>
<p dir="auto">References<br />
PR #2450: <a href="https://github.com/gristlabs/grist-core/issues/2450" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/gristlabs/grist-core/issues/2450</a><br />
Grist README (environment variables): <a href="https://github.com/gristlabs/grist-core#environment-variables" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/gristlabs/grist-core#environment-variables</a><br />
Hope this helps.</p>
<p dir="auto">Best</p>
<p dir="auto">Chris</p>
]]></description><link>https://forum.cloudron.io/topic/15820/grist-full-edition-broken-since-1.7.16-possible-fix-grist_server_edition</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 03:44:50 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/15820.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Aug 2026 05:24:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Grist Full Edition broken since 1.7.16+ — Possible fix (GRIST_SERVER_EDITION) on Tue, 11 Aug 2026 09:24:36 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: james">@<bdi>james</bdi></a>,</p>
<p dir="auto">You're right on both points.</p>
<p dir="auto">On the installationId — that was specific to my migration case, not relevant to the core bug. Scratch that.</p>
<p dir="auto">On forcing Full Edition by default — agreed, that's the user's call.</p>
<p dir="auto">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.</p>
<p dir="auto">For anyone hitting this on Cloudron today, the workaround to test would be:</p>
<p dir="auto">Request a free activation key at <a href="http://getgrist.com" target="_blank" rel="noopener noreferrer nofollow ugc">getgrist.com</a> (free for orgs under $1M revenue)<br />
In the Cloudron app config, add these env vars:<br />
GRIST_SERVER_EDITION=full<br />
GRIST_ACTIVATION=&lt;your-key&gt;<br />
Restart the app<br />
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 <a href="http://env.sh" target="_blank" rel="noopener noreferrer nofollow ugc">env.sh</a>, that would confirm whether it's the fix.</p>
<p dir="auto">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.</p>
<p dir="auto">Chris</p>
]]></description><link>https://forum.cloudron.io/post/128027</link><guid isPermaLink="true">https://forum.cloudron.io/post/128027</guid><dc:creator><![CDATA[Chrisca]]></dc:creator><pubDate>Tue, 11 Aug 2026 09:24:36 GMT</pubDate></item><item><title><![CDATA[Reply to Grist Full Edition broken since 1.7.16+ — Possible fix (GRIST_SERVER_EDITION) on Tue, 11 Aug 2026 09:09:16 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/chrisca" aria-label="Profile: chrisca">@<bdi>chrisca</bdi></a></p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/chrisca" aria-label="Profile: Chrisca">@<bdi>Chrisca</bdi></a> <a href="/post/128024">said</a>:</p>
<p dir="auto">The installationId in SQLite (/persist/home.db, table kvs, key installationId) has to match the one embedded in the JWT. If the DB was recreated or the JWT issued for a different install, they won't match and activation silently fails</p>
</blockquote>
<p dir="auto">But is this not the core issue?<br />
Since every grist installation on Cloudron starts as free changing the edition from free to full would always entail 'injected the matching ID' however this should be done.</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/chrisca" aria-label="Profile: Chrisca">@<bdi>Chrisca</bdi></a> <a href="/post/128024">said</a>:</p>
<p dir="auto">For the Cloudron packaging, I'd guess just adding GRIST_SERVER_EDITION=full to the start script fixes step 1 natively.</p>
</blockquote>
<p dir="auto">This would cause every Grist installation to be the full edition by default and thus requiring a paid licence after the 30-day trial period, right?<br />
Just deciding for everyone that the edition is always full should not be our call to make, it is the users decision to switch between free and full.</p>
<p dir="auto">Also, there already is the <code>/app/data/env.sh</code> where you could add:</p>
<pre><code class="language-bash">export GRIST_SERVER_EDITION=full
</code></pre>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/chrisca" aria-label="Profile: chrisca">@<bdi>chrisca</bdi></a> can you explain the 'injected the matching ID' part?</p>
]]></description><link>https://forum.cloudron.io/post/128026</link><guid isPermaLink="true">https://forum.cloudron.io/post/128026</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Tue, 11 Aug 2026 09:09:16 GMT</pubDate></item><item><title><![CDATA[Reply to Grist Full Edition broken since 1.7.16+ — Possible fix (GRIST_SERVER_EDITION) on Tue, 11 Aug 2026 08:49:14 GMT]]></title><description><![CDATA[<p dir="auto">Hi <a class="plugin-mentions-user plugin-mentions-a" href="/user/james" aria-label="Profile: james">@<bdi>james</bdi></a></p>
<p dir="auto">Thanks for the detailed report. I ran into the same issue and after digging through the source code, I found a way to get Full Edition working. Three things are needed together:</p>
<p dir="auto">GRIST_SERVER_EDITION=full in the container env (this is the missing piece, introduced in Grist 1.7.16 via PR #2450 — different from GRIST_EDITION). Flips deploymentType to enterprise.<br />
GRIST_ACTIVATION with the JWT from <a href="http://getgrist.com" target="_blank" rel="noopener noreferrer nofollow ugc">getgrist.com</a>.<br />
The installationId in SQLite (/persist/home.db, table kvs, key installationId) has to match the one embedded in the JWT. If the DB was recreated or the JWT issued for a different install, they won't match and activation silently fails — instance stays read-only with no error message. Once I injected the matching ID, everything unlocked.<br />
Validated on gristlabs/grist official image, SQLite backend. Full Edition active, admin panel visible, documents editable.</p>
<p dir="auto">For the Cloudron packaging, I'd guess just adding GRIST_SERVER_EDITION=full to the start script fixes step 1 natively.</p>
<p dir="auto">References:</p>
<p dir="auto">PR #2450: <a href="https://github.com/gristlabs/grist-core/issues/2450" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/gristlabs/grist-core/issues/2450</a><br />
Happy to test a patched package if one comes together.</p>
<p dir="auto">Chris</p>
]]></description><link>https://forum.cloudron.io/post/128024</link><guid isPermaLink="true">https://forum.cloudron.io/post/128024</guid><dc:creator><![CDATA[Chrisca]]></dc:creator><pubDate>Tue, 11 Aug 2026 08:49:14 GMT</pubDate></item><item><title><![CDATA[Reply to Grist Full Edition broken since 1.7.16+ — Possible fix (GRIST_SERVER_EDITION) on Tue, 11 Aug 2026 07:41:08 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/user/chrisca" aria-label="Profile: chrisca">@<bdi>chrisca</bdi></a><br />
This issue is known to us and we did not yet get any feedback from the upstream.<br />
See: <a href="https://forum.cloudron.io/post/126499">https://forum.cloudron.io/post/126499</a><br />
I will look into it again if something has changed.</p>
]]></description><link>https://forum.cloudron.io/post/128018</link><guid isPermaLink="true">https://forum.cloudron.io/post/128018</guid><dc:creator><![CDATA[james]]></dc:creator><pubDate>Tue, 11 Aug 2026 07:41:08 GMT</pubDate></item></channel></rss>