Commit Graph

131 Commits

Author SHA1 Message Date
Chamika J
26171fd846 Merge pull request #169 from Worklenz/imp/task-list-performance-fixes
Imp/task list performance fixes
2025-06-21 18:53:55 +05:30
chamiakJ
5a475a84b5 feat(performance): add Redux performance monitoring and memoized selectors
- Introduced a Redux performance monitoring system to log action metrics, including duration and state size.
- Implemented middleware for tracking performance of Redux actions and logging slow actions in development.
- Added utility functions for analyzing performance metrics and generating recommendations for optimization.
- Created memoized selectors to enhance performance and prevent unnecessary re-renders across various application states.
2025-06-21 18:40:57 +05:30
chamiakJ
b617d15c62 feat(performance): enhance routing and component loading efficiency
- Implemented lazy loading for all route components to improve initial load times and reduce bundle size.
- Added Suspense boundaries around lazy-loaded components for better loading states and user experience.
- Memoized guard components to prevent unnecessary re-renders and optimize performance.
- Introduced defensive programming practices in guard components to handle potential errors gracefully.
- Updated routing structure to utilize React Router's future features for enhanced performance.
2025-06-21 18:32:41 +05:30
chamiakJ
bb57280c8c feat(performance): implement comprehensive performance improvements for Worklenz frontend
- Introduced a new document summarizing performance optimizations across the application.
- Applied React.memo(), useMemo(), and useCallback() to key components to minimize unnecessary re-renders and optimize rendering performance.
- Implemented a route preloading system to enhance navigation speed and user experience.
- Added performance monitoring utilities for development to track component render times and function execution.
- Enhanced lazy loading and suspense boundaries for better loading states.
- Conducted production optimizations, including TypeScript error fixes and memory management improvements.
- Memoized style and configuration objects to reduce garbage collection pressure and improve memory usage.
2025-06-21 18:16:13 +05:30
chamikaJ
5221061241 feat(task-management): implement new task management features with BulkActionBar and task grouping
- Introduced BulkActionBar component for bulk actions on selected tasks, including status, priority, and assignee changes.
- Added TaskGroup and TaskRow components to enhance task organization and display.
- Implemented grouping functionality with GroupingSelector for improved task categorization.
- Enhanced drag-and-drop capabilities for task reordering within groups.
- Updated styling and responsiveness across task management components for better user experience.
2025-06-20 10:56:48 +05:30
Chamika J
dfb360733e Merge pull request #165 from Worklenz/imp/task-list-performance-fixes
Imp/task list performance fixes
2025-06-20 08:40:14 +05:30
chamiakJ
c1e6689beb refactor(task-management): improve layout and styling for TaskGroup and TaskRow components
- Updated TaskGroup and TaskRow to enhance column widths and visibility.
- Adjusted styling for task headers and buttons for better user experience.
- Improved overflow handling and responsiveness in task management components.
- Streamlined CSS for consistency across task-related components.
2025-06-20 07:33:14 +05:30
chamiakJ
4e1c6fb333 refactor(task-management): enhance TaskGroup and TaskRow components with column visibility and improved layout
- Integrated Redux for column visibility management in TaskGroup and TaskRow components.
- Simplified the rendering of task details based on column visibility settings.
- Updated styling for better consistency and responsiveness across task rows and groups.
- Removed unused imports and components to streamline the codebase.
2025-06-20 06:44:47 +05:30
shancds
ece614941e feat(task-comments): enhance comment processing with linkification and sanitization
- Added a utility to linkify URLs in comments, allowing users to click and open links.
- Refactored comment content processing to handle both mentions and links, improving user interaction.
- Updated the sanitizeHtml function to allow <span> tags for mentions, enhancing content display.
2025-06-19 13:23:40 +05:30
shancds
b47b3253f6 feat(project-view-updates): add linkification and context menu for comments
- Implemented linkification for URLs in comments, allowing users to click and open links in a new tab.
- Introduced a context menu for each comment with an option to delete, enhancing user interaction.
- Refactored comment rendering to include link handling and improved code organization.
2025-06-19 12:39:32 +05:30
shancds
889335c579 refactor(info-tab-footer): remove console log for member selection 2025-06-19 11:27:18 +05:30
shancds
7b657120e9 refactor(project-view-updates): optimize comment handling and rendering logic
- Introduced useMemo and useCallback hooks to enhance performance and prevent unnecessary re-renders.
- Refactored comment rendering logic into a separate function for better readability and maintainability.
- Updated mentionsOptions to utilize useMemo for efficient computation based on members.
- Improved comment change handling and member selection logic for a smoother user experience.
- Cleaned up code by removing redundant comments and optimizing dependencies in useEffect hooks.
2025-06-19 10:40:40 +05:30
chamiakJ
82aa207e0d refactor(task-management): enhance TaskGroup and TaskRow components for improved functionality and styling
- Updated TaskGroup to include new props for task selection and toggling subtasks.
- Refactored TaskRow to improve layout and styling, including fixed and scrollable columns.
- Replaced drag handle icon and adjusted task metadata display for better clarity.
- Enhanced overall styling for better responsiveness and dark mode support.
2025-06-19 09:21:55 +05:30
shancds
4c4a860c76 feat(board): enhance task and subtask management in board components
- Updated boardSlice to allow updating task assignees and names for both main tasks and subtasks.
- Improved BoardSubTaskCard to include context menu options for assigning tasks, deleting subtasks, and handling errors.
- Refactored BoardViewTaskCard to integrate dropdown menus for better task interaction and organization.
- Enhanced user experience by adding loading states and error handling for task actions.
2025-06-18 17:11:39 +05:30
chamikaJ
d0310ded28 refactor(project-view-enhanced-tasks): update project ID handling and improve error messaging
- Replaced use of `useParams` with `useAppSelector` to retrieve project information from the Redux store.
- Updated error message from "Project ID not found" to "Project not found" for better clarity.
- Adjusted the way the project ID is passed to the `TaskListBoard` component.
2025-06-18 17:10:14 +05:30
chamikaJ
c01ef4579a feat(project-view): add Enhanced Tasks tab and component
- Introduced a new tab for Enhanced Tasks in the project view.
- Created ProjectViewEnhancedTasks component to display task management features.
- Updated project-view-constants to include the new tab and adjusted indices for existing tabs.
- Enhanced task management styles for improved dark mode support.
2025-06-18 17:07:26 +05:30
chamikaJ
c1a303e78c feat(store): integrate task management reducers into the store
- Added taskManagementReducer, groupingReducer, and selectionReducer to the Redux store.
- Organized imports and store configuration for better clarity and maintainability.
2025-06-18 17:02:23 +05:30
shancds
193288013e refactor(priority-section): remove task name display from PrioritySection
- Eliminated the task name display from the PrioritySection component for a cleaner layout.
- Updated BoardViewTaskCard to include task name alongside the PrioritySection for improved organization.
2025-06-18 15:31:00 +05:30
shancds
39e8add103 feat(filters): enhance labels and members filter dropdowns
- Added useEffect to fetch labels when the component mounts or projectId changes in LabelsFilterDropdown.
- Improved members filter logic to only sync board members when the board task assignees are empty.
- Cleaned up redundant checks and optimized dependencies in the members filter dropdown.
2025-06-18 12:56:24 +05:30
shancds
0f82c9738b feat(project-view-board): implement task priority change handling
- Added a new function to handle task priority changes via socket events.
- Integrated priority change logic into the drag-and-drop functionality for improved task management.
- Cleaned up unused imports and improved code organization for better readability.
2025-06-18 12:18:58 +05:30
shancds
a4237a6f17 refactor(project-view-board): update collision detection strategy for drag-and-drop
- Replaced `closestCorners` with `collisionDetectionStrategy` to enhance drag-and-drop functionality.
- Aims to improve performance and accuracy during task movement on the project board.
2025-06-18 09:45:37 +05:30
shancds
0e0d1a5f11 refactor(project-view-board): clean up code and improve task handling logic
- Removed unnecessary conditional checks and whitespace for better readability.
- Streamlined task movement logic to enhance performance during drag-and-drop operations.
- Improved socket event emission for task sort order changes, ensuring more reliable updates.
- Cleaned up comments and organized code structure for clarity.
2025-06-17 16:46:36 +05:30
shancds
4dbaab060a Merge branch 'release/v2.0.3' of https://github.com/Worklenz/worklenz into release/v2.0.3-kanban-handle-drag-over 2025-06-17 09:54:07 +05:30
shancds
b8811ab5b6 refactor(board-section): optimize component rendering and enhance task card functionality
- Imported React to ensure proper usage of hooks.
- Wrapped `BoardSectionCardContainer` in `React.memo` for performance optimization.
- Integrated `useAuthService` to manage user session within `BoardViewTaskCard`.
- Replaced priority icon rendering with a dedicated `PrioritySection` component for cleaner code and improved readability.
- Cleaned up unused code and improved overall structure of task card rendering.
2025-06-16 17:13:36 +05:30
Chamika J
5248c26b76 Merge pull request #157 from Worklenz/feature/project-list-grouping
Feature/project list grouping
2025-06-16 10:05:54 +05:30
chamikaJ
eed0fb6eca chore(deps): update brace-expansion to version 2.0.2 in package-lock.json 2025-06-16 09:51:03 +05:30
Chamika J
2a9447b506 Merge pull request #156 from Worklenz/imp/kanban-performance
Imp/kanban performance
2025-06-16 08:58:49 +05:30
chamikaJ
25639afe1a refactor(reporting): optimize project reports components with memoization
- Refactored ProjectsReports, ProjectsReportsFilters, and ProjectsReportsTable components to utilize React.memo, useCallback, and useMemo for improved performance and reduced unnecessary re-renders.
- Memoized various handlers and configurations to enhance rendering efficiency and maintain responsiveness.
- Updated component exports to use memoization, ensuring optimal performance during re-renders.
2025-06-13 16:37:03 +05:30
chamikaJ
4426b5f3ef feat(reporting): enhance overview reports with memoization and dark mode support
- Refactored components in the reporting section to utilize React.memo, useCallback, and useMemo for improved performance and reduced unnecessary re-renders.
- Updated the OverviewStatCard to support dark mode styling and added enhanced hover effects.
- Improved the Avatars component by memoizing rendering logic and preventing event propagation.
- Enhanced OverviewReportsTable with memoized columns and row props for better performance.
- Applied consistent styling adjustments across various components to ensure a cohesive user experience.
2025-06-13 16:04:32 +05:30
chamikaJ
3cae2771de feat(projects): implement grouped project retrieval and UI enhancements
- Added a new endpoint for retrieving projects grouped by category, client, or status.
- Enhanced the ProjectsController with a method to handle grouped project queries.
- Updated the projects API router to include the new grouped endpoint.
- Improved the frontend to support displaying grouped projects with pagination and filtering options.
- Updated localization files for English, Spanish, and Portuguese to include new grouping options.
- Refactored project list components to accommodate the new grouped view and improved UI elements.
2025-06-13 15:46:03 +05:30
chamikaJ
81f55adb41 feat(projects): enhance project selection and grouping functionality
- Added grouping options for projects by category, team, and status in the project list.
- Implemented search functionality with a clear search option.
- Improved UI with expandable/collapsible project groups and selection summary.
- Updated localization files for English, Spanish, and Portuguese to include new grouping and UI strings.
- Enhanced project type definitions to support additional grouping properties.
2025-06-13 13:16:25 +05:30
chamikaJ
bd4c88833d Merge branch 'release/v2.0.3' of https://github.com/Worklenz/worklenz into feature/project-list-grouping 2025-06-13 13:02:57 +05:30
Chamika J
91730026fd Merge branch 'feature/project-list-grouping' into upstream/feature/project-groupby 2025-06-13 13:02:17 +05:30
shancds
9d10b23ba7 Merge branch 'release/v2.0.3' of https://github.com/Worklenz/worklenz into release/v2.0.3-kanban-handle-drag-over 2025-06-13 08:40:27 +05:30
chamiakJ
d0c231ee43 fix(account-storage): update billingInfo property name for progress percentage
- Changed the property name from `usedPercentage` to `used_percent` in the billing account info interface and updated the corresponding usage in the AccountStorage component to ensure consistency.
2025-06-12 14:28:05 +05:30
chamiakJ
58ce8e40c7 fix(migrations): correct progress_mode type casting in SQL migration
- Updated the SQL migration to ensure proper type casting for progress_mode when updating progress values based on project_id.
2025-06-12 14:11:04 +05:30
shancds
2aa4fe9673 feat(project-view-board): enhance drag-and-drop functionality and optimize task handling
- Added debounced task movement to prevent rapid updates during drag-and-drop operations.
- Implemented a custom collision detection strategy for improved task placement logic.
- Introduced new refs and state management for better handling of drag events and task cloning.
- Refactored drag event handlers to streamline task movement between groups and sections.
- Enhanced loading state management and cleanup for better user experience during task interactions.
2025-06-11 14:50:48 +05:30
chamikaJ
ccb50e3c62 feat(navbar): add HelpButton to the navbar and comment out TimerButton
- Temporarily commented out TimerButton for future adjustments.
2025-06-11 12:59:17 +05:30
chamikaJ
5ce9e66fea feat(timer-button): enhance error handling and improve timer updates
- Added error state management and logging for API calls and timer updates.
- Refactored timer update logic to handle invalid data and improve robustness.
- Updated dropdown rendering to display error messages and handle empty states more gracefully.
- Improved socket event handling with error logging for better debugging.
2025-06-11 12:55:53 +05:30
chamikaJ
6492a4672b Merge branch 'feature/recurring-tasks' of https://github.com/Worklenz/worklenz into release/v2.0.3 2025-06-11 12:41:04 +05:30
shancds
c9aab73a2a Merge branch 'release/v2.0.3' of https://github.com/Worklenz/worklenz into fix/release/v2.0.3-update 2025-06-11 12:01:45 +05:30
shancds
13a202cca4 feat(locales): add 'enterProjectKey' translation to project drawer for en, es, and pt 2025-06-09 14:40:46 +05:30
chamikaJ
bdb9c9ca28 feat(project-subscribers): implement project subscriber management and loading state
- Added `getProjectSubscribers` method in `TasksControllerV2` to retrieve project subscribers with user details.
- Updated socket command to handle project subscription changes, ensuring no duplicate entries on conflict.
- Enhanced `ProjectViewHeader` to manage subscription loading state, providing user feedback during subscription updates.
- Implemented error handling and timeout for subscription requests to improve user experience.
2025-06-09 13:13:45 +05:30
chamikaJ
520888988e feat(task-list): implement drag-and-drop functionality for task reordering
- Integrated drag-and-drop capabilities in the task list using `@dnd-kit` for improved user experience.
- Created a `DraggableRow` component to handle individual task dragging and dropping.
- Updated task list rendering to support dynamic reordering and socket integration for backend persistence.
- Enhanced task selection and hover effects for better visual feedback during drag operations.
- Refactored task list components to streamline rendering and improve performance.
2025-06-09 09:58:28 +05:30
chamiakJ
de28f87c62 refactor(task-drag-and-drop): remove unused drag-and-drop hook and simplify task group handling
- Deleted `useTaskDragAndDrop` hook to streamline drag-and-drop functionality.
- Updated `TaskGroupWrapperOptimized` to remove drag-and-drop context and simplify rendering.
- Refactored `TaskListTable` to integrate drag-and-drop directly, enhancing performance and maintainability.
- Adjusted task rendering logic to ensure proper handling of task states during drag operations.
2025-06-09 07:19:15 +05:30
Omindu Hirushka
e9e9bffd9a group by client / category 2025-06-06 13:23:23 +05:30
shancds
1583221232 fix: enable automatic refetching for task queries in dropdown and date picker components 2025-06-06 11:45:22 +05:30
Omindu Hirushka
585a65be31 current updates 2025-06-06 09:47:42 +05:30
Tharindu Kosgahakumbura
2de9b7f6b7 Merge branch 'Worklenz:main' into fix/kanban-board-optimization 2025-06-06 09:10:32 +05:30
chamiakJ
6002ab7c50 refactor(task-list): optimize selector usage and update component properties
- Changed `name` property in `ITaskAssignee` interface from optional to required for better type safety.
- Updated `Dropdown` component's prop from `dropdownRender` to `popupRender` for consistency.
- Renamed `destroyPopupOnHide` to `destroyOnHidden` in relevant components for clarity.
- Split combined selectors in `ProjectViewTaskList` to prevent unnecessary re-renders, enhancing performance.
2025-06-05 11:24:07 +05:30