- Introduced `DocsPageSeparators` component to manage visual gaps between pages in the document editor.
- Updated `DocsBodyMarginMasks` to include dark mode support for improved styling.
- Refactored `DocsPageViewInner` to integrate new separators and margin masks, enhancing layout consistency.
- Adjusted layout constants to increase the gap between stacked pages for better visual separation.
- Improved test coverage for page flow calculations and layout metrics.
- Replaced suite page metadata with drive-specific metadata for document and drawing editors.
- Introduced new `driveEditorPageMetadata` function to manage titles and favicons based on editor type.
- Updated layout components for document and drawing editors to utilize the new metadata structure.
- Enhanced document title handling in various editor components to reflect the current editing context.
- Added new SVG icons for UltiDocs, UltiSheets, UltiSlides, and UltiDraw to improve visual consistency across editors.
- Improved print styles and layout handling for better document rendering in print and PDF formats.
- Replaced legacy components with new `SettingsCard`, `SettingsField`, and `SettingsToggleRow` for a unified design.
- Enhanced `AdminListControls` to support compact mode and improved pagination controls.
- Updated various sections including `AiAssistantSection`, `AuthenticationSection`, and `DriveMountOAuthSection` to utilize new components, streamlining the settings interface.
- Improved accessibility and user experience across admin settings with clearer labels and hints.
- Deprecated old components while maintaining backward compatibility for existing admin sections.
- Introduced new components for managing admin settings, including AdminListControls, AdminSettingsCard, and TechBrandSelectLabel.
- Implemented dynamic loading for admin settings sections to optimize performance.
- Enhanced the layout of various admin settings sections for better user experience.
- Updated the AiAssistantSection to include LLM provider management and improved model selection.
- Refactored authentication settings to streamline configuration and improve accessibility.
- Added `useAiIframeNavigation` hook to manage iframe navigation and enforce base paths.
- Introduced `useAiIframeExternalLinks` hook to handle external link opening in the parent tab.
- Updated `AiChatIframe` component to utilize the new hooks for improved user experience.
- Added support for managing AI models within the AI assistant settings.
- Introduced new hosted mail setup component for streamlined email configuration.
- Updated environment variables for local development and proxy settings.
- Enhanced error handling and user feedback in the chat page for API connectivity issues.
- Improved routing for AI-related API calls in the Next.js configuration.
- Added documentation for local development and agent management in CLAUDE.md.
- Introduced `driveMountExternalURLApiPath` function to generate API paths for external file URLs.
- Enhanced `DriveFileInfo` interface with new properties for cloud mount providers and external URLs.
- Implemented functions to determine if a mounted file should open externally and to resolve external URLs.
- Updated existing components to utilize the new external URL functionality for improved user experience when opening cloud documents.
- Added support for managing shared drives within the MigrationProjectsPanel.
- Implemented functionality to approve and reject shared drives.
- Introduced roster import feature for bulk email invitations with alternate email support.
- Updated state management to handle new roster and shared drive functionalities.
- Enhanced UI components for better user experience during migration processes.
- Added OnboardClaimPage and OnboardMigrationPage components for user onboarding.
- Integrated OAuth login flow for Google and Microsoft accounts.
- Implemented error handling and user feedback for claim and migration processes.
- Created MigrationStepList and MigrationOnboardingAlerts components for progress tracking.
- Added MailDomainsSection and MigrationProjectsPanel for admin settings.
- Introduced e2e tests for onboarding migration scenarios.
- Introduced turbopack alias for canvas in next.config.mjs.
- Updated package.json scripts for development and branding tasks.
- Added new dependencies for Tiptap extensions.
- Implemented new demo layouts for agenda, contacts, drive, and mail applications.
- Enhanced globals.css for improved theming and splash screen animations.
- Added OAuth callback handling for drive mounts.
- Updated layout components to integrate new demo shells and improve structure.
- Added SessionGuard component to manage session expiration and online status.
- Updated AuthProvider to streamline session fetching and handling.
- Introduced IdentityProvidersSection for managing OAuth, SAML, and LDAP identity providers.
- Implemented identity provider guides for easier configuration.
- Enhanced mail settings with infinite scroll option for improved user experience.
- Updated global styles and layout components for better consistency across the application.
- Upgraded Next.js from 16.2.6 to 16.2.7 in package.json and pnpm-lock.yaml.
- Modified TypeScript environment import path in next-env.d.ts for consistency with the new structure.
- Updated .env.example to include configuration for OnlyOffice Document Server.
- Modified the workspace configuration to remove the drive-suite path.
- Adjusted TypeScript environment imports for consistency.
- Enhanced Next.js configuration to disable canvas in Webpack.
- Updated package.json to include new dependencies for OnlyOffice and PDF.js.
- Added global styles for OnlyOffice theme integration in the CSS.
- Created new layout and page components for the Drive feature, including public sharing and editing functionalities.
- Updated metadata handling across various layouts to reflect the new app structure.
- Introduced new ContactAvatar and ContactAvatarPicker components for enhanced avatar management in contact views.
- Updated ContactDetailView and ContactFormView to utilize the new avatar components, improving user experience when adding or editing contacts.
- Enhanced ContactHoverCard and ContactRow components to display avatars, providing a more visually appealing interface.
- Added loading and error states in ContactsListView for better user feedback during data fetching.
- Implemented a new ContactsLoadState component to handle loading and error scenarios in the contacts list.
- Updated package.json to include @formkit/auto-animate for improved UI animations.
- Introduced functions to normalize and analyze snippet text, including checks for legal footers, leading separators, and boilerplate detection.
- Added HTML entity decoding and improved CSS snippet detection.
- Updated the snippet selection logic to better filter and polish previews, ensuring cleaner output for email snippets.
- Created a .cursorignore file to manage local environment files.
- Updated .env.example to reflect changes in the public app URL.
- Modified the gmail workspace configuration to include the drive-suite path.
- Enhanced email view components to support attachment handling and fallback for plain text bodies.
- Improved user experience by updating attachment display logic and integrating inline attachment support.
Move mail, compose, contacts, and accounts off mocks onto REST + WS.
Add client, auth store, IDB-backed query cache, offline queue, and
sync bar; hybrid Zustand for UI-only state. Settings still local until
backend has preferences API.
- Added Playwright as a dependency for end-to-end testing, including necessary scripts in package.json.
- Created a Playwright configuration file to define test settings and browser options.
- Implemented a new GitHub Actions workflow for automated end-to-end testing on push and pull request events.
- Updated .gitignore to exclude Playwright test results and reports.
- Added initial end-to-end tests for mail functionalities, including composing, sending, and searching messages.
- Created CLAUDE.md to outline the vision, architecture, and key features of the Ultimail project, including client and backend responsibilities.
- Added a workspace configuration file for easier project management, linking the frontend and backend directories.
- Introduced CSS animations for splash screen elements including aurora drift, logo float, loader progress, and card breathing effects.
- Implemented a new FirstLaunchSplash component in layout to display the splash screen on the initial app launch.
- Updated theme initialization script to manage splash screen visibility based on local storage state.