- Changed `DATABASE_URL` in `data/README.md` to use a relative path for better compatibility.
- Removed the reference to `BACKUP.md` in `DOCKER.md` as it is no longer relevant.
- Simplified loading logic by removing unnecessary trends loading check.
- Enhanced UI feedback by disabling the weeks selection during trends loading and added a loading state for the trends chart.
- Improved user experience by displaying a message when no velocity data is available.
- Integrated system info fetching in `SettingsPage` for improved user insights.
- Enhanced `SettingsIndexPageClient` with manual backup creation and Jira connection testing features.
- Added loading states and auto-dismiss messages for user feedback during actions.
- Updated UI to display system info and backup statistics dynamically.
- Updated status descriptions in `SettingsIndexPageClient` to reflect current functionality.
- Added a new backup management section in settings for better user access.
- Modified `BackupService` to include backup type in filenames, improving clarity and organization.
- Enhanced backup file parsing to support both new and old filename formats, ensuring backward compatibility.
- Updated `formatTimeAgo` in `AdvancedSettingsPageClient` to use a fixed format for hydration consistency.
- Refined `formatDate` in `BackupSettingsPageClient` for consistent server/client formatting.
- Refactored `BackupService` to use `getCurrentBackupPath` for all backup path references, ensuring up-to-date paths and avoiding caching issues.
- Added `getCurrentBackupPath` method to dynamically retrieve the current backup path based on environment variables.
- Updated `.gitignore` to only exclude `.db` files in the `/data/` directory and preserve backups.
- Modified `docker-compose.yml` to switch database and backup paths to `dev.db`, aligning with the current development setup.
- Modified `.gitignore` to exclude all files in the `/data/` directory.
- Enhanced `BACKUP.md` with customization options for backup storage paths and updated database path configurations.
- Updated `docker-compose.yml` to reflect new paths for database and backup storage.
- Adjusted `Dockerfile` to create a dedicated backups directory.
- Refactored `BackupService` to utilize environment variables for backup paths, improving flexibility and reliability.
- Deleted `dev.db` as it is no longer needed in the repository.
- Introduced utility functions for workday calculations in `workday-utils.ts`, including `getPreviousWorkday`, `getNextWorkday`, `isWorkday`, and `getDayName`.
- Updated `DailyService` and `DailyPageClient` to utilize `getPreviousWorkday` for accurate date handling instead of simple date subtraction.
- Deleted `WeeklySummaryClient`, `VelocityMetrics`, `PeriodSelector`, and associated services to streamline the codebase.
- Removed the `weekly-summary` API route and related PDF export functionality, as these features are no longer in use.
- Updated `TODO.md` to reflect the removal of these components and their functionalities.
- Added tag management functionality to the `GeneralSettingsPageClient`, including filtering, sorting, and CRUD operations for tags.
- Integrated a modal for creating and editing tags, improving user experience in managing task labels.
- Updated the `Header` component to replace the 'Tags' link with 'Manager'.
- Removed the deprecated `TagsPage` and `TagsPageClient` components to streamline the codebase.
- Adjusted data fetching in `page.tsx` to include initial tags alongside user preferences.
- Updated date formatting in the `VelocityMetrics` component to ensure proper conversion of `week.weekStart` to a Date object before calling `toLocaleDateString`. This change improves the reliability of date display in the dashboard.
- Introduced `CategoryBreakdown`, `JiraWeeklyMetrics`, `PeriodSelector`, and `VelocityMetrics` components to enhance the weekly summary dashboard.
- Updated `WeeklySummaryClient` to manage period selection and PDF export functionality.
- Enhanced `WeeklySummaryService` to support period comparisons and activity categorization.
- Added new API route for fetching weekly summary data based on selected period.
- Updated `package.json` and `package-lock.json` to include `jspdf` and related types for PDF generation.
- Marked several tasks as complete in `TODO.md` to reflect progress on summary features.
- Updated `TODO.md` to mark several tasks as complete, including anomaly detection and sprint detail integration.
- Enhanced `VelocityChart` to support click events for sprint details, improving user interaction.
- Added `FilterBar` and `AnomalyDetectionPanel` components to `JiraDashboardPageClient` for advanced filtering capabilities.
- Implemented state management for selected sprints and modal display for detailed sprint information.
- Introduced new types for advanced filtering in `types.ts`, expanding the filtering options available in the analytics.
- Added `initialStats` prop to `HomePageClient` and `TasksProvider` to enhance task management capabilities.
- Updated data fetching in `page.tsx` to include task statistics, improving overall functionality.
- Adjusted `useTasks` hook to utilize the new `stats` parameter, ensuring comprehensive task data handling.
- Eliminated `initialStats` prop from `HomePageClient` and `KanbanPageClient` to streamline data handling.
- Updated `Header` and `HeaderContainer` components to remove references to `stats`, enhancing clarity and reducing unnecessary complexity.
- Adjusted `useTasks` hook to make `stats` optional, ensuring compatibility with the updated components.
- Modified `addTodayCheckboxAction` and `addYesterdayCheckboxAction` to accept a `type` parameter for better flexibility in checkbox creation.
- Updated corresponding function signatures in `daily.ts` to reflect the new parameter, ensuring consistent usage across the application.
- Added state management for form visibility with `showForm` to toggle display based on Jira configuration.
- Implemented instructions for configuration, detailing base URL, email, and API token setup.
- Updated UI to improve user interaction with a button to show/hide the form.
- Added `JiraConfigProvider` to `layout.tsx` for server-side Jira configuration retrieval.
- Updated `Header.tsx` to conditionally display a link to the Jira dashboard with the project key if Jira is configured.
- Enhanced user experience by integrating Jira settings into the main application layout.
- Refined color schemes in `BurndownChart`, `CollaborationMatrix`, `ThroughputChart`, and `TeamActivityHeatmap` for better visibility and consistency.
- Adjusted opacity handling in `TeamActivityHeatmap` for improved visual clarity.
- Cleaned up imports in `CollaborationMatrix` and `SprintComparison` for better code organization.
- Enhanced `JiraSync` component with updated color for the sync status indicator.
- Updated `jira-period-filter` to remove unused imports, streamlining the codebase.
- Introduced period filtering for analytics in `JiraDashboardPageClient` using `filterAnalyticsByPeriod` and `getPeriodInfo` for enhanced data visualization.
- Updated state management for selected period to use `PeriodFilter` type for better type safety.
- Improved UI to display period information alongside project metrics, enhancing user experience.
- Added export options for CSV and JSON in `JiraDashboardPageClient`, allowing users to download metrics easily.
- Integrated `SprintComparison` component to visualize inter-sprint trends and predictions.
- Updated TODO.md to reflect completion of export metrics and sprint comparison features.
- Marked predictability and collaboration tasks as complete in TODO.md.
- Integrated `PredictabilityMetrics` and `CollaborationMatrix` components into `JiraDashboardPageClient` for enhanced analytics visualization.
- Updated UI layout to include new metrics cards, improving dashboard functionality.
- Updated `getJiraAnalytics` to accept a `forceRefresh` parameter for optional cache bypass.
- Modified `getProjectAnalytics` to check the cache and return cached data unless forced to refresh.
- Adjusted `loadAnalytics` in `useJiraAnalytics` to trigger a forced refresh on manual updates.
- Improved UI in `JiraDashboardPageClient` to indicate when data is served from cache.
- Marked advanced metrics in TODO.md as complete, including Velocity, Burndown Chart, Cycle Time, Throughput, Work in Progress, and Quality Metrics.
- Integrated BurndownChart, ThroughputChart, and QualityMetrics components into JiraDashboardPageClient for enhanced analytics visualization.
- Updated UI layout to accommodate new metrics cards, improving dashboard functionality.
- Introduced `projectKey` and `ignoredProjects` fields in Jira configuration to enhance analytics capabilities.
- Implemented project validation logic in `JiraConfigClient` and integrated it into the `JiraConfigForm` for user input.
- Updated `IntegrationsSettingsPageClient` to display analytics dashboard link based on the configured project key.
- Enhanced API routes to handle project key in Jira sync and user preferences.
- Marked related tasks as complete in `TODO.md`.
- Added functionality to display Jira ticket details in the `EditTaskForm` when the task source is 'jira'.
- Implemented a helper function to construct the Jira ticket URL based on user preferences.
- Included badges for Jira key, project, and type, enhancing task visibility and user interaction.
- Utilized `useUserPreferences` to fetch Jira configuration dynamically.
- Completed migration of tag management to server actions by creating `actions/tags.ts` for CRUD operations.
- Removed obsolete API routes for tags (`/api/tags`, `/api/tags/[id]`) and updated related components to utilize new server actions.
- Updated `TagForm` and `useTags` hook to handle tag creation, updating, and deletion through server actions, improving performance and simplifying client-side logic.
- Cleaned up `tags-client.ts` by removing unused types and methods, focusing on validation only.
- Marked related TODO items as complete in `TODO.md`.
- Added backup management functionality to `AdvancedSettingsPageClient`, including creating and verifying backups.
- Updated `package.json` with new backup-related scripts.
- Improved UI to display backup status and next scheduled backup time.
- Updated `.gitignore` to exclude backup files.
- Enhanced server-side data fetching to include backup data and database statistics.
- Marked the TODO item for swimlane column title colors as complete.
- Enhanced `SwimlanesBase` component to apply dynamic styles based on status colors using `getTechStyle`.
- Updated `dev.db` to reflect changes in the database schema.
- Enhanced `toggleColumnVisibility` function to optimistically update the UI by modifying `hiddenStatuses` before awaiting server response.
- Added error handling to revert to original visibility state if the server action fails, improving user experience.
- Updated dependencies in the `useCallback` hook to include `preferences.columnVisibility` for accurate state management.
- Added `min-w-0` class to the title input in `QuickAddTask` for better layout handling.
- Updated priority select to use `flex-shrink-0` and `w-10` for consistent sizing and added title tooltip for better UX.
- Enhanced `TagInput` to support `compactSuggestions` prop, adjusting suggestion display based on available space.
- Modified suggestion container to conditionally apply grid classes based on `compactSuggestions`, improving responsiveness.
- Implemented `RelatedTodos` component in `EditTaskForm` to display and manage related todos for a task.
- Updated `TasksClient` to fetch daily checkboxes related to a task.
- Enhanced `TasksService` with a method to retrieve related daily checkboxes from the database.
- Added functionality to create new todos linked to tasks in the daily actions.
- Marked the task for displaying related todos in the task editing interface as complete in TODO.md.
- Added DnD functionality to `DailySection` for reordering checkboxes using `@dnd-kit/core` and `@dnd-kit/sortable`.
- Introduced `onReorderCheckboxes` prop to handle server updates after reordering.
- Updated `useDaily` hook to streamline error handling during reordering.
- Cleaned up `Header` component by removing unnecessary syncing text.
- Adjusted `DailyPageClient` to pass reorder function to `DailySection`.
- Removed unused `CardHeader` import from `GeneralSettingsPageClient.tsx` for cleaner code.
- Refactored `useDaily.ts` to replace `dailyClient.updateCheckbox` calls with `updateCheckboxAction`, improving consistency with action usage.
- Added `reorderCheckboxesAction` to handle checkbox reordering, including error handling for better user feedback.
- Updated database schema in `dev.db` to reflect recent changes.
- Replaced `SettingsPageClient` with `SettingsIndexPageClient` to fetch and display user preferences on the settings page.
- Integrated `userPreferencesService` to retrieve all preferences asynchronously, enhancing data handling.
- Refactored theme management in `ThemeContext` to use `updateViewPreferences` for saving theme changes, improving error handling and user feedback.
- Marked the task for creating dedicated config sub-pages as complete in TODO.md.
- Implemented optimistic UI updates for font size changes, cycling through small, medium, and large options.
- Added error handling to revert to original preferences if the server action fails, improving user experience.
- Updated dependencies in the toggleFontSize function to include preferences.viewPreferences for better state management.