[Tracking] Task update path: repository fixes, completion date, planning and journal subtask display
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 25/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- csharp
調査の方向性
This is a tracking issue, not a standalone change; begin with the suggested order and read the linked issues, starting with #356 and #361. The work spans TaskItemsController.ApplyUpdateAsync, TaskRepository.UpdateAsync, and the journal todos queries. It is done when the listed changes land in dependency order and the dependent issues can build on them.
索引モデルが issue の本文から書いたものです。
説明
Groups the issues that all edit TaskItemsController.ApplyUpdateAsync, TaskRepository.UpdateAsync and the journal todos queries, so they are built in one order and rebase onto each other once.
Created from the 2026-10-30 open-issue review. #242 was folded into #350 and closed.
Suggested order
- #356 — Record Description/DueDate change events on the Detached path when the stored value is null (
TaskRepository.UpdateAsync; small, independent) - #361 — Stop repository
UpdateAsyncre-marking already-tracked related entities as Modified (JournalLogEntryRepository, probablyTaskRepository). Do with or right after #356 - #352 — Accept
journalDateon task update (no migration, smallest; also fixes the ignoredPastDayNotAllowedresult inAssignToJournalDateAsync) - #350 — Record a completion date and apply the reopen rule to it (part A: column, stamping, backfill, reopen guard, API docs; absorbs #242)
- #367 — Show completed tasks on the day they were completed (part B: journal reads,
ToDtoparity, checkbox UI) - #368 — Reject attaching open subtasks to completed parents. Can start now
4a. [ ] #396 — Reject reopening a child under a Completed parent (follow-up from #395; decided: reject, not auto-reopen). Needs grooming first. After #368, before #243 - #387 — Apply the goal and work model to journal rows and remove
isContextOnly(takes the orphaned-subtask rows from #368). Unblocked: #384 is done (PR #390). Tracked in #388 - #243 — Allow subtasks up to three levels deep and re-parenting (backend). Blocked by #368, #396, #387 and the monorepo move (#397), so it is the first API feature built with the merged pipeline and its MCP change ships in the same PR
- #369 — Show and manage subtasks up to three levels deep (frontend). Blocked by #243
- #405 — Give a Blocked parent with open subtasks a way to unblock (follow-up from #385 and #387; needs grooming; after the move; listed last but do it before #243, which changes the parent rules again)
- #406 — Attribute
PUT /JournalEntriestodoTaskItemIdsby the user local date (follow-up from #387; needs grooming; after the move) - #408 — Decide the header and row for an open parent whose subtasks are all complete (follow-up from #387; needs a decision first, shared rule with the Tasks page; web only, so it does not wait for the move and can be done any time)
10a. [ ] #404 — Open task details from journal rows and return to the same day (moved to #427 on 2026-11-05, an issue has one parent; still builds with #408 in one order, and before #369, which reworks journal rows)
#349 was closed without a replacement after the #382 spike: #387 shows only a day's work, and the off-day disclosure was dropped.
Do after #385 (in #388) and before #368 and #243 / #369: #354 — remove the dead TASK_PARENT_CYCLE_NOT_ALLOWED and TASK_PARENT_INCOMPLETE_CHILDREN references from the frontend (it edits task-errors.ts, which #369 also edits).
#394 — fix the CompletedAt reopen test that fails in the first 30 minutes after 00:00 UTC (a follow-up to #350 found in #393's CI). Done in the #354 PR (#393), because it fails that PR's CI.
Why this order
- #356 and #361 come first because they fix
TaskRepository.UpdateAsync, which #352, #350 and #243 all add logic to. Landing them first means the larger changes rebase onto it once. - #352 has no migration and the smallest diff, so landing it first means the larger #350 rebases onto it once.
- #350 must precede #367 (needs
CompletedAt). - #368's completed-parent rule goes before #243, which reuses it.
- #387 goes before #243. Otherwise #243 extends the journal's recursive mapping and
isContextOnlyhandling to three levels, and #387 then removes much of that work. - #354 goes after #385 (its PR will land first) and before #368, because all of them edit
task-errors.ts. #385 (in #388) also addsTASK_PARENT_STATUS_DERIVEDtoApplyUpdateAsyncanddocs/API.md, so #354, #368 and #243 rebase onto it. - #384 goes before #387 (done, PR #390) because the journal reuses the Tasks page's context-header rule. This is the only dependency on the #388 work.
Cross-issue decisions (already settled)
- The reopen past-day rule is intended and stays; its definition of "past day" becomes the completion day (#350).
journalDateon a Completed task withCompletedAtis rejected (#350 criterion 16).- "Exactly one journal day" applies to todo rows.
- A goal can't be planned on a journal day while it has open subtasks. You plan the work, and the goal appears as context (#382, #387).
- #243 adds no cycle check or cycle error code: at a maximum depth of 3 a cycle is always rejected by the depth or self rule first. So #354's cleanup stays valid and is not undone by #243.
- #243 and #369 reuse #368's completed-parent rule. They run after #387, so the journal shows rows with context headers instead of recursive child rows.
- 主要言語
- C#
- スター
- 1
- フォーク
- 0
- 平均マージ
- 2時間 2分
- マージ済み PR(30日)
- 98
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
nevridge/TaskFlow のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
tech-debt
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
nevridge/TaskFlow の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
juandresrodca/AdminForge#54 ·
-
要トリアージ 辞書
難易度 1/5 1〜3時間 初心者へのやさしさ 86/100
yksr-melt/Meltype#1625 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Docs typoオープン
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
MonoGame/docs.monogame.github.io#328 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
space-wizards/RobustToolbox#7197 ·
メンテナーはふだん 1 日以内に返信
-
documentation high priority
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
lachydotmcg/capri-desktop#201 ·
メンテナーはふだん 1 日以内に返信