- Added setup_electric_replication function to handle Electric SQL replication for the notifications table during app startup.
- Updated alembic migration script to remove direct SQL commands for replication, now managed in app/db.py.
- Refactored indexing functions in search_source_connectors_routes to support new start_date and end_date parameters for improved flexibility.
- Enhanced Google Gmail indexing task to utilize new date parameters, ensuring better control over indexing periods.
- Removed Badge component from NotificationPopup and replaced it with status icons for better visual representation.
- Refactored getStatusBadge to getStatusIcon for clarity and updated icon sizes.
- Enhanced useNotifications hook to utilize a ref for initialization tracking, improving performance and preventing unnecessary re-initializations.
- Optimized notification fetching logic with improved error handling and real-time updates using Electric SQL.
- Adjusted loading state management to ensure UI responsiveness during data fetching.
- Added notifications table to the database schema with replication support for Electric SQL.
- Developed NotificationService to manage indexing notifications, including creation, updates, and status tracking.
- Introduced NotificationButton and NotificationPopup components for displaying notifications in the UI.
- Enhanced useNotifications hook for real-time notification syncing using PGlite live queries.
- Updated package dependencies for Electric SQL and improved error handling in notification processes.
- Added initialization script for Electric SQL user in Docker setup.
- Updated Electric SQL client to support new PGlite architecture and sync functionality.
- Improved notification fetching and syncing logic in useNotifications hook.
- Refactored ElectricProvider to handle initialization state and errors more gracefully.
- Removed deprecated electric.config.ts file and adjusted package dependencies accordingly.
- Added Electric SQL service to docker-compose for real-time data synchronization.
- Introduced PostgreSQL configuration for logical replication and performance tuning.
- Created scripts for initializing Electric SQL user and electrifying tables.
- Implemented notification model and service in the backend.
- Developed ElectricProvider and useNotifications hook in the frontend for managing notifications.
- Updated environment variables and package dependencies for Electric SQL integration.
- Added state management to track if the user came from the accounts list when entering edit mode in the connector dialog.
- Updated the back navigation logic to restore the accounts list view if applicable.
- Improved the UI of the accounts list view with a new back button and enhanced connector header layout for better user experience.
- Updated date handling in indexing functions to permit future dates for Google Calendar and Luma connectors.
- Enhanced UI components to support future date selection, including a new button for selecting the next 30 days.
- Adjusted documentation and descriptions to clarify date range options for users.
- Implemented a function to return the current hour for lastModified timestamps in the sitemap.
- Added multiple new URLs to the sitemap, including documentation and connector pages.
- Integrated tracking for search space invite events, including sent, accepted, declined, and user added events.
- Enhanced connector management with tracking for connection, deletion, and indexing events.
- Added ClickUp OAuth authentication flow with new environment variables for client ID, client secret, and redirect URI.
- Introduced ClickUpHistoryConnector to manage OAuth-based authentication and token refresh for ClickUp API access.
- Created ClickUp connector routes for OAuth flow, including authorization and callback handling.
- Updated indexing logic to utilize the new ClickUpHistoryConnector, supporting both OAuth and legacy API token methods.
- Enhanced frontend components to reflect the new ClickUp integration and removed legacy API token forms.
Active Connectors tab:
- Group OAuth connectors by type (Gmail, Google Drive, etc.)
- Show account count badge on grouped cards
- Show most recent last indexed date across all accounts
- Show non-OAuth connectors individually with active task messages
All Connectors tab:
- Show most recent last indexed date for OAuth connector types
- Check if any account is indexing for OAuth types
Accounts List View:
- Remove document count from individual account cards
- Back button returns to previous tab (not always All Connectors)
General:
- Update handleViewAccountsList to use (connectorType, connectorTitle) signature
- Consistent behavior for viewing accounts from both tabs
Backend:
- Add connectorId to OAuth redirect URLs in all 10 connector routes
- Enables frontend to identify the specific connector created
Frontend:
- Update OAuth success handler to use connectorId for finding new connector
- Set connectorId in URL when transitioning to configure view
- Add connectorId support in URL sync effect for page refresh
- Consolidate handleAddAccountOAuth into handleConnectOAuth
- Update indexing config view to show connector type and display name
- Create ConnectorAccountsListView component to show all connected accounts for a connector type
- Add state management in use-connector-dialog for viewing connector accounts list
- Update AllConnectorsTab to show accounts list when OAuth connector is connected
- Update connector-popup.tsx to render the new accounts list view
- Add 'accounts' view to connector popup URL schema
- Display connected accounts in 2-column grid layout
- Add 'Add Account' button with dashed border in header
- Added logic to track previous user ID to detect changes and reset tour state accordingly.
- Updated localStorage checks to ensure the onboarding tour is displayed only for new users who haven't seen it.
- Improved validation logic to prevent auto-marking the tour as seen if the user has existing data.
- Integrated user data fetching and validation to determine if the onboarding tour should be displayed.
- Improved checks for user status by evaluating threads, documents, and connectors to identify new users.
- Added localStorage management to track whether users have completed or skipped the tour.
- Refactored the tour initiation logic to ensure it only runs when all necessary data is loaded and available.
- Updated tooltip and spotlight styles for improved visibility and animation.
- Adjusted background and text colors based on dark mode settings for better user experience.
- Introduced animation for tooltip content changes to enhance user engagement.
- Refactored rendering logic to ensure spotlight updates sync with tooltip animations.
- Updated onboarding tour messages to include Gmail and Drive for better clarity.
- Refactored Spotlight component to enhance element targeting and prevent flickering.
- Optimized rendering logic for Spotlight and TourTooltip to ensure they only display when target data is available.
- Introduced the OnboardingTour component to guide users through key features.
- Integrated the OnboardingTour into the DashboardClientLayout for improved user experience.
- Updated connector popup and sidebar navigation with data attributes for tour steps.
- Removed the react-markdown dependency from package.json and pnpm-lock.yaml.
- Introduced a constant for editable document types in RowActions component to streamline edit functionality.
- Updated RowActions to conditionally render edit options based on document type, improving user experience.