Commit Graph

741 Commits

Author SHA1 Message Date
Chamika J
3cb44e8dc8 fix(auth): correct type assertion for session passport property
- Updated the session passport assignment to use a type assertion for better TypeScript compatibility.
- This change ensures that the session object is correctly recognized, improving type safety in the authentication process.
2025-08-06 10:48:52 +05:30
Chamika J
11a31e5a6d feat(auth): improve session regeneration and response handling in login process
- Enhanced session management by implementing session regeneration to prevent session fixation during login.
- Added detailed logging for session regeneration, save operations, and response headers to aid in debugging.
- Ensured the user is re-established in the new session and included session cookie details in the response for better traceability.
2025-08-06 10:47:33 +05:30
Chamika J
5b00d83847 feat(auth): enhance session handling and response logging in authentication
- Improved session management by ensuring the session is saved before sending the response in the `AuthController`.
- Added detailed logging for session save operations and included the session ID in the response for better debugging.
- Updated session middleware configuration to enhance security and support mobile applications, including adjustments to cookie settings based on the production environment.
2025-08-06 10:35:35 +05:30
Chamika J
8e5d55ce7d feat(auth): add detailed logging for authentication processes
- Introduced console logs in the `verify` and `googleMobileAuthPassport` methods to provide insights into session data, authentication status, and potential errors.
- Enhanced debugging capabilities by logging session IDs, user information, and response details during the authentication flow.
- This update aims to improve visibility and traceability of authentication events for better troubleshooting.
2025-08-06 10:28:28 +05:30
Chamika J
7bb020d448 feat(auth): implement mobile Google authentication using Passport strategy
- Added a new Passport strategy for mobile Google authentication.
- Introduced `googleMobileAuthPassport` method in `AuthController` to handle authentication flow.
- Updated routes to utilize the new Passport strategy for mobile sign-in.
- Added `passport-custom` dependency for custom authentication strategy.
- Updated `package.json` and `package-lock.json` to reflect new dependencies and version requirements.
2025-08-05 17:12:29 +05:30
Chamika J
84f96b7db2 Merge pull request #309 from shancds/upstreame-release-v2.1.4
Origin release v2.1.4
2025-08-05 16:49:37 +05:30
shancds
f87fba96d8 refactor(task-comments): update response structure for comment data 2025-08-05 09:20:14 +05:30
shancds
81d5c8559c feat(task-comments): enhance comment response with user avatar and attachments
- Added functionality to retrieve user avatar URL and comment details, including created_at timestamp.
- Implemented logic to fetch and format comment attachments for the response.
- Transformed the response structure to include avatar, attachments, and other relevant comment data.
2025-08-05 09:18:40 +05:30
shancds
945c52b770 Merge branch 'chore/added-google-login-from-mobile-app' of https://github.com/Worklenz/worklenz into upstreame-release-v2.1.4 2025-08-05 08:25:56 +05:30
Chamika J
f84d834295 feat(auth): add logging for token audience validation in Google authentication
- Introduced console logs in the `googleMobileAuth` method to display the token audience, allowed client IDs, and the status of relevant environment variables.
- This enhancement aids in debugging and ensures better visibility into the authentication process.
2025-08-04 17:02:48 +05:30
Chamika J
01ce34f3d8 feat(auth): enhance token audience validation for Google authentication
- Updated the `googleMobileAuth` method in `AuthController` to accept multiple client IDs (web, Android, iOS) for token audience validation.
- Improved error handling for invalid token audiences, ensuring a more flexible and robust authentication process.
2025-08-04 16:54:17 +05:30
Chamika J
210a9a7aba fix(labels-controller): update color validation to use WorklenzColorShades for label updates
- Modified color validation logic in `updateLabel` method to check against `WorklenzColorShades` instead of `WorklenzColorCodes`.
- Ensured that the color input is validated correctly during label updates, enhancing data integrity.
2025-08-04 15:28:31 +05:30
Chamika J
6e37208f62 fix(password-validator): adjust password length validation to include maximum length of 32 characters 2025-08-04 15:23:58 +05:30
Chamika J
8188b5c381 feat(auth): enhance Google authentication validation
- Added validation for token audience, issuer, and expiry in the `googleMobileAuth` method of `AuthController`.
- Improved error handling for invalid tokens and expired sessions, ensuring robust authentication flow.
2025-08-04 12:44:34 +05:30
Chamika J
0e21eacd52 feat(auth): implement mobile Google authentication endpoint
- Added `googleMobileAuth` method in `AuthController` to handle mobile Google sign-in.
- Validates ID token and checks for email verification before proceeding.
- Handles user registration and login, creating a session for authenticated users.
- Updated API routes to include the new mobile authentication endpoint.
2025-08-04 12:40:06 +05:30
Chamika J
136dac17fb feat(labels): implement label update functionality and enhance UI
- Added `updateLabel` method in `LabelsController` to handle label updates with validation for name and color.
- Updated API routes to include the new label update endpoint.
- Introduced `LabelsDrawer` component for editing labels, including a color picker and form validation.
- Enhanced localization files to support new UI strings for label management.
- Implemented a new `LabelsSettings` page to manage labels with search and edit capabilities.
- Improved color handling with a comprehensive color palette for better user experience.
2025-08-04 12:28:52 +05:30
Chamika J
884cb9c462 refactor(SettingsLayout): streamline layout and improve styling
- Removed unused imports and simplified margin handling in SettingsLayout.
- Updated layout classes for better responsiveness and visual consistency.
- Enhanced sidebar and outlet rendering with improved Flex component usage.
- Streamlined overall layout for a cleaner and more modern appearance.
2025-08-04 09:58:49 +05:30
Chamika J
d1bd36e0a4 refactor(AdminCenterLayout): simplify layout structure and improve styling
- Removed unused imports and simplified margin handling in AdminCenterLayout.
- Updated layout classes for better responsiveness and visual consistency.
- Enhanced sidebar and outlet rendering with improved Flex component usage.
- Streamlined overall layout for a cleaner and more modern appearance.
2025-08-04 09:55:56 +05:30
Chamika J
7c42087854 feat(update-notification): implement update notification system for new versions
- Added a service worker message handler to check for updates and notify users.
- Created `UpdateNotification` component to display update prompts with options to reload or dismiss.
- Introduced `UpdateNotificationProvider` to manage update state and notifications globally.
- Implemented `useUpdateChecker` hook for periodic update checks and user notification management.
- Updated localization files to include new strings related to update notifications.
- Enhanced service worker functionality to support hard reloads and update checks.
2025-07-31 16:12:04 +05:30
Chamika J
14c89dec24 chore(tests): remove obsolete SQL test scripts for sort order validation
- Deleted `test_sort_fix.sql` and `test_sort_orders.sql` as they are no longer needed for the current implementation.
- These scripts were previously used to verify sort order constraints and helper functions, but have been deemed unnecessary.
2025-07-31 15:51:43 +05:30
Chamika J
b1bdf0ac11 feat(hubspot): add dark mode support and light color scheme for chat widget
- Removed production check to ensure HubSpot script loads in all environments.
- Implemented dark mode CSS injection when the dark theme is active.
- Added a style block to enforce a light color scheme for the HubSpot chat widget, improving visibility and user experience.
2025-07-31 15:44:04 +05:30
Chamika J
7635676289 feat(trial-user-limits): implement trial member limit checks in project and team controllers
- Added TRIAL_MEMBER_LIMIT constant to enforce a maximum number of trial users in project and team member controllers.
- Implemented logic to check current trial members against the limit during user addition, providing appropriate responses for exceeding limits.
- Updated relevant controllers to utilize the new trial member limit functionality, enhancing subscription management for trial users.
- Enhanced error messaging to guide users on upgrading their subscription for additional members.
2025-07-31 12:56:28 +05:30
chamikaJ
2bd6c19c13 refactor(layouts): simplify MainLayout and enhance styling
- Removed unused imports and performance monitoring hooks from MainLayout.
- Updated layout structure to improve responsiveness and styling, including sticky header and optimized content padding.
- Adjusted home page layout to reduce margin and improve spacing for better visual consistency.
- Enhanced TodoList component with collapsible sections for improved user interaction and task management.
- Streamlined project and schedule pages by removing unnecessary margin adjustments, ensuring a cleaner layout.
2025-07-30 17:20:20 +05:30
chamikaJ
374595261f feat(task-list-v2): enhance sticky column behavior and dark mode support
- Updated DropSpacer and EmptyGroupMessage components to accept an optional isDarkMode prop for improved styling in dark mode.
- Enhanced task rendering in TaskRow to dynamically adjust background colors based on dark mode and drag states.
- Refactored useTaskRowColumns to support sticky column positioning and hover effects, ensuring a consistent user experience across different themes.
- Improved overall visual feedback during task interactions, including drag-and-drop operations.
2025-07-30 16:25:29 +05:30
chamikaJ
b6c056dd1a feat(task-status-dropdown): enhance task status update and group movement handling
- Added logic to optimistically update task status in Redux for immediate feedback.
- Implemented group movement handling when tasks are updated based on their status, ensuring tasks are moved between groups as needed.
- Improved socket event emissions for real-time updates, including parent task handling.
- Refactored group selection logic to streamline target group identification based on status ID and group value.
2025-07-30 15:26:27 +05:30
chamikaJ
81e1872c1f refactor(task-list): simplify drag-and-drop functionality and enhance task rendering
- Removed droppable functionality from TaskGroupHeader and replaced it with a more streamlined approach in TaskListV2Table.
- Introduced DropSpacer component to improve visual feedback during task dragging.
- Updated task rendering logic in TaskRow to enhance user experience with clearer drop indicators.
- Refactored useDragAndDrop hook to manage drop positions more effectively, ensuring tasks can only be reordered within the same group.
- Improved socket event handling for task sorting to ensure accurate updates during drag-and-drop operations.
2025-07-30 15:08:28 +05:30
chamikaJ
5cce3bc613 feat(localization): add timer conflict handling and update translations
- Introduced a new hook `useTaskTimerWithConflictCheck` to manage timer conflicts, prompting users when a timer is already running for a different task.
- Updated localization files for Albanian, German, English, Spanish, Portuguese, and Chinese to include new translation keys related to timer conflict handling and cancellation.
- Refactored components to utilize the new timer hook, enhancing user experience by preventing overlapping timers.
2025-07-30 10:13:08 +05:30
chamikaJ
c53ab511bf Merge branch 'main' of https://github.com/Worklenz/worklenz into release-v2.1.4 2025-07-29 14:19:44 +05:30
Chamika J
7b9a16fd72 Merge pull request #307 from Worklenz/development
refactor: update .gitignore and remove obsolete files
2025-07-29 14:16:55 +05:30
chamikaJ
8830af2cbb refactor: update .gitignore and remove obsolete files
- Added .cursor and .claude directories to .gitignore to prevent tracking of temporary files.
- Deleted obsolete .claude/settings.local.json and .cursor/rules/antd-components.mdc files to clean up the repository and remove unnecessary configurations.
2025-07-29 14:16:52 +05:30
chamikaJ
b915de2b93 feat(reporting): enhance date handling and export functionality
- Improved date range handling in ReportingControllerBaseWithTimezone to support various date formats from the frontend, ensuring robust parsing and timezone conversion.
- Updated SQL queries to use consistent table aliases for clarity.
- Added export functionality for project members and tasks in ProjectReportsDrawer, allowing users to download relevant data.
- Enhanced the Excel export handler in ProjectsReports to streamline project data exports based on the current session's team name.
2025-07-29 13:05:55 +05:30
chamikaJ
29b8c1b2af feat(task-context-menu): add copy link functionality and update translations
- Implemented a new "Copy link to task" feature in the task context menu, allowing users to easily copy task links to the clipboard.
- Added corresponding success and error messages for link copying.
- Updated localization files for Albanian, German, English, Spanish, Portuguese, and Chinese to include new translation keys for the copy link feature.
2025-07-29 12:49:51 +05:30
chamikaJ
c2b231d5cc feat(survey-modal): add survey modal configuration to environment files
- Introduced a new environment variable VITE_ENABLE_SURVEY_MODAL to control the visibility of the survey modal.
- Updated .env.example to include the new variable with a default value of true.
- Modified SurveyPromptModal component to check the environment variable before displaying the modal, enhancing user experience by allowing toggling of the feature.
2025-07-29 11:13:08 +05:30
chamikaJ
53a28cf489 refactor(localization): update task-related translations and improve user activity feed
- Added new translation keys for recent tasks and time logged tasks in Albanian, German, English, Spanish, Portuguese, and Chinese localization files.
- Enhanced user activity feed to switch between recent tasks and time logged tasks, improving user experience.
- Updated the date formatting utility to support locale-specific formatting for better internationalization.
- Refactored task activity list and time logged task list components to utilize a table layout for improved readability.
2025-07-29 10:19:28 +05:30
Chamika J
e8ccc2a533 Merge pull request #306 from Worklenz/feature/task-activities-by-user
Feature/task activities by user
2025-07-29 08:46:13 +05:30
Chamika J
f24c0d8955 Merge branch 'release-v2.1.4' into feature/task-activities-by-user 2025-07-29 08:46:05 +05:30
Chamika J
01a580d992 Merge pull request #304 from Worklenz/fix/reporting-sidebar-style-fix
feat(survey-localization): add survey localization files for multiple…
2025-07-28 16:57:33 +05:30
chamikaJ
c2e670c9a2 feat(survey-localization): add survey localization files for multiple languages
- Introduced new localization JSON files for Albanian, German, English, Spanish, Portuguese, and Chinese to support the survey feature.
- Each file includes translations for modal titles, button texts, and feedback messages to enhance user experience across different languages.
- Updated the SurveyPromptModal component to utilize these localization entries for improved accessibility and user engagement.
2025-07-28 16:57:40 +05:30
Chamika J
25042baf71 Merge pull request #303 from Worklenz/fix/reporting-sidebar-style-fix
feat(account-setup): implement skip functionality and update localiza…
2025-07-28 16:31:53 +05:30
chamikaJ
e8d21ee187 feat(account-setup): implement skip functionality and update localization
- Added a state to manage the skipping process during account setup, enhancing user experience.
- Updated button behavior to reflect the skipping state and provide feedback to users.
- Included new localization entries for the "skipping" status in multiple languages (Albanian, German, English, Spanish, Portuguese, Chinese).
- Refined HubSpot widget styling to ensure better integration with the app's UI.
2025-07-28 16:30:21 +05:30
Chamika J
a8d1446b0d Merge pull request #302 from Worklenz/fix/reporting-sidebar-style-fix
feat(hubspot-integration): refine HubSpot widget styling and add acco…
2025-07-28 16:14:03 +05:30
chamikaJ
2082934cd5 feat(hubspot-integration): refine HubSpot widget styling and add account setup skip functionality
- Enhanced CSS targeting for HubSpot widget elements to prevent interference with the Worklenz app UI.
- Introduced a new function to allow users to bypass team member validation during account setup, improving user experience.
- Updated the button click handler to utilize the new skip functionality for a smoother setup process.
2025-07-28 16:12:12 +05:30
Chamika J
4debcd6aa5 Merge pull request #301 from Worklenz/fix/reporting-sidebar-style-fix
Fix/reporting sidebar style fix
2025-07-28 15:45:34 +05:30
chamikaJ
76adb89caf feat(task-filters): enhance sorting functionality and localization updates
- Added sorting options to task filters, including clear sort, sort ascending, sort descending, and sort by field.
- Updated localization files for multiple languages (Albanian, German, English, Spanish, Portuguese, Chinese) to include new sorting terms.
- Implemented a SortDropdown component for improved user experience in task management.
- Integrated sorting state management in the task management slice for better data handling.
2025-07-28 15:45:12 +05:30
chamikaJ
703a6425fe feat(surveys): add survey tables and initial data for account setup questionnaire
- Created tables for surveys, survey questions, survey responses, and survey answers to support the account setup process.
- Added default account setup survey and corresponding questions to the database.
- Implemented necessary indexes and constraints for data integrity and performance.
2025-07-28 15:17:21 +05:30
Chamika J
e2c9e19b83 Merge pull request #300 from Worklenz/fix/reporting-sidebar-style-fix
refactor(survey-submission): update validation logic and submission d…
2025-07-28 15:08:43 +05:30
chamikaJ
e2a749e0b6 refactor(survey-submission): update validation logic and submission data handling
- Modified the survey submission validator to make both answer_text and answer_json optional, allowing users to submit empty answers.
- Refactored the SurveyPromptModal component to only include answered questions in the submission data, improving data handling and clarity.
2025-07-28 15:07:09 +05:30
Chamika J
2c0b0ac4c5 Merge pull request #299 from Worklenz/fix/reporting-sidebar-style-fix
Fix/reporting sidebar style fix
2025-07-28 14:55:11 +05:30
chamikaJ
dd511b236f refactor(reporting-layout): streamline sidebar and content layout
- Replaced the existing sidebar implementation with a new ReportingSider component that accepts collapse state and toggle function as props.
- Simplified the ReportingCollapsedButton component for better readability and functionality.
- Updated layout styles to enhance responsiveness and maintain consistent margins.
- Removed unused CSS styles related to the sidebar for cleaner code.
2025-07-28 14:54:54 +05:30
chamikaJ
2c860b0cc8 feat(localization): update password-related translations in German and Spanish signup forms
- Translated password labels, guidelines, placeholders, and validation messages to improve user experience in both languages.
- Ensured consistency in terminology and clarity in password requirements for better user understanding.
2025-07-28 14:17:41 +05:30