whiteducksoftware / whiteducksoftware/flock
[1.0] Support complex publish inputs with a JSON fallback
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 120
- Forks
- 14
- Avg merge
- 19h 32m
- Merged PRs (30d)
- 8
Description
The publish form passes unsupported schema shapes as text and the API client loses validation detail. Nested Pydantic inputs are consequently difficult to submit or diagnose.
Scope
- Keep supported simple controls and provide a JSON fallback for complex or unsupported schema forms.
- Preserve schema defaults and parse structured values before publication.
- Surface relevant FastAPI/Pydantic validation locations and messages while keeping protected details private.
Acceptance criteria
- A representative nested model with arrays/objects and defaults publishes with correctly typed values.
- Invalid JSON and schema validation failures give actionable field/path feedback without claiming publication succeeded.
- The fallback is keyboard usable and simple forms continue to work.
Boundaries
No general schema-form framework or new form dependency.
References
Contributor guide
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.
Research direction
Start by reading src/flock/frontend/src/components/controls/PublishControl.tsx and src/flock/frontend/src/services/api.ts to trace publish values and validation responses. Done means nested arrays/objects with defaults publish with correct types, invalid input reports actionable paths without false success, keyboard use works, and simple controls remain unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fastapi, python, typescript
- Domain
- api, backend, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100