Repository navigation
Lists: card, grid and ERD view modes #52
Description
Activity
- addedparityClosing a gap against interlinedlist.comClosing a gap against interlinedlist.comP2Completeness / settings surfaceCompleteness / settings surfacearea:listsListsLists
on Sep 15, 2026 Blocked on a question — this issue's core assumption is not supported by the live API
Picked this up after #51 (saved views) landed, and stopped. #51 needed the saved-view
configshape
confirmed live, so I created a view on the test account and probed it. That probe contradicts what
this issue assumes.config.modeonly ever storesrecords. I sent each of these asconfig.modeon
PUT /api/lists/{id}/views/{viewId}:cards,card,grid,table,erd,diagram,board,gallery,kanban,listEvery one came back as
"mode": "records", with HTTP 200 and no error. The server silently
rewrites an unrecognised value rather than rejecting it. (densitybehaves the same way — it
acceptedcomfortableandcompact, and quietly rewrotecozyandspacioustocomfortable.)So a saved view cannot currently record "this list renders as cards / a grid / an ERD", which is
what this issue is asking Android to build.What I need from you
- Where does the web store the view mode? Three possibilities:
- (a) It is client-side only — the web keeps card/grid/ERD in local state or localStorage and
never persists it per-view. If so, this issue is still buildable, but as a device-local
preference, and it will not follow the user between web and Android. Confirm that is
acceptable and I will build it that way. - (b) It lives under a different
configkey that I did not guess. Tell me the key and the
accepted values and I will implement it properly. - (c) It is gated on something the test account (
messenger, a subscriber) lacks.
- (a) It is client-side only — the web keeps card/grid/ERD in local state or localStorage and
- What are the real accepted values for
config.mode?recordsis the only one I could
observe. If the set is larger, I need the exact strings — guessing is what produced the silent
rewrites above. - Is the ERD view meaningful on a phone? An entity-relationship diagram of a list's connections
is the one of the three that may not survive the form factor. If you want it, I would rather
design it deliberately than shrink the web's rendering.
What is already in place
#51 built the client half so nothing is lost whichever answer comes back:
ListViewConfigpreserves
configkeys the client does not model through a full round-trip, and exposesstoredModeso the
server's actual value is always visible. When the mechanism is confirmed, this issue is mostly
extending one enum plus the three renderers.Leaving this open and unimplemented until the above is settled.
- Where does the web store the view mode? Three possibilities:
Part of #49 — Lists parity gaps: GitHub-backed lists, saved views, view modes and collaborative editing
The features page advertises viewing list data as cards, a grid, or an ERD diagram, and
lists can be nested and connected as a graph. Android renders a single table-ish layout.
usable on a phone.
:feature:listsalready modelsconnections (
GET /api/lists/connections), so the data is there.Each mode should be selectable per view (see the saved-views sub-issue) rather than being a global
toggle.
Tests: Compose tests per mode; wide-table horizontal scrolling.
Filed from the parity review of
feature/parity-wip@14d7795against interlinedlist.com (OpenAPI/api/openapi.json, 233 paths) and the public help centre.