feat(FN-3278): add direct-mode review tab to task detail modal

Merges FN-3278 review tab direct-mode (data, rendering, regression tests, typing fixes, and docs across Steps 2/3/6), FN-3750 mobile keyboard stabilization for mailbox and reply composer, FN-3751 fire-and-forget wake dispatch to prevent request hangs, and FN-3748 workspace aliases for @fusion/* pack

Fusion-Task-Id: FN-3278
This commit is contained in:
Fusion
2026-05-08 11:32:58 -07:00
committed by gsxdsm
parent 478742e3c8
commit 04ff9d9403
13 changed files with 472 additions and 41 deletions

View File

@@ -254,6 +254,12 @@ export interface UpdateTaskReviewRequest {
reviewState: TaskDetail["reviewState"] | null;
}
export interface TaskReviewResponse {
reviewState: NonNullable<TaskDetail["reviewState"]>;
automationStatus: string | null;
emptyMessage?: string | null;
}
export interface RefreshTaskReviewResponse {
reviewState: NonNullable<TaskDetail["reviewState"]>;
automationStatus: string | null;
@@ -5107,6 +5113,11 @@ export function acceptTaskReview(taskId: string, projectId?: string): Promise<Ta
});
}
/** Fetch normalized task review data (PR mode or direct mode) */
export function fetchTaskReview(taskId: string, projectId?: string): Promise<TaskReviewResponse> {
return api<TaskReviewResponse>(withProjectId(`/tasks/${encodeURIComponent(taskId)}/review`, projectId));
}
/** Refresh normalized task review data (PR mode or direct mode) */
export function refreshTaskReview(taskId: string, projectId?: string): Promise<RefreshTaskReviewResponse> {
return api<RefreshTaskReviewResponse>(withProjectId(`/tasks/${encodeURIComponent(taskId)}/review/refresh`, projectId), {