- Added redirect functionality to the LoginForm component, allowing for dynamic redirection after login.
- Updated PublicInternetConfigure and PublicSimConfigure views to utilize modals for user authentication, improving user experience by avoiding full-page redirects.
- Enhanced PublicInternetPlans and PublicSimPlans views with updated button labels for clarity and consistency.
- Refactored plan configuration views to display detailed plan information and prompt users for account creation or login, streamlining the onboarding process.
- Added new fields for internet eligibility in the environment validation schema to support Salesforce integration.
- Updated CatalogCdcSubscriber to extract and handle additional eligibility details from Salesforce events.
- Refactored InternetEligibilityController to return detailed eligibility information, improving user experience.
- Enhanced CatalogCacheService with a new method for setting eligibility details, optimizing cache management.
- Updated InternetCatalogService to retrieve and process comprehensive eligibility data, ensuring accurate service availability checks.
- Improved public-facing components to reflect the new eligibility status and provide clearer user guidance during the checkout process.
- Introduced ResidenceCardSubmission model to handle user submissions of residence cards, including status tracking and file management.
- Updated User model to include a relation to ResidenceCardSubmission for better user data management.
- Enhanced the checkout process to require residence card submission for SIM orders, improving compliance and verification.
- Integrated VerificationModule into the application, updating relevant modules and routes to support new verification features.
- Refactored various components and services to utilize the new residence card functionality, ensuring a seamless user experience.
- Updated public-facing views to guide users through the residence card submission process, enhancing clarity and accessibility.
- Added an availability confirmation step in the checkout process for internet orders, ensuring users verify service eligibility before proceeding to payment.
- Updated the CheckoutWizard component to conditionally include the new AvailabilityStep based on the order type.
- Refactored AddressStep to navigate to the AvailabilityStep for internet orders, improving user flow.
- Enhanced the checkout store to track internet availability requests and updated the state management for better handling of checkout steps.
- Updated relevant schemas and documentation to reflect the new checkout flow and requirements.
- Introduced InternetEligibilityController to handle user eligibility checks for internet services.
- Enhanced InternetCatalogService with methods for retrieving and requesting internet eligibility.
- Updated catalog.module.ts to include the new InternetEligibilityController.
- Refactored various components and views to utilize the new eligibility features, improving user experience and service accessibility.
- Adjusted routing paths and links to align with the new catalog structure, ensuring seamless navigation for users.
- Further refined the account portal structure by updating existing components and enhancing their functionality.
- Improved routing paths to ensure better navigation and accessibility within the account portal.
- Enhanced user experience by integrating additional features and optimizing existing ones for seamless interaction.
- Introduced a new plan for restructuring the account portal, resulting in over 60 file operations including the addition of new components and the deletion of outdated routes.
- Updated various components to enhance user experience, including the addition of AccountRouteGuard and AccountDashboardPage.
- Refactored routing paths to align with the new account structure, ensuring seamless navigation across billing, orders, and support sections.
- Enhanced the checkout process by integrating new components and improving error handling for better user feedback.
- Updated public-facing features to streamline contact and support functionalities, improving accessibility for users.
- Added commands to stage modified tracked files and run lint-staged for auto-fixing issues.
- Included a type check step to ensure code quality before commits.
- Integrated CheckoutRegistrationModule into the application for handling checkout-related functionalities.
- Updated router configuration to include the new CheckoutRegistrationModule for API routing.
- Enhanced SalesforceAccountService with methods for account creation and email lookup to support checkout registration.
- Implemented public contact form functionality in SupportController, allowing unauthenticated users to submit inquiries.
- Added rate limiting to the public contact form to prevent spam submissions.
- Updated CatalogController and CheckoutController to allow public access for browsing and cart validation without authentication.
- Updated various components to utilize the latest color tokens, improving visual coherence across the application.
- Enhanced error and status messaging styles for better user feedback and clarity.
- Streamlined layout components to align with the new design tokens, ensuring a unified look and feel.
- Improved overall styling consistency by adopting standardized color usage in key components.
- Removed legacy color aliases from globals.css to streamline design tokens.
- Updated various components, including Badge, Button, Checkbox, and Input, to utilize new color tokens for error states.
- Enhanced error messaging styles in components like ErrorBoundary and AlertBanner for better visual coherence.
- Standardized color usage in billing and subscription components to align with updated design tokens.
- Improved overall styling consistency across the application by adopting the new color system.
- Updated globals.css to streamline design tokens and enhance semantic color usage across the application.
- Refined error and loading components to utilize new color tokens for better visual coherence.
- Adjusted various components, including AppShell, Header, and Sidebar, to align with updated design tokens and improve styling consistency.
- Enhanced utility classes in utilities.css to reflect the consolidated color system and improve component styling.
- Improved documentation in tokens.css to clarify the purpose and structure of design tokens.
- Updated InvoiceStatusBadge to include iconColor for better visual representation of statuses.
- Enhanced BillingSummary and PaymentMethodCard components with consistent color tokens and improved layout.
- Refined DataUsageChart to standardize color usage for data thresholds and loading states.
- Updated SubscriptionDetails and SubscriptionStatusBadge for consistent text colors and improved user feedback.
- Adjusted CardBadge styles to align with new design tokens for better visual coherence.
- Refactored DashboardView to integrate new TaskList, QuickStats, and ActivityFeed components for enhanced task management and user engagement.
- Updated global styles in tokens.css to standardize color usage and improve accessibility across the application.
- Adjusted color tokens for better visual coherence, including updates to brand and semantic colors.
- Enhanced loading states and skeleton screens for a smoother user experience during data fetching.
- Updated global styles to enhance color usage and contrast across the application.
- Refined input components for better accessibility and visual feedback.
- Enhanced layout components with consistent padding and margins for a cleaner look.
- Improved card and button styles to align with the new design tokens.
- Standardized text colors and hover effects for better user interaction.
- Updated various components to use consistent color tokens, improving visual coherence.
- Refactored layout components to utilize the new PublicShell for better structure.
- Enhanced error and status messaging styles for improved user feedback.
- Standardized button usage across forms and modals for a unified interaction experience.
- Introduced new UI design tokens and guidelines in documentation to support future development.
- Upgraded `@eslint/js` and `eslint` to version 9.39.2 for improved linting capabilities.
- Updated `zod` to version 4.2.0 in various dependencies to ensure compatibility and access to the latest features.
- Standardized quotes in `pnpm-lock.yaml` and `pnpm-workspace.yaml` for consistency.
- Removed obsolete `~$MPLETE-GUIDE.docx` file from the documentation directory.
- Updated type definitions in PersonalInfoCard to use UserProfile instead of ProfileDisplayData, enhancing clarity.
- Simplified onChange function to restrict fields to "email" and "phonenumber".
- Modified UI to indicate that first and last names cannot be changed from the portal.
- Adjusted useProfileData hook to focus on email management, removing firstname and lastname from state and update logic, streamlining profile updates.
- Added support for custom fields in WHMCS, including customer number, gender, and date of birth, to the environment validation schema.
- Updated the signup workflow to handle new fields for date of birth and gender, ensuring they are included in the client creation process.
- Implemented email update functionality in the user profile service, allowing users to change their email while ensuring uniqueness across the portal.
- Enhanced the profile edit form to include fields for date of birth and gender, with appropriate validation.
- Updated the UI to reflect changes in profile management, ensuring users can view and edit their information seamlessly.
- Improved error handling and validation for user profile updates, ensuring a smoother user experience.
- Introduced a new "Portal Guides" section in the README and docs/README.md to provide high-level overviews and detailed explanations of various portal functionalities, including accounts, catalog, orders, billing, subscriptions, and support cases.
- Updated the main README to link to the new portal guides for better navigation and user guidance.
- Introduced `DomainHttpException` to standardize HTTP error responses with explicit domain error codes.
- Refactored `UnifiedExceptionFilter` to extract detailed exception information, including optional explicit error codes.
- Updated `WhmcsErrorHandlerService` to utilize `DomainHttpException` for better error normalization and handling.
- Removed deprecated error pattern matching logic to enforce explicit error codes in the system.
- Enhanced logging in `WhmcsHttpClientService` to differentiate between expected business outcomes and actual errors.
- Updated environment validation to enable Salesforce events by default, improving real-time cache invalidation.
- Modified `CatalogCdcSubscriber` to conditionally subscribe to CDC channels based on the new configuration, enhancing flexibility for high-volume scenarios.
- Improved message serialization in `RealtimeService` to ensure valid JSON for browser EventSource.
- Adjusted cache control headers in `CatalogController` to prevent browser caching, ensuring real-time data accuracy.
- Enhanced `RealtimeController` with connection limiting and improved logging for better monitoring of real-time streams.
- Updated health check endpoint in production management script for consistency.
- Removed unnecessary import of `MessageEvent` from `@nestjs/common` in `realtime.types.ts`.
- Updated `realtime.pubsub.ts` to import `OnModuleDestroy` and `OnModuleInit` as types, improving clarity and consistency in type usage.
- Added a note in `realtime.types.ts` to clarify the non-generic nature of `MessageEvent` in the current setup, ensuring better understanding of shared type definitions.
- Added `RealtimeModule` and `RealtimeApiModule` to the BFF application for improved real-time capabilities.
- Updated `CatalogCdcSubscriber` and `OrderCdcSubscriber` to utilize `RealtimeService` for publishing catalog and order updates, ensuring instant notifications across connected clients.
- Enhanced `OrderEventsService` to leverage `RealtimeService` for order event subscriptions, improving reliability across multiple BFF instances.
- Introduced `AccountEventsListener` in the portal layout to handle real-time account updates.
- Removed stale time and garbage collection settings from several hooks to streamline data fetching processes.
- Added '*.tar.gz.sha256' to .gitignore to exclude SHA256 checksum files from version control.
- Updated SHA256 checksums for the latest portal backend and frontend tar.gz files to reflect new builds.
- Enhanced address handling in `useAddressEdit`, `useProfileData`, and `AddressConfirmation` components to invalidate catalog queries upon address updates, ensuring accurate server-personalized results.
- Introduced new query key for catalog queries in the API to streamline cache management.
- Updated the `useCreatePaymentMethodsSsoLink` function to use the new API endpoint `/api/auth/sso-link` for SSO link creation, ensuring alignment with the latest API structure.
- Changed the API endpoint from `/auth/sso-link` to `/api/auth/sso-link` in the `useCreatePaymentMethodsSsoLink` function to align with the updated API structure.
- Added 'dist2/' to .gitignore to exclude additional build outputs.
- Updated environment validation schema to include optional support for Salesforce private key in base64 format, improving flexibility in configuration.
- Updated SHA256 checksums for the latest portal backend and frontend tar.gz files to reflect new builds.
- Introduced a new development script (`dev-watch.sh`) for the BFF application to streamline TypeScript building and aliasing during development.
- Refactored the `package.json` scripts in the BFF application to improve development workflow and added new watch commands.
- Enhanced the Salesforce connection service to support private key handling via environment variables, improving security and flexibility in configuration.
- Updated SHA256 checksums for the latest portal backend and frontend tar.gz files to reflect new builds.
- Modified Dockerfile in both BFF and Portal applications to include additional TypeScript configuration files, improving build accuracy and consistency.
- Enhanced the docker-entrypoint.sh script to utilize the updated Prisma configuration for migrations, ensuring compatibility with the latest Prisma CLI changes.
- Improved error handling in Salesforce connection service to validate private key formats more robustly, enhancing security during JWT assertion creation.
- Changed health check endpoint from `/api/health` to `/_health` in Dockerfile and docker-compose.yml for consistency.
- Removed the now obsolete health check route file from the API.
- Updated TypeScript configuration to exclude the `.next` directory, improving build performance and clarity.
- Enhanced documentation in proxy.ts to reflect the updated health check endpoint.
- Introduced support for previous JWT secrets in the environment configuration to facilitate key rotation.
- Refactored the JoseJwtService to manage multiple signing and verification keys, improving security during token validation.
- Updated the AuthTokenService to include family identifiers for refresh tokens, enhancing session management and security.
- Modified the PasswordWorkflowService and SignupWorkflowService to return session metadata instead of token strings, aligning with security best practices.
- Improved error handling and token revocation logic in the TokenBlacklistService and AuthTokenService to prevent replay attacks.
- Updated documentation to reflect changes in the authentication architecture and security model.
- Introduced optional JWT issuer and audience configurations in the JoseJwtService for improved token validation.
- Updated CSRF middleware to streamline token validation and enhance security measures.
- Added new environment variables for JWT issuer and audience, allowing for more flexible authentication setups.
- Refactored CSRF controller and middleware to improve token handling and security checks.
- Cleaned up and standardized cookie paths for access and refresh tokens in the AuthController.
- Enhanced error handling in the TokenBlacklistService to manage Redis availability more effectively.
- Enhanced ESLint configuration to better support TypeScript file patterns and added centralized dependency versions using pnpm catalogs.
- Updated TypeScript configurations across applications to utilize new file structure and improved type inference with Zod.
- Refactored domain modules to replace deprecated type inference methods, ensuring better type safety and consistency.
- Cleaned up package.json files to standardize dependency versions and improve overall project maintainability.
- Modified ESLint configuration to support file patterns for TypeScript files.
- Updated TypeScript configurations across multiple applications to use ES2024 and enable composite builds.
- Refactored type inference in domain modules to utilize Zod's infer type for better type safety.
- Enhanced utility functions to handle various data types more robustly, improving overall code quality.
- Removed Passport.js integration from the authentication module, replacing it with a custom implementation for local and JWT authentication.
- Introduced a new `JoseJwtService` for handling JWT operations, enhancing security and flexibility.
- Updated the Dockerfile and entrypoint scripts to streamline Prisma client generation and migration commands.
- Cleaned up package.json files by removing unused dependencies and ensuring consistency across applications.
- Enhanced SFTP configuration with optional host key fingerprint for improved security.
- Updated test files to reflect changes in the authentication logic and added necessary imports for Jest.
- Added support for Next.js ESLint plugin and React Hooks in the ESLint configuration.
- Updated package.json to include the latest versions of Next.js and related dependencies.
- Removed outdated ESLint configuration files from the BFF and Portal applications.
- Enhanced .gitignore to exclude additional TypeScript build info files.
- Cleaned up pnpm workspace configuration for better package management.
- Added .stack.env to .gitignore for better environment management.
- Updated health check commands in docker-compose.yml to use Node.js fetch for improved reliability.
- Introduced env.example file for clearer environment variable setup in Portainer.
- Updated README to reflect changes in environment variable management.
- Added .env.development to .gitignore for better environment management.
- Introduced new dev script in package.json for streamlined application development.
- Updated Prisma migration commands in docker-entrypoint.sh for improved schema handling.
- Enhanced logging configuration in logging.module.ts to support pretty logs based on environment.
- Refactored app.config.ts to prioritize environment file loading for better configuration management.
- Removed outdated test files and configurations to clean up the project structure.
- Added sharp dependency for image processing in package.json.
- Updated argon2 dependency version to 0.44.0 for enhanced security.
- Removed unused @nestjs/jwt dependency and refactored authentication module to utilize JoseJwtService for JWT handling.
- Adjusted type definitions for @types/node and @types/pg to ensure compatibility across applications.
- Cleaned up package.json files in BFF and Portal applications for consistency and improved dependency management.
- Added TypeScript, @types/node, and zod dependencies with specific versions to ensure compatibility across applications.
- Standardized dependency versions in package.json files for BFF, Portal, and Domain applications to maintain consistency.
- Removed outdated dependency specifications to streamline package management.
- Replaced bcrypt with argon2 for password hashing and verification in the authentication workflow, enhancing security.
- Updated JWT signing implementation to use the jose library for improved token management.
- Removed outdated bcrypt dependencies from package.json and pnpm-lock.yaml, and added argon2 and jose.
- Adjusted pnpm-workspace.yaml to reflect changes in onlyBuiltDependencies, ensuring better package management.
- Removed the @nestjs/throttler package and replaced it with a custom rate limiting solution using rate-limiter-flexible for enhanced control and flexibility.
- Updated relevant controllers and services to utilize the new rate limiting approach, ensuring consistent request handling across authentication and catalog endpoints.
- Cleaned up unused throttler configuration files and guards to streamline the codebase.
- Updated package.json and pnpm-lock.yaml to reflect the removal of outdated dependencies and improve overall package management.
- Updated the @types/node dependency in package.json and pnpm-lock.yaml to version 24.10.3 for improved type definitions.
- Modified Docker entrypoint scripts to use `pnpm dlx` for Prisma commands, ensuring consistency in package management.
- Updated SHA256 checksums for the latest backend and frontend tarballs to reflect recent changes.
- Updated SHA256 checksums for the latest backend and frontend tarballs.
- Modified the Dockerfile for the BFF application to regenerate the Prisma client in the production layout, ensuring the embedded schema path is correct.
- Adjusted package scripts to use `pnpm` consistently for build and analysis commands, improving clarity and consistency across the project.
- Updated Dockerfiles for BFF and Portal to optimize dependency installation and build processes, focusing on specific package filters.
- Enhanced Next.js configuration to improve security headers and Content Security Policy for development environments.
- Adjusted Docker Compose files to support dynamic image tagging for better version control.
- Cleaned up deployment scripts to include environment variable management for image tagging.