glideapps / glideapps/expert-issues

Batch Schema Updates to Prevent Constant Client-Side Re-rendering

Open
#65 1 comment 2 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
5
Forks
0
PR merge metrics
No merged PRs in 30d

Description

**Summary**
The Data Editor (specifically for Glide Big Tables) needs a **"Batch Update"** or **"Deferred Save"** mode. Currently, every single individual change to the data structure—such as adding a column, renaming a header, or changing a column type—immediately triggers a full re-render of the data components for all active users. This makes the app unusable during development, as the UI flickers and refreshes repeatedly.

**Current Problem**
* **1 Change = 1 Re-render:** If a developer needs to add 10 new columns, the active user's screen refreshes 10 separate times. This causes the UI to jump, scroll positions to be lost, and input forms to reset.
* **Disruptive Workflow:** Developers effectively cannot work on the database structure during business hours because even minor edits (like fixing a column name) cause the app to "glitch" for users currently viewing that table.
* **No "Atomic" Commits:** There is no way to prepare a set of changes (e.g., create 5 columns and 2 relations) and apply them all at once.

**Examples/Scenarios**
* **Adding Multiple Fields:** A developer is building a new feature and adds `Status`, `Date`, `Assignee`, and `Priority` columns. The user's screen flashes and reloads four times in a row, interrupting their work.
* **Renaming Columns:** A developer corrects a typo in a header. The user, who was scrolling down a long list, is suddenly thrown back to the top of the list because the component re-rendered to reflect the new name.

**Why This Matters**
* **User Experience:** Prevents the app from feeling "buggy" or unstable when the team is working on updates.
* **Developer Efficiency:** Allows developers to make structural changes during the day without waiting for users to log off.
* **Performance:** Reduces unnecessary network traffic and processing load by sending one schema update instead of dozens.

**Suggested UX**
* Add a toggle in the Data Editor: **"Pause Sync"** or **"Edit Schema Mode"**.
* When active, the developer can add/edit/delete multiple columns without these changes being pushed to the live app immediately.
* Add a button **"Apply Changes"** (or "Save Schema") that pushes all queued structural changes in one single update event.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.