Merged
Conversation
Preview URLs
|
Contributor
There was a problem hiding this comment.
Pull request overview
This PR successfully addresses Issue #31 by refactoring the monolithic 1100+ line root page into a modular, maintainable structure. The changes separate concerns between the landing page (/) and the task decomposition workflow (/task-decomp), while introducing unified timezone handling and user-scoped autosave functionality.
Changes:
- Extracted task decomposition workflow from root page to
/task-decompwith modular components (steps, helpers, types, constants) - Created a clean landing page that presents two workflow modes: design mode (task decomposition) and operation mode (dashboard)
- Unified timezone normalization across frontend and backend with consistent fallback to "Asia/Tokyo"
- Implemented per-user localStorage autosave for task drafts with proper cleanup on logout and error handling
- Improved UI with Steps indicator, history Drawer, and enhanced status displays
- Prioritized summary over goal for calendar event names and history titles for consistency
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/src/app/page.tsx | Refactored from 1021 lines to 142 lines; now serves as a clean landing page with navigation to task-decomp and dashboard |
| frontend/src/app/task-decomp/page.tsx | New dedicated page (738 lines) for task decomposition workflow with improved UX including Steps, Drawer, and autosave |
| frontend/src/app/task-decomp/types.ts | Extracted type definitions for RunPhase, ErrorAction, ViewMode, and TransitionDirection |
| frontend/src/app/task-decomp/helpers.ts | Extracted helper functions (269 lines) including timezone normalization, formatting, and status conversion |
| frontend/src/app/task-decomp/constants.ts | Extracted constants including STEP_ITEMS, CALENDAR_REAUTH_MARKER, and DEFAULT_USER_TIMEZONE |
| frontend/src/app/task-decomp/components/task-decomp-steps.tsx | Modular step components (485 lines) for AuthStep, ComposeStep, RunningStep, and ResultStep |
| backend/src/features/task-decompose/task-timezone.ts | New utility for timezone normalization with IANA validation and fallback |
| backend/src/features/task-decompose/task-decompose.validation.ts | Updated to use normalizeTaskTimezone, making timezone effectively non-optional after validation |
| backend/src/features/task-decompose/task-decompose.service.ts | Updated to use normalizeTaskTimezone for consistent prompt generation |
| backend/src/features/task-decompose/task-calendar.service.ts | Updated to use normalizeTaskTimezone and prioritize summary over goal for event names |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Retasusan
approved these changes
Feb 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
/task-decompを中心に、導線・UI・実行履歴・入力体験を改善し、トップページと/dashboardを含めた全体体験を整理しました。変更内容
ルーティング/構成整理
ルートページと
/task-decompの役割分離、トップ導線の追加/task-decompのコンポーネント分割(helpers / step components)/task-decompUI/UX 改善モバイルで冗長なカード構成を簡素化
Steps 表示、ステータス表示、履歴 Drawer 導線/レイアウトを改善
Google 認可説明文・実行処理説明の見直し
トップ/ダッシュボードへのナビゲーション追加
タスク入力のアカウント単位 autosave(localStorage)追加
カレンダー/履歴表示改善
Calendar 予定名に要約タイトル(summary)を優先利用
履歴タイトル・結果表示の文言と情報設計を調整
タイムゾーン統一(最新)
backend でタイムゾーン正規化関数を追加し、validation / decomposition prompt / calendar sync で共通利用
frontend で表示時タイムゾーンを正規化し、履歴・結果・予定表示で一貫した基準に統一
ブラウザ検出タイムゾーンを送信時にも利用し、期限/表示のズレを低減
動作確認方法
pnpm --dir frontend checkpnpm --dir backend check/task-decompでログイン後、タスク実行チェックリスト
関連 Issue