From 1fb50d4f62bf0636467ecc3d4534cd82f0868c90 Mon Sep 17 00:00:00 2001 From: xarmian Date: Tue, 14 Apr 2026 09:22:08 -0400 Subject: [PATCH] feat: hide plan settings in non-cloud mode, improve overrides UX (#110) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: hide plan settings in non-cloud mode, improve plan overrides UX 1. Gate Plan column, Plan dropdown, and Plan Overrides behind cloud_mode so self-hosted instances don't see irrelevant billing UI. 2. Replace raw JSON textarea for plan overrides with a structured grid of labeled number inputs for each known limit (workspaces, items per workspace, members, API tokens, webhooks). Each field shows "default" as placeholder and accepts -1 for unlimited. Addresses IDEA-561 * fix: address codex review — preserve extra overrides, fix colspan, validate integers - Preserve non-modeled override keys (e.g. storage_bytes) by stashing them on select and merging them back on save - Fix colspan: 6 columns in cloud mode, 5 without (was off by one) - Use Number() + Number.isInteger() instead of parseInt to reject floats and scientific notation instead of silently truncating --- web/src/routes/console/admin/+page.svelte | 158 +++++++++++++++++----- 1 file changed, 122 insertions(+), 36 deletions(-) diff --git a/web/src/routes/console/admin/+page.svelte b/web/src/routes/console/admin/+page.svelte index fa39a3d7..b2831a42 100644 --- a/web/src/routes/console/admin/+page.svelte +++ b/web/src/routes/console/admin/+page.svelte @@ -1,13 +1,23 @@