- Updated `JiraConfigForm` to include an input for ignored projects, allowing users to specify projects to exclude from synchronization.
- Enhanced `JiraService` with a method to filter out tasks from ignored projects, improving task management.
- Modified user preferences to store ignored projects, ensuring persistence across sessions.
- Updated API routes to handle ignored projects in configuration, enhancing overall functionality.
- Marked the corresponding task as complete in TODO.md.
- Marked all daily checkbox actions as complete in TODO.md.
- Removed outdated mutation methods from `daily-client.ts`, now managed by server actions in `actions/daily.ts`.
- Deleted unused API routes for checkbox management, streamlining the codebase.
- Updated `useDaily.ts` to utilize server actions with `useTransition`, enhancing performance and user experience.
- Marked all user preferences actions as complete in TODO.md.
- Updated `user-preferences-client.ts` to remove outdated mutation methods, now handled by server actions.
- Deleted unused API routes for column visibility, kanban filters, and view preferences.
- Refactored `UserPreferencesContext.tsx` to utilize server actions for updates, improving performance with `useTransition`.
- Added `usePathname` hook to determine the current route.
- Implemented `isActiveLink` and `getLinkClasses` functions for dynamic link styling based on active state.
- Adjusted navigation links in the Header to utilize the new styling functions for improved user experience.
- Updated KanbanPageClient subtitle for consistency.
- Changed project name from "towercontrol-temp" to "towercontrol" in package-lock.json and package.json.
- Added Recharts library for data visualization in the dashboard.
- Updated TODO.md to reflect completion of analytics and metrics integration tasks.
- Enhanced RecentTasks component to utilize TaskPriority type for better type safety.
- Minor layout adjustments in RecentTasks for improved UI.
- Updated HomePageClient to replace Kanban board with a modern dashboard layout.
- Integrated DashboardStats, QuickActions, and RecentTasks components for enhanced user experience.
- Marked several tasks as complete in TODO.md, including the creation of a new dashboard and quick action features.
- Added navigation link for the new dashboard in the Header component.
- Revamped README to reflect the new version, including a comprehensive overview of features, installation instructions, and architecture details.
- Added sections for Kanban functionality, advanced tagging system, daily notes, and Jira integration.
- Included Docker installation instructions and environment variable configuration for enhanced usability.
- Emphasized the project's modern tech stack and architectural principles.
- Introduced tasks for implementing an automatic database backup system, including configurable intervals, manual backup options, and backup rotation.
- Added details for backup format and an interface for managing existing backups.
- Replaced direct task creation call with createTask action for better error handling and response management.
- Enhanced task creation logic to refresh task list upon successful creation and throw errors for failure cases.
- Implemented a FontSizeToggle component in HomePageClient for adjusting task font sizes in kanban views.
- Updated TaskCard to apply dynamic font size classes based on user preferences.
- Enhanced user preferences to include font size settings, defaulting to 'medium'.
- Modified TODO.md to mark the font size toggle task as complete.
- Introduced a new guide in `server-actions.mdc` to clarify when to use Server Actions versus API Routes in Next.js.
- Included examples, implementation patterns, migration strategies, and anti-patterns to avoid for better developer understanding.
- Updated TODO.md to include detailed tasks for Jira project configuration, analytics service, and dashboard page.
- Added advanced metrics and monitoring functionalities, including velocity calculations, cycle time analysis, and automated anomaly detection.
- Introduced new API routes and components for enhanced data handling and visualization.
- Replaced API routes with server actions for task management, daily checkboxes, user preferences, and tags to streamline operations.
- Implemented immediate cleanup of obsolete routes and code, enhancing performance and reducing complexity.
- Established a hybrid architecture to maintain complex endpoints while optimizing simple actions.
- Added JiraQuickFilter component to HomePageClient for enhanced task filtering.
- Updated useTasksContext to include kanbanFilters and setKanbanFilters for managing filter state.
- Added a fallback mechanism in getPriorityValue to default to 'medium' when an unknown priority is encountered, improving robustness.
- Updated priority mapping in JiraService to change 'Highest' to 'urgent', aligning with new priority definitions.
- Updated JiraService to use `nextPageToken` for pagination instead of `startAt`, aligning with the latest API documentation.
- Enhanced logging for better visibility during ticket retrieval, including page number and pagination status.
- Implemented safety checks to prevent infinite loops and added a limit for ticket retrieval.
- Removed unnecessary checks for local updates, ensuring Jira data is always updated.
- Preserved local task title and priority during updates to maintain user modifications.
- Updated logging to reflect changes in task update behavior.
- Added `JiraSyncAction` interface to track individual task actions (created, updated, skipped, deleted) during synchronization.
- Updated `JiraSyncResult` to include actions for better visibility of sync outcomes.
- Implemented a modal to display detailed sync results, improving user feedback on synchronization processes.
- Enhanced task deletion logic to provide reasons and changes for each action, ensuring clarity in task management.
- Added `tasksDeleted` to `JiraSyncResult` to track deleted tasks.
- Implemented `cleanupUnassignedTasks` method to remove Jira tasks no longer assigned to the user, improving data accuracy and synchronization.
- Updated logging for better visibility during task cleanup process.
- Updated PrioritySwimlanesBoard to filter out priorities that have no associated tasks, ensuring only relevant priorities are displayed. This improves the clarity and usability of the swimlanes.
- Modified KanbanFilters to set tags and priorities directly, removing the conditional checks for empty arrays. This ensures that the filters are always updated with the latest values, improving consistency in filter application.
- Added functionality to generate Jira ticket URLs based on user preferences, enhancing task interactivity.
- Updated UserPreferences to include Jira configuration, ensuring seamless integration with Jira settings.
- Refactored TaskCard to conditionally render Jira links, improving user experience when interacting with Jira tasks.
- Integrated activeFiltersCount into useTasksContext for HomePageContent and KanbanFilters.
- Removed redundant activeFiltersCount calculation from KanbanFilters, leveraging the context instead for better performance and consistency.
- Changed comments to singular form for clarity regarding Jira tag assignment.
- Removed unused assignProjectTag method to streamline the JiraService.
- Enhanced status mapping with additional French translations for better localization.
- Updated pagination logging to include total issues retrieved.
- Increased safety limit for pagination from 5000 to 10000 tickets to prevent infinite loops.
- Removed deprecated cleanupEpics method to streamline synchronization process.
- Added check for actual changes before updating tasks to avoid unnecessary database operations.
- Updated TaskCard to conditionally render edit and delete buttons only when not in editing mode, improving user experience by preventing accidental actions while editing.
- Added tooltip to TaskCard title for improved user interaction, displaying the title on hover.
- Introduced cleanup for timeout on component unmount to prevent memory leaks.
- Refactored title rendering to use a new TitleWithTooltip component for better code organization.
- Introduced toggle buttons for compact view and swimlanes by tags in HomePageContent, enhancing user preferences management.
- Removed redundant compact view toggle from KanbanFilters to streamline functionality.
- Changed default selected type in DailyAddForm from 'task' to 'meeting'.
- Updated class names in DailyAddForm and EditCheckboxModal for improved visual consistency and user experience, ensuring better color contrast and hover effects.
- Added index signatures to allow for dynamic keys in KanbanFilters, ViewPreferences, and ColumnVisibility interfaces, enhancing flexibility in handling additional properties.
- Updated layout metadata to reflect new application title and description for better branding.
- Updated binary database file.
- Added DnD context and handlers for task reordering and status updates.
- Introduced DroppableColumn component for better task organization by status.
- Enhanced task card interaction with visual feedback during drag events.
- Updated KanbanBoardContainer to support new status update prop.
- Added opacity adjustment for completed tasks in TaskCard to enhance visual distinction.
- Improved hover effects and interaction feedback for better user experience.
- Changed the label in EditCheckboxModal to clarify task linkage applies to all types, not just tasks.
- Updated DailyPageClient to allow taskId linkage for all checkbox types, enhancing flexibility in task management.
- Added clarification to the components section, specifying that React components are organized by domain for better understanding of project structure.