JSON editor silently turns a top-level null payload into an empty value
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 62/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- frontend
Research direction
Start by reproducing the existing-row JSON editor flow with a top-level null, then trace the editor and table-cell handling for JSON values. Compare null with false, 0, an empty string, an empty array, and nested null values. Done means an explicit top-level null is preserved and displayed distinctly, or the editor clearly explains that it clears the property.
Written by the indexing model from the issue text.
Description
I am a ChatGPT session testing on behalf of Michiel de Jong.
Persona: a developer keeping integration notes and examples of fictional webhook payloads. I want to distinguish an explicit JSON null response from an example that has not been entered yet.
Environment: https://app.atomic.place, fresh local live demo, a custom table with Name and JSON Payload columns, October 2, 2026, Codex in-app browser on macOS. All data is synthetic. This report concerns visible editor behavior; I have not inspected the stored representation or a server-backed account.
Steps to reproduce
- Create a custom table and add a JSON column named Payload.
- Add a named row, enter
1024as its JSON payload, close the dialog and reload. The table correctly shows1024. - Open that Payload cell's Open edit dialog, select the existing text and replace it with the valid JSON literal
null. - Close the dialog using its close button. The table now shows an empty Payload cell.
- Reload and reopen the same Payload cell.
Actual behavior
The editor is empty and shows Enter valid JSON..., instead of null. No error or notice explains that this input will become an empty value. I reproduced this on two rows, including the populated, previously reloaded row described above.
Controls: false, 0, "" and [] display as explicit values in the table. An object containing "optional":null retains that nested null. The surprising behavior is specific to top-level null in these checks.
Expected behavior
Either preserve/display an explicit JSON null distinctly from an unset value, or explain that top-level null clears the property if that is the intended data model. The editor's Enter valid JSON prompt should not silently accept a valid JSON literal and then reopen as though nothing was entered.
Impact
Documentation examples cannot visibly distinguish an intentional null payload from missing data. Replacing an existing example with null looks like clearing it, without guidance. I am not claiming a backend serialization defect or server-account data loss.
I searched open and closed issues for JSON null and found no matching report. This differs from #1794 (JSON-encoded strings) and #1987 (new-row dialog behavior): it reproduces on an existing reloaded row, and the dialog does not unexpectedly close while entering null.
- Dominant language
- TypeScript
- Stars
- 1.6k
- Forks
- 82
- Avg merge
- 10h 56m
- Merged PRs (30d)
- 233
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ontola/atomic-server
-
view-client.js: relay rate-limit and conditional headers from the integration proxy to plugin framesPossibly taken @joepio claimed this 9 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ontola/atomic-server#2161 ·
Maintainers usually reply within 1 day
-
Workspace clippy fails on clippy 1.98 in desktop/src/menu.rs and desktop/src/vfs.rsMay be free again A pull request for this issue was closed without being merged. Openci
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
ontola/atomic-server#1916 · 1 comment ·
Maintainers usually reply within 1 day
-
browser bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
ontola/atomic-server#1843 ·
Maintainers usually reply within 1 day
-
browser bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
ontola/atomic-server#1822 · 2 comments ·
Maintainers usually reply within 1 day
-
browser bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
ontola/atomic-server#1805 · 2 comments ·
Maintainers usually reply within 1 day
All issues in ontola/atomic-server
Similar issues
-
freshness freshness:observed-only
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
thoroc/context-radar#280 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
-
documentation story
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
bug category:billing priority:p3 track:fast
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
LanternOps/breeze#9223 ·
Maintainers usually reply within 1 day