Task detail
Route: /org/tasks?id=<task-id> · Permission: View Tasks
1. What the detail panel is
Everything about one task, in a panel that slides over the board. Six tabs, and a right-hand properties column that holds the fields most people actually came to change.
It is also where Orbit's finest-grained permissions live: five separate permissions gate five individual controls, and two more rules gate them again based on the task's status.
| Tab | Holds |
|---|---|
| Details | Title, description, effort, dependencies, and the properties column |
| Jira Fields (n) | Read-only custom fields — only when the task is linked to Jira |
| Subtasks | Children — see Subtasks |
| Comments | Discussion — see Comments and mentions |
| Activity Log | History — see Activity history |
| Time Logs | Logged effort — see Time logs |
2. How the panel is reached
The open task is written to the URL as ?id=, so a panel can be linked to directly. Closing it
removes the parameter.
3. The Details tab — step by step
Step 1 · Title and description
The title is an auto-growing input, disabled without Edit Tasks. Placeholder:
Enter task title.
The description is a rich text editor with the placeholder
Add a detailed description… (Markdown supported), and reads No description in italics when
empty and read-only.
The create drawer collects a plain textarea. Here it is rich text stored as HTML. Text entered at creation appears here as plain content until someone edits it.
For a Jira-linked task, long-text Jira fields appear as additional tabs beside Description.
Step 2 · Effort Tracking
Three figures: Estimated Hours, Actual Hours and Remaining Hours.
| Field | Editable when |
|---|---|
| Estimated Hours | You hold Change Estimation of a Task, or the task is not done and is still in a To Do status |
| Actual Hours | Never directly — it is the sum of time logs |
| Remaining Hours | The task is not done and you hold Edit Tasks |
Once the task's status is in the Done category, estimated and
remaining hours become read-only and no more time can be logged — regardless of which permissions
you hold.
To correct a finished task's hours, move it out of Done, fix it, and move it back.
A database trigger zeroes remaining_hours the moment a task enters a status whose category is
Done. It fires whichever screen made the change — detail panel, table, Kanban drop or bulk action.
The number you had entered is gone, and because the field is then read-only you cannot put it back without moving the task out of Done first. The old value survives only in the activity log.
The estimate is editable either with Change Estimation of a Task or while the task is still
in a To Do status. So anyone who can edit can set the estimate before work starts — the permission
only matters for changing it afterwards.
Step 3 · Dependencies
Two kinds, added from a type selector and a task picker:
| Kind | Label | Meaning |
|---|---|---|
predecessor | Predecessor (Wait for) | This task waits for that one |
successor | Successor (Blocks) | That one waits for this |
Empty lists read No predecessors and No successors.
Step 4 · The properties column
A resizable column on the right — "Drag to resize · double-click to reset".
| Field | Control | Disabled unless |
|---|---|---|
| Status | Select | Change Status of Task |
| Assignee | Select, Unassigned first | Allow Change Task Assigne |
| Priority | Select | Edit Tasks |
| Category | Select, No Category | Edit Tasks — and always disabled on a subtask |
| Due Date | Date | Change Task Due Date |
| Milestone / Phase | Select, No Milestone | Edit Tasks |
| Start Date | Date | Edit Tasks |
Each control here is gated separately. A user with Edit Tasks alone finds Status, Assignee and Due Date disabled while Priority, Category, Milestone and Start Date stay editable.
Category is additionally disabled on any task that has a parent, because it is inherited.
Step 5 · Save
Save is disabled unless you hold at least one of Edit Tasks, changeassigne,
changeduedate or changeestimation — so a view-only user sees the panel with a permanently
disabled Save.
4. Field reference
The status dropdown lists only legal moves
The dropdown contains the current status plus the transitions the workflow permits from it — nothing else.
With no workflow saved, every status is offered.
Where each dropdown's values come from
| Field | Source |
|---|---|
| Status | Project statuses, filtered by the workflow |
| Assignee | Project members |
| Priority | Project priorities |
| Category | Project task categories |
| Milestone | Project milestones |
| Dependency picker | Other tasks in the project |
Why the Category control is disabled
On a task with a parent, category is inherited and locked — the same rule the create drawer applies. A subtask always carries its parent's category.
The Jira Fields tab
Present only when the task is linked to a Jira issue. It is a two-column key/value grid, headed:
Custom fields from
<issue key>— read-only, refreshed on every sync.
Short values sit in this tab; long text values become tabs beside the description.
5. The admin contract — the five field permissions
This is the part worth internalising.
| Control | Permission | Extra rule |
|---|---|---|
| Title, description, priority, milestone, start date, tags | Edit Tasks | — |
| Status | Change Status of Task | Also limited by the workflow |
| Assignee | Allow Change Task Assigne | — |
| Due date | Change Task Due Date | — |
| Estimated hours | Change Estimation of a Task | or the task is in a To Do status |
| Remaining hours | Edit Tasks | and the task is not done |
| Logging time | — | The task is not done |
Three of the most-changed fields on a task each need their own permission. A user granted only
edit will report that "the panel is broken" — it is not; three controls are correctly disabled.
Check these three before investigating anything else.
6. Downstream
| Change | Effect |
|---|---|
| Status | Runs the workflow's actions and conditions; recorded in activity |
| Assignee | Moves the task in My Tasks; notifies the new assignee |
| Due date | Moves the task on the calendar and the timeline |
| Estimate | Changes Progress everywhere, and the timeline bar |
| Category | Changes grouping and billing |
| Milestone | Moves it between milestone tabs |
7. Don't confuse this with…
| Thing | Where | Why it is different |
|---|---|---|
| Detail panel (this page) | ?id= | One task, everything |
| Create drawer | Creating a task | Plain-text description, no tabs |
| Table row | Table | The same fields, faster, no description or effort tracking |
| Actual Hours | Here | Derived from time logs — never typed |
| Remaining Hours | Here | Typed by a person, and unrelated to Actual |
8. Troubleshooting
| Symptom | Cause |
|---|---|
| Save is permanently disabled | None of the four editing permissions is held |
| Assignee will not change | Missing Allow Change Task Assigne |
| Due date will not change | Missing Change Task Due Date |
| A status is missing from the dropdown | The workflow does not permit that move |
| Estimated hours became read-only | The task left the To Do category and you lack changeestimation |
| Cannot log time | The task is in a Done status |
| Category is greyed out | The task is a subtask; category is inherited |
| No Jira Fields tab | The task is not linked to a Jira issue |
| Actual Hours will not accept input | It is derived from time logs |