-
-
Notifications
You must be signed in to change notification settings - Fork 115
Support GCP Cloud Storage, Responsive Layout Tweaks #475
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Collaborator
JSv4
commented
Sep 5, 2025
- Support AWS, GCP, or local storage via env configuration vars.
- Improved corpus view layout on mobile
- Dramatically improve filter rendering
- Introduced a new STORAGE_BACKEND setting to replace the deprecated USE_AWS, allowing for flexible storage options: LOCAL, AWS, and GCP. - Updated Django settings and application logic to accommodate the new storage backend configuration, ensuring backward compatibility. - Added Google Cloud Storage support, including new storage classes and integration for media and static files. - Enhanced the deployment documentation to include setup instructions for GCP storage. - Implemented tests for storage backend configurations and functionality, ensuring robust handling of different storage options.
- Added detailed instructions for frontend environment setup in the README and frontend configuration documentation. - Introduced a new `DropdownNoStrictMode` component to bypass React Strict Mode warnings in Semantic UI. - Updated various components to improve mobile responsiveness, including adjustments to padding, margins, and font sizes. - Implemented a mobile navigation bar with enhanced styling and functionality for better user experience. - Added tests for the mobile layout of the CorpusHome component to ensure proper rendering and behavior on smaller screens.
- Replaced Semantic UI Dropdown with a custom `DropdownNoStrictMode` component across multiple filter selectors to enhance compatibility with React Strict Mode. - Updated styling for filter labels and dropdowns to create a more modern and cohesive design, including gradient backgrounds and improved spacing. - Enhanced responsiveness and usability of filter components, ensuring better alignment and interaction on various screen sizes. - Adjusted placeholder texts for clarity in user interactions. - Added tests to verify the rendering and functionality of the updated filter components.
- Introduced a new test suite for the FilterLayout component, covering various scenarios including rendering, interaction, and responsiveness. - Implemented tests for individual filter components to ensure proper visibility and functionality, including dropdown selections and mobile behavior. - Utilized mocked GraphQL data to simulate real-world scenarios and validate the rendering of filter options. - Ensured consistent styling and spacing across filter components, enhancing user experience and accessibility.
- Updated the `DoclingParser` class to prioritize service URL configuration from environment variables, pipeline settings, and Django settings, enhancing flexibility and maintainability. - Adjusted the default timeout configuration for the parser to follow the same priority order.
- Expanded the `DocumentKnowledgeBase` component documentation to include details on virtualized rendering, multi-layered state management with Jotai atoms, and intelligent annotation filtering. - Added comprehensive tests for document rendering corner cases, focusing on selection menu positioning and behavior under various viewport conditions.
- Introduced a comprehensive guide for annotation rendering issues, detailing fixed and pending issues, including selection menu positioning on mobile and cumulative height calculation drift. - Implemented fixes for identified issues, including rounding page heights to prevent cumulative drift and enhancing the selection menu's visibility on mobile devices. - Added tests to validate the fixes and ensure accurate annotation positioning across multiple pages, addressing potential rendering inconsistencies.
- Resolved the problem of partial rendering for multi-page annotations by ensuring all relevant pages are mounted when an annotation is selected. - Updated the `PDF` component to track and render all pages of multi-page annotations, enhancing the user experience and accuracy of displayed content. - Added comprehensive tests to validate the fix, ensuring that all pages of multi-page annotations are visible during scrolling and selection. - Updated documentation to reflect the status change of the multi-page annotation rendering issue from pending to completed.
- Resolved race conditions during rapid zoom changes by implementing immediate render cancellation and coordinated debouncing at the PDF component level. - Introduced an `isCancelled` flag in the `PDFPageRenderer` to manage render states effectively and prevent unnecessary renders. - Enhanced performance by reducing canvas resizes and ensuring proper cleanup of abandoned renders. - Updated tests to validate the handling of rapid zoom changes and ensure no excessive renders occur, maintaining a consistent user experience.
- Introduced a detailed documentation section on the zoom flow architecture, outlining state management, input handling, zoom propagation, and rendering optimizations. - Implemented a coordinated rendering system to improve performance during zoom changes, including debouncing and cancellation of in-progress renders. - Added a new image asset for branding in the loading display component, enhancing visual consistency. - Updated the `PDF` and `PDFPage` components to improve layout and ensure accurate rendering of annotations during zoom adjustments. - Enhanced loading display styles for better user experience and responsiveness. - Improved test stability for scroll position maintenance in chat and sidebar components, ensuring consistent behavior during dynamic updates.
- Lifted CRUDModal components for editing and viewing documents, improving user interaction for document management. - Updated the DocumentCards component to enhance layout responsiveness and visual appeal, including a new DropZoneOverlay for file uploads. - Improved the DocumentItem component with a modernized design, including animations and better metadata display. - Enhanced the FloatingDocumentInput and ZoomControls for improved usability and positioning on mobile devices. - Refactored file download functionality to use async/await for better error handling and performance. - Adjusted z-index values across components to ensure proper layering and visibility in the user interface.
- Added long press detection functionality to the SelectionLayer component, enabling users to create selections on touch devices. - Implemented touch event handlers for touch start, move, and end to manage selection behavior and provide haptic feedback. - Enhanced user experience by allowing selection adjustments during long press and ensuring proper cancellation of selections when moving beyond a threshold. - Developed comprehensive tests to validate long press functionality and selection behavior on mobile devices, ensuring reliable interaction.
- Implemented pinch zoom support in the DocumentKnowledgeBase component, allowing users to adjust the document zoom level using two-finger gestures on mobile devices. - Added touch event handlers for touch start, move, and end to manage pinch zoom behavior and prevent default scrolling actions. - Enhanced user experience by providing visual feedback during zoom adjustments and ensuring zoom limits are respected. - Developed comprehensive tests to validate pinch zoom functionality and its interaction with long press selection, ensuring reliable performance on mobile devices.
…ication - Updated `base.py` to read microservice URLs and API keys from environment variables, improving flexibility and security. - Introduced Cloud Run IAM authentication in `MicroserviceEmbedder` and `DoclingParser`, allowing secure access to services with identity tokens. - Enhanced the handling of service URLs and timeouts in `DoclingParser` to prioritize configuration from environment variables and settings. - Added comprehensive logging for authentication processes to aid in debugging and monitoring.
- Introduced a new `layout-architecture.md` file detailing the hierarchical flex-based layout system for the OpenContracts frontend, including core principles, implementation examples, and best practices. - Refactored `App.tsx` to improve layout consistency, ensuring proper flex properties and scroll handling. - Updated `index.css` to enforce height settings across the application for better layout stability. - Enhanced `CorpusCards` and `DocumentCards` components with responsive grid layouts and improved styling for better user experience. - Adjusted various components to ensure proper overflow handling and layout responsiveness, addressing issues with double scrollbars and content cut-off. - Implemented best practices for flexbox usage and responsive design across multiple components, ensuring a cohesive user interface.
- Added `EMBEDDINGS_MICROSERVICE_URL` and `DOCLING_PARSER_SERVICE_URL` to the test Django environment configuration for improved service integration. - Updated the `DocumentKnowledgeBase` component to change the test ID of the "Add to Corpus" button for better test targeting. - Refactored related tests to ensure they reference the updated button ID, enhancing test clarity and reliability.
Signed-off-by: JSIV <5049984+JSv4@users.noreply.github.com>
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
…ation - Added `EMBEDDINGS_MICROSERVICE_URL` and `DOCLING_PARSER_SERVICE_URL` to the production workflow for improved service integration. - Ensured consistency by updating the test Django environment configuration with the same service URLs.
…r/parser - Moved the Cloud Run IAM authentication logic to a new utility function `maybe_add_cloud_run_auth` in `utils/cloud.py` for better reusability. - Updated `MicroserviceEmbedder` and `DoclingParser` to utilize the new utility function, streamlining the process of attaching authorization tokens to headers. - Removed redundant static methods from both classes, enhancing code clarity and maintainability. - Added unit tests for the new utility function to ensure proper functionality and error handling.
Locked django-tree-queries dependency and add now-optional admin functionality as we were relying on it. Signed-off-by: JSIV <5049984+JSv4@users.noreply.github.com>
…d script - Updated the Dockerfile to build wheels for production requirements and scoped extras, improving dependency management during the Docker build process. - Deleted the `download_minn_modernbert_model.py` script as it is no longer needed. - Added a new `model_preloaders.txt` file to specify dependencies required for model preloader scripts.
- Changed the runner from `ubuntu-latest` to `larger` to accommodate increased resource needs. - Extended the timeout from 30 to 50 minutes to allow for longer job execution times.
- Added functionality to skip rate limiting in tests if configured. - Improved key determination logic for rate limiting based on user authentication and IP address. - Enhanced error messaging for rate limit exceeded scenarios, providing more detailed feedback to users. - Set rate limit headers on the request response for better client-side visibility. Updated integration tests to capture and report error messages during rate limit hits, improving test diagnostics.
- Updated the key generation logic for rate limiting to improve clarity and maintainability, using dedicated functions for user and IP-based keys. - Enhanced error handling in integration tests to provide more informative feedback when rate limits are exceeded. - Adjusted test cases to ensure accurate rate limit triggering and diagnostics, including specific tests for individual queries. - Removed redundant cache clearing in tests to streamline execution.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.