69 lines
8.4 KiB
Markdown
69 lines
8.4 KiB
Markdown
---
|
|
status: shipped
|
|
created: 2026-07-17
|
|
owner: kandev
|
|
---
|
|
|
|
# Mobile Task Navigation
|
|
|
|
## Why
|
|
|
|
Mobile users need the same task controls as desktop without relying on long press, clipped popovers, or boards that scroll in two directions. Moving a task, changing workflow context, and choosing a workflow step must remain comfortable with one hand on a narrow viewport.
|
|
|
|
## What
|
|
|
|
- Task action controls are visible and touch-reachable on mobile.
|
|
- Mobile task actions preserve desktop capabilities, including same-workflow **Move to**, cross-workflow **Send to workflow**, linking, pinning, renaming, coloring, archiving, and deleting when those actions are available on desktop.
|
|
- Context and dropdown action menus below 640px stay within the viewport, use bottom-sheet presentation, contain their own vertical overflow, respect the bottom safe area, and provide touch targets at least 44px high.
|
|
- Mobile Kanban renders one focused workflow and one focused step at a time when the user has several workflows.
|
|
- Workflow is a primary mobile Kanban navigation dimension, not a setting hidden in the secondary display menu. The current workflow and step are always visible together in the board navigation control, including when only one workflow exists.
|
|
- Opening the board navigation control exposes available workflows and the focused workflow's steps in one bottom drawer. Choosing a workflow makes it the active workflow for the board, task creation, and multi-select actions through the existing saved workflow selection; previous/next step buttons and horizontal swipe remain equivalent transient step shortcuts.
|
|
- The task list is the primary vertical scroller. The document and workflow container do not require horizontal scrolling.
|
|
- Search and live workflow/task updates choose a deterministic visible fallback if the focused workflow disappears.
|
|
- Pipeline is not offered or rendered on mobile. A saved desktop Pipeline preference falls back to Kanban on mobile without overwriting that preference.
|
|
- Tapping a mobile Home task opens that task directly. Task actions remain available from the card's explicit context menu; the intermediate task action sheet is absent.
|
|
- Opening a task route shows visible, accessible loading feedback while required task data loads. Optional route enrichment is bounded and may recover client-side; it cannot leave the task route blank indefinitely or mark unavailable data as authoritatively empty.
|
|
- Editing a task from a mobile context menu exposes its title even after work has started. The existing lock on a started task's prompt remains unchanged.
|
|
- The mobile Home menu and Dockview task switcher open as inset, card-style bottom surfaces with internal vertical scrolling and safe-area spacing, rather than edge-to-edge side sheets.
|
|
- Switching tasks from the mobile task switcher keeps the workbench usable while destination details hydrate. Transient placeholder data must not crash mobile chrome, and a remembered panel that is unavailable for the destination falls back to Chat.
|
|
- Mobile Dockview does not expose a repository switcher. The existing session picker owns active-session changes; choosing a session also changes repository context when that session belongs to another repository. When loaded sessions span repositories, the active-session pill and session rows identify each session's repository so otherwise-identical sessions remain distinguishable, even if optional workflow hydration is unavailable.
|
|
- The active-session control at the top of mobile Dockview shows the active agent's icon beside its session label.
|
|
- Desktop and tablet Kanban, context menus, drag/drop, and workflow filtering retain their existing behavior.
|
|
|
|
## Scenarios
|
|
|
|
- **GIVEN** a mobile task switcher with a task in a workflow containing multiple steps, **WHEN** the user opens Task actions, **THEN** Move to is visible and selecting another step moves the task there.
|
|
- **GIVEN** a mobile action menu with more items than fit on screen, **WHEN** it opens, **THEN** it is inset within the viewport and scrolls internally with touch-sized rows.
|
|
- **GIVEN** a nested mobile action such as Move to, Link, or Send to workflow, **WHEN** the user opens it, **THEN** its choices remain within the same bottom-sheet area and are selectable without horizontal overflow.
|
|
- **GIVEN** tasks in several workflows, **WHEN** mobile Kanban opens, **THEN** exactly one workflow board is mounted and the visible board control names both its workflow and active step.
|
|
- **GIVEN** a workflow with several steps, **WHEN** the user opens the board drawer, **THEN** workflow choices and the active workflow's step choices are reachable in that same surface.
|
|
- **GIVEN** several workflows, **WHEN** the user chooses one from the board drawer, **THEN** that workflow becomes the visible and active workflow for subsequent task creation and board actions.
|
|
- **GIVEN** a workflow with several steps, **WHEN** the user selects a step or uses previous/next, **THEN** only the chosen step's cards are presented as the active column and its count/WIP state remains visible.
|
|
- **GIVEN** the focused workflow no longer matches search/filter results, **WHEN** the visible workflow set updates, **THEN** mobile Kanban focuses the first visible workflow without leaving an empty stacked board.
|
|
- **GIVEN** Pipeline is saved as the user's desktop view, **WHEN** Home opens on mobile, **THEN** Kanban renders, Pipeline is absent from the mobile view choices, and the saved preference remains Pipeline.
|
|
- **GIVEN** a task card on mobile Home, **WHEN** the user taps the card body, **THEN** the task route opens immediately and no task action sheet appears.
|
|
- **GIVEN** a mobile task route whose optional hydration is delayed or fails, **WHEN** the user opens the task, **THEN** visible loading feedback appears and the core task remains recoverable without an indefinite blank screen.
|
|
- **GIVEN** a started task on mobile Home, **WHEN** the user chooses Edit from its context menu, **THEN** the title can be changed while the prompt remains locked.
|
|
- **GIVEN** the mobile Home menu or Dockview task switcher is opened, **WHEN** its content exceeds the viewport, **THEN** an inset bottom card remains within the safe area and scrolls internally.
|
|
- **GIVEN** two tasks with active sessions, **WHEN** the user selects the other task from the mobile task switcher, **THEN** the destination URL, title, and chat render without a blank screen or mobile-chrome crash.
|
|
- **GIVEN** a multi-repository task whose repository details or sessions are delayed or fail to load, **WHEN** the user opens the mobile task view, **THEN** the task remains usable, the session picker remains available, and no repository switcher is rendered.
|
|
- **GIVEN** a multi-repository task with sessions on different repositories, **WHEN** the user opens the mobile session picker and chooses another session, **THEN** each bound repository is identified and the active-session pill updates to the selected repository context.
|
|
- **GIVEN** a task page is already open, **WHEN** a live session event introduces a session bound to another repository, **THEN** the session picker hydrates its repository identity without a page refresh; if that hydration request fails, the existing and partial live rows remain available for a later refresh.
|
|
- **GIVEN** Review is remembered for a mobile session but its selected merge request is no longer available, **WHEN** the session becomes active, **THEN** Chat is rendered and selected instead of an empty center pane.
|
|
- **GIVEN** a mobile Dockview task with an active session, **WHEN** its chat panel is visible, **THEN** the active-session control shows the session agent's icon and label.
|
|
- **GIVEN** a desktop viewport, **WHEN** the same task menus and Kanban open, **THEN** their existing desktop interaction and layout remain unchanged.
|
|
|
|
## Out of scope
|
|
|
|
- Removing or redesigning Pipeline on desktop or tablet.
|
|
- Persisting the transient focused mobile step across reloads.
|
|
- Changing backend task-move contracts, workflow ordering, or task permissions.
|
|
- Unlocking or changing a started task's prompt.
|
|
- Changing repository selection during task creation, workspace-source attachment, file browsing, or desktop and tablet task interaction.
|
|
|
|
## Implementation plans
|
|
|
|
- [Mobile task navigation refinement](../../plans/mobile-task-navigation-refinement/plan.md)
|
|
- [SPA blank-screen resilience](../../plans/spa-blank-screen-resilience/plan.md)
|
|
- [Mobile repository switcher removal](../../plans/mobile-repository-switcher-removal/plan.md)
|