- Modified the `_should_skip_file` function to prevent skipping of documents with a FAILED status, ensuring they are reprocessed even if their content remains unchanged.
- Added a new integration test to verify that FAILED documents are not skipped during the indexing process.
- Introduced integration tests for Calendar, Drive, and Gmail indexers to ensure proper document creation and migration.
- Added tests for batch indexing functionality to validate the processing of multiple documents.
- Implemented tests for legacy document migration to verify updates to document types and hashes.
- Enhanced test coverage for the IndexingPipelineService to ensure robust functionality across various document types.
- Added `download_and_extract_content` function to extract content from Google Drive files as markdown.
- Updated Google Drive indexer to utilize the new content extraction method.
- Implemented document migration logic to update legacy Composio document types to their native Google types.
- Introduced identifier hashing for stable document identification.
- Improved file pre-filtering to handle unchanged and rename-only files efficiently.
- Changed litellm dependency to a specific version (1.80.10).
- Updated grpcio and protobuf dependencies in uv.lock to support different Python versions.
- Added sdist URLs for grpcio, griffe, and griffecli packages in uv.lock.
Resolve 8 conflicts:
- Accept upstream deletion of 3 composio_*_connector.py (unified Google connectors)
- Accept our deletion of ElectricProvider.tsx, use-connectors-electric.ts,
use-messages-electric.ts (replaced by Zero equivalents)
- Keep both new deps in package.json (@rocicorp/zero + @slate-serializers/html)
- Regenerate pnpm-lock.yaml
- Default to Docker service networking (http://frontend:3000) in both
compose files — works when all services run in Docker
- Add extra_hosts (host.docker.internal:host-gateway) for cross-platform
host access when running frontend outside Docker
- Document override examples in .env.example for local dev and
custom domain setups
- Replace `any` props type with `React.ComponentProps<"svg">` plus explicit named props
- Replace `any` tuple type with `[number, number]` in squares mapper
Closes#912
Moves the RolePermissionsDialog trigger to wrap only the text content
area instead of the entire card. The dropdown menu is now a sibling,
not nested inside the dialog button. Removes stopPropagation hacks.
Fixes#921
- Implemented dynamic import for HeroCarousel to improve loading performance.
- Added IntersectionObserver to manage video playback based on visibility.
- Removed unused video prefetching logic and adjusted autoplay conditions.
- Updated button styles for better consistency and user experience.