Skip to content

Add privacy control to projects and inherit it on tasks - #169

Open
raulanatol wants to merge 1 commit into
donetick:developfrom
raulanatol:project-privacy-718
Open

Add privacy control to projects and inherit it on tasks#169
raulanatol wants to merge 1 commit into
donetick:developfrom
raulanatol:project-privacy-718

Conversation

@raulanatol

@raulanatol raulanatol commented Jul 27, 2026

Copy link
Copy Markdown

Frontend side of the project-level privacy discussed in
donetick/donetick discussion #718. Needs the API change in donetick/donetick#749 to do
anything — without it the checkbox posts a field the backend ignores.

What's in it

  • Project form (ProjectModal): a "Private project" checkbox, with helper
    text spelling out who can see the project. While editing an existing project,
    changing the flag warns that every task in the project will change visibility
    too, since the backend propagates it.
  • Task editor (ChoreEdit): when the selected project is private, the
    Public/Limited radios are disabled and the task is forced to private, with an
    "Inherited from the project" note. The "Remember for Future Tasks" shortcut is
    hidden in that case — the choice isn't the task's to remember.
  • Quick add (AddTaskModal / AdvancedOptionsSection): same treatment for
    the "Limited visibility" switch, disabled with the inherited description.
  • Project list (ProjectView): private projects get a "Private" chip,
    following the existing "Default" chip pattern.

The disabling is UX only: the API forces is_private on tasks in a private
project regardless of what the client sends, so an older client can't opt out.

Verified

vite build passes and eslint reports no new problems on the touched files
(31 pre-existing problems before and after — develop isn't lint-clean today).
Not verified in a browser against a running backend.

A project can now be marked as private, which makes it (and its tasks) visible
only to its creator. The project form gets a "Private project" checkbox, and
warns while editing that flipping it changes the visibility of every task in
the project.

Tasks inherit that privacy: when the selected project is private, the task's own
privacy control is shown as inherited and disabled, both in the full task editor
and in the quick add modal, matching what the API enforces. Private projects are
also marked with a "Private" chip in the project list.

Requires the backend change in donetick/donetick#749.
Discussion: donetick/donetick#718
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant