Show proposals and votes from TaskStream on a project's page

The most voted bug reports and ideas, the link to send one while the
board takes them, and how many want each epic on the roadmap. The mock
API serves a showcase for the catalogue so every section can be seen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
pigui
2026-10-12 20:21:40 +02:00
parent a3783222c8
commit 63d4410296
8 changed files with 169 additions and 13 deletions

View File

@@ -1621,7 +1621,14 @@ paths:
patch:
tags: [Projects]
summary: Update a project
description: Partial update. Translatable fields merge into the existing map.
description: |
Partial update. Translatable fields merge into the existing map.
`taskstream: true` opens a TaskStream board for a project that has none
yet, as on creation (`taskstream_key`, or one made from the slug); if
TaskStream refuses, the update is not saved either. A project that
already has a board keeps it, and `taskstream_key` without the flag is
ignored, so a client can PATCH back what it read.
requestBody:
required: true
content:
@@ -5574,12 +5581,12 @@ components:
demo_url: { type: string, format: uri, nullable: true }
taskstream:
type: boolean
description: On creation only. Also open a public board for it in TaskStream; see `POST /v1/projects`.
description: Also open a public board for it in TaskStream, on creation or when it has none yet; see `POST /v1/projects`.
taskstream_key:
type: string
nullable: true
pattern: "^[A-Za-z][A-Za-z0-9]{1,9}$"
description: On creation only, with `taskstream`. The key in TaskStream; made from the slug when left out.
description: Only read with `taskstream`. The key in TaskStream; made from the slug when left out.
cover_image: { type: string, nullable: true, description: A path from `POST /v1/media` with `for=projects`. }
started_at: { type: string, format: date, nullable: true }
ended_at: { type: string, format: date, nullable: true }