whiteducksoftware / whiteducksoftware/flock

[1.0] Support complex publish inputs with a JSON fallback

Open
#438 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.