Skip to content

Conversation

@iptoux
Copy link
Owner

@iptoux iptoux commented Apr 20, 2025

Description

This pull request updates the application version to 1.7.0, introducing key features and improvements primarily around task management and account handling.

Changes

  • Task management:

    • Introduced task decryption using AES-GCM for secure and user-readable task descriptions.
    • Added a new TaskMigrationComponent with encryption and progress tracking.
    • Added a route for task migration and extended the task interface to include additional metadata.
    • Refactored task display logic by introducing a view-model for decrypted task descriptions, improving UI maintainability.
    • Removed unused methods and code components to enhance clarity and maintainability.
  • Account handling:

    • Updated account navigation flow to redirect to the task migration route upon creation.
    • Added AccountService functionality for retrieving decryption keys and notifying account changes.
    • Improved account-based components with avatar updates, validation refinements, and better modularity.

Version Changes

  • Bumped the package version to 1.7.0 to reflect the new features and architectural improvements.
  • Ensured compatibility with updated dependencies and removed obsolete imports.

Related Tasks Checklist

  • Ensure seamless task migration process.
  • Verify encrypted/decrypted data synchronization.
  • Confirm proper account flow and validation.

Notes

This version emphasizes user-centric improvements in task handling and account management. Further tests should validate encryption workflows and UI responsiveness under varied

iptoux added 28 commits April 18, 2025 11:33
Introduces the InitialChoiceComponent, including its HTML, CSS, and TypeScript files, along with a basic test suite. This sets up the initial structure for further development of the component.
Implemented an interface and UI for selecting Offline or Online modes during the initial setup. Integrated dark mode compatibility, countdown timer, and navigation logic based on user choice, updating settings accordingly.
Introduced a new tasks page with related components, styling, and tests. Updated app routes to include the tasks page and adjusted the app layout to use `router-outlet` for dynamic page rendering. Slightly modified global styles for better layout consistency.
Introduced a new CreateAccountComponent, including HTML template, CSS, TypeScript logic, and unit test. The component handles different modes ('local' and 'online') based on route parameters, initializing forms accordingly.
The InitialChoiceComponent import was no longer in use and has been removed to clean up the codebase. This helps improve clarity and reduces unnecessary dependencies.
Replaced placeholder text with a functional UI for account creation, including username, password, and avatar inputs. Integrated dark mode styling through a service and added responsive CSS adjustments. Improved component modularity with updated imports and reactive capabilities.
The 'inject' import was not being used in the create-account component and has been removed to clean up the code. This improves readability and reduces unnecessary imports.
Updated the UI to include avatar input and improved setup instructions for clarity. Added functionality in the component to handle avatar during account creation using the AccountService.
Introduced `AccountService` to handle account creation. Implemented methods for creating local and remote accounts, with logic branching based on account type. Added a unit test to ensure the service is created successfully.
Replaced template-driven forms with reactive forms for better validation and state management in account creation. Introduced offline/online account distinction and added validation messages and file handling for avatars. Enhanced the account service to notify users and route upon successful account creation.
Switched from 'touched' to 'dirty' in the account creation form to improve validation accuracy. This ensures error messages are displayed only when the user interacts and modifies the input field.
Implemented a method to resize avatars to 128x128 pixels for consistency during account creation. Added error handling for resizing failures and introduced a `loadLocalAccount` method to retrieve stored account data from local storage.
Introduced `Account` interface and `AccountService` to manage user account data. Now loading the local user account if the initial choice is offline and passing the account information to the footer component via input binding. This improves user-specific functionality and prepares the app for account-aware features.
Replaced static icons with dynamic user avatar and logout functionality in the footer. Added logic to handle avatar retrieval and decoding, with a fallback to a default avatar if necessary. Enhanced tooltip to display the username for better user context.
The NgOptimizedImage import was unnecessary and has been removed to clean up unused code. This improves maintainability and avoids potential confusion in the future.
Commented out the logout icon in the footer for a cleaner design and replaced the default avatar image from PNG to a new SVG file. This ensures improved scalability and visual quality for the default avatar.
Implement new Feature online/offline selection
Implemented an `accountChanged` EventEmitter in AccountService to emit updates when the account changes or is loaded from local storage. Updated AppComponent to subscribe to these changes and synchronize the user account accordingly.
Introduced a getSecret method to retrieve the account password safely. Updated the navigation path for account creation to redirect to the '/tasks/migration' route instead of the root. These changes improve functionality and refine user flow.
This commit introduces a new TaskMigrationComponent to handle task migrations with AES-GCM encryption for secure data storage. It includes a progress tracker, dark mode styling, and test cases for component validation. Tasks are processed sequentially with a simulated delay, and users are redirected upon completion.
Added a new 'tasks/migration' route and its associated component for handling task migrations. Extended the Task interface to include optional properties 'decryptedDescription' and 'owner' to support enhanced task details.
Implemented decryption logic for task descriptions to ensure they are displayed in their decrypted form. Integrated `AccountService` for retrieving the decryption key and updated the task subscription to handle decryption asynchronously.
The decryptTaskDesk method was no longer being used and has been removed to clean up the code. This simplifies the component and eliminates unnecessary complexity, improving maintainability.
Add task migration component and enhance task management
Introduce a specific `displayTasks` view-model to manage decrypted task descriptions separately from original data. This enhances separation of concerns, optimizes UI updates, and ensures better maintainability. The drag-and-drop functionality was updated to handle both the original and display arrays in sync.
Refactor task display with encrypted description handling
This version bump reflects changes made to the application. Ensure dependencies and functionality align with the updated version.
@iptoux iptoux self-assigned this Apr 20, 2025
@iptoux iptoux added the enhancement New feature or request label Apr 20, 2025
@iptoux iptoux added done Ticket/Work done. update Update Branch discuss Discuss about a idea or somthing other review Ticket/Steps need to be review/tested feature A new feature for the app labels Apr 20, 2025
@iptoux iptoux added this to the SaaS milestone Apr 20, 2025
@iptoux iptoux merged commit 0246ec6 into main Apr 20, 2025
3 checks passed
@iptoux iptoux mentioned this pull request Apr 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

discuss Discuss about a idea or somthing other done Ticket/Work done. enhancement New feature or request feature A new feature for the app review Ticket/Steps need to be review/tested update Update Branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants