You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Lists: CreateListAsync sends 2 of the 11 fields POST /api/lists accepts — initialRows would remove an N+1 #179
Materialize (Materialize ("Create from…") service layer + models #136) — listConfig.includeData seeds rows from a source, so the server already does this server-side; but a client building a list from data hits the same N+1.
Any import path.
initialRows collapses that to one request. With no transaction across N+1 requests, a partial failure today leaves a list with some of its rows and no clean way to report that.
provenance when a list is created from a message (Materialize)
So this isn't speculative: most of these are being added piecemeal by whichever issue needs them. Consolidating CreateListAsync into one options object would stop that.
Verified behaviour worth keeping
source: "github"withoutgithubRepo → 400 "githubRepo is required for GitHub-backed lists (format: owner/repo)", and creates nothing (verified — no orphan list).
Create returns {message, data:{…}}, not {list:{…}}.
Acceptance criteria
CreateListAsync takes an options object covering the accepted fields rather than growing positional parameters
initialRows supported, and the callers above collapsed from N+1 to one request
initialRows response shape verified live on a throwaway list before being typed strictly
Existing two-argument callers keep working (overload or optional parameters)
Note
Filed from a review finding, not the parity audit. Low urgency — the current path works, it's just chatty and is being extended one field at a time by four different issues.
So isPublic is among the missing fields, which makes the gap slightly worse than I wrote: a list created from this app cannot be made public at creation time.
So folderId is not among them — I listed it, wrongly. There's metadata instead, which I'd omitted. That means #63 (list folders) cannot set a folder at creation time either; a newly created list would have to be moved into its folder with a follow-up call, or via PUT /api/lists/{id}. Worth checking which, when #63 is built.
Activity
Adron commentedon Sep 16, 2026
Two corrections to my own issue text above, from checking the source rather than trusting the report:
1.
CreateListAsyncsends{title, description}, not{title, isPublic}.So
isPublicis among the missing fields, which makes the gap slightly worse than I wrote: a list created from this app cannot be made public at creation time.2. The accepted field list is exactly:
So
folderIdis not among them — I listed it, wrongly. There'smetadatainstead, which I'd omitted. That means #63 (list folders) cannot set a folder at creation time either; a newly created list would have to be moved into its folder with a follow-up call, or viaPUT /api/lists/{id}. Worth checking which, when #63 is built.Corrected table:
isPublicparentIdschemasource+githubRepo+githubSourcemessageIdmetadatainitialRows