Commit Graph

131 Commits

Author SHA1 Message Date
salirezav
1452a42ef4 Merge branch 'main' of https://github.com/salirezav/usda-vision 2026-02-02 13:05:29 -05:00
salirezav
5da5347443 Merge branch 'fix/scheduling-ui-ux' 2026-02-02 12:38:21 -05:00
salirezav
c8cd95361a Update README.md to reflect new services and development setup
- Added descriptions for new services: media-api, video-remote, vision-system-remote, and scheduling-remote.
- Updated development instructions to use docker-compose for starting the stack.
- Changed web port from 5173 to 8080 and clarified development commands.
- Removed MQTT broker details and updated service sections accordingly.
2026-02-02 12:34:59 -05:00
salirezav
49ddcfd002 Refactor docker-compose setup and enhance scheduling components
- Re-enabled Vision API and Media API services in docker-compose.yml, providing necessary configurations for development.
- Improved scheduling logic in HorizontalTimelineCalendar and Scheduling components to better manage repetition visibility and database scheduling status.
- Updated docker-compose-reset.sh to conditionally wait for Supabase services, enhancing the setup process for local development.
- Added isScheduledInDb prop to manage UI states for scheduled repetitions, improving user experience in the scheduling interface.
2026-02-02 11:25:37 -05:00
Hunter Halloran
065e5f368f fix: Move ragenix to externally managed, and ask for env file references 2026-01-30 12:48:48 -05:00
Hunter
3434082584 Merge pull request #2 from salirezav/feat/nix-package
feat: Add flake and ragenix package generation and dev environment
2026-01-30 12:20:19 -05:00
Hunter Halloran
cfa31347c6 feat: Add flake and ragenix package generation and dev environment 2026-01-30 12:05:35 -05:00
Hunter
8cb234e959 Merge pull request #1 from salirezav/oauth2-login
feat: Add Oauth2 login support
2026-01-30 11:52:14 -05:00
salirezav
780a95549b Enhance ErrorBoundary and improve repetition placement logic in scheduling components
- Updated ErrorBoundary to include auto-retry functionality with configurable retry parameters.
- Refined repetition placement logic in HorizontalTimelineCalendar to handle overlaps more accurately, ensuring better visual representation of scheduling data.
- Added comments for clarity on sorting and overlap checks within the repetition handling process.
2026-01-14 16:41:10 -05:00
salirezav
c54385a90c Enhance ErrorBoundary component with auto-retry functionality
- Added auto-retry feature to ErrorBoundary for handling errors during module federation loading.
- Introduced props for configuring retry behavior: autoRetry, retryDelay, and maxRetries.
- Implemented retry count management and UI feedback for ongoing retries.
- Updated component lifecycle methods to manage retries and cleanup effectively.
- Refactored handleRetry method to reset retry count upon manual retry.
2026-01-14 16:41:03 -05:00
salirezav
afefd32c3b Refactor development workflow for scheduling-remote
- Updated dev:watch script in package.json to streamline the build and serve process.
- Removed start-dev.sh script as its functionality is now integrated into the npm command.
2026-01-14 16:28:07 -05:00
salirezav
325dc89c51 Enhance HorizontalTimelineCalendar and Scheduling components with repetition metadata and improved interaction
- Added RepetitionMetadata interface to manage phase details for repetitions.
- Implemented onScrollToRepetition and onScheduleRepetition callbacks for better user navigation and scheduling.
- Updated HorizontalTimelineCalendar to display phase names, experiment numbers, and repetition numbers in the timeline.
- Removed locked state management from Scheduling component, simplifying repetition handling.
- Improved conductor assignment visibility and interaction within the scheduling interface.
2026-01-14 16:04:51 -05:00
salirezav
0a4df9073c Refactor Sidebar component to remove hover state management and adjust expansion logic
- Removed isHovered and setIsHovered props from SidebarProps.
- Updated sidebar expansion logic to rely solely on isExpanded and isMobileOpen.
- Simplified rendering conditions for menu items and submenus based on the new state management.
2026-01-14 16:04:45 -05:00
salirezav
87ff14705e Disable Vision API and Media API services in docker-compose.yml for development; add start-dev.sh script for scheduling-remote to streamline development workflow. 2026-01-14 16:04:39 -05:00
salirezav
3eeaa72145 Implement sidebar state persistence in DashboardLayout
- Changed initial state of sidebar expansion to false.
- Added functions to save and retrieve sidebar state from localStorage.
- Updated useEffect to load saved sidebar state on component mount.
- Modified toggleSidebar function to save the new state after toggling.
2026-01-14 16:04:28 -05:00
salirezav
17619dce47 Merge remote-tracking branch 'origin/main' into fix/scheduling-ui-ux 2026-01-13 14:46:11 -05:00
salirezav
0c434e7e7f Refactor HorizontalTimelineCalendar and Scheduling components for improved functionality
- Updated HorizontalTimelineCalendar to support full 24-hour scheduling with enhanced marker positioning and dragging capabilities.
- Introduced extendLeft and extendRight properties in RepetitionBorder for better visual representation of markers extending beyond their borders.
- Enhanced tooltip functionality for vertical lines in the timeline, providing clearer time information.
- Modified Scheduling component to allow scheduling from midnight to midnight, improving user experience in time selection.
- Adjusted Docker script permissions for better execution control.
2026-01-13 14:41:48 -05:00
Hunter Halloran
83084158b5 feat: Enable UGA SSO with Microsoft Entra 2026-01-13 13:47:33 -05:00
Hunter Halloran
32504f7196 feat: Add Azure external auth provider 2026-01-09 12:52:42 -05:00
Hunter Halloran
94e618bf91 feat: Begin support for OIDC login 2026-01-09 12:17:00 -05:00
UGA Innovation Factory
3c24900e15 update 2025-12-19 18:35:42 -05:00
UGA Innovation Factory
199b7dc123 round bottom border on password 2025-12-19 18:20:11 -05:00
UGA Innovation Factory
b1e93f7d08 round bottom border on password 2025-12-19 18:14:59 -05:00
UGA Innovation Factory
c6c3677c54 fix for password too 2025-12-19 18:11:33 -05:00
UGA Innovation Factory
d6774a751b actually fix text color 2025-12-19 18:07:57 -05:00
UGA Innovation Factory
5ffb4a3cfc apply text color to body 2025-12-19 17:52:45 -05:00
UGA Innovation Factory
460403bde2 respect font import better with safari 2025-12-19 17:40:41 -05:00
UGA Innovation Factory
bac8bdec90 updated dark color scheme to show text on login 2025-12-19 17:29:28 -05:00
UGA Innovation Factory
35ab2e79ce add external url to allowed hosts 2025-12-19 16:05:48 -05:00
salirezav
11e65e4694 feat: Add local Supabase configuration for Vite development
- Introduced a new backup environment file containing local Supabase and Vision API configurations.
- Configured environment variables for Supabase URL, anonymous key, and various Vision API settings.
- Enabled modules for video, vision system, and scheduling in the development environment.
2025-12-18 20:17:14 -05:00
salirezav
8cbb2d7f00 feat: Add dynamic host IP detection for Docker Compose and Supabase config
- Add docker-compose.sh wrapper script that auto-detects host IP
- Update docker-compose.yml to use environment variable substitution
- Update Supabase config.toml files to use HOST_SITE_URL and SUPABASE_API_URL env vars
- Add scripts/get-host-ip.sh for IP detection
- Add scripts/set-host-env.sh for environment setup
- Add scripts/supabase-with-env.sh wrapper for Supabase CLI
- Add documentation for Docker Compose environment setup
- Update README.md with new usage instructions
- Replace hardcoded URLs with dynamic environment variables
2025-12-18 19:57:27 -05:00
salirezav
a52f3fbf24 Refactor Supabase services in docker-compose.yml for better organization and testing
- Commented out all Supabase services to facilitate testing with Supabase CLI.
- Updated README to include Supabase directory in project structure.
- Adjusted documentation for migration paths in Supabase Docker Compose guide.
- Enhanced docker-compose-reset.sh to explicitly remove Supabase volumes and wait for migrations to complete.
2025-12-18 18:27:04 -05:00
salirezav
79f475348e feat: Integrate Supabase containers into main docker-compose
- Add all Supabase services (db, rest, auth, realtime, storage, studio, meta, inbucket)
- Add migration runner service to automatically run migrations on startup
- Configure all services to use shared network for inter-service communication
- Add documentation for Supabase docker-compose integration
- Add helper script for generating Supabase secrets
- Update web service to connect to Supabase via network
2025-12-18 15:59:24 -05:00
salirezav
a3f18b2186 Enhance AvailabilityCalendar component with loading state, toast notifications, and delete confirmation modal
- Added loading state to indicate data fetching progress.
- Implemented toast notifications for success and error messages during availability operations.
- Introduced a delete confirmation modal for improved user experience when removing availability slots.
- Enhanced TimeSlotModal with validation error handling and loading indicators for adding time slots.
2025-12-18 15:56:20 -05:00
salirezav
0ef87a9aea Commit changes before merging to main 2025-12-18 14:33:05 -05:00
salirezav
68e8c90ad7 Remove CalendarStyles.css and Scheduling.tsx components, updating the project structure for improved maintainability. Update Supabase CLI version and modify experiment_repetitions SQL migration to include scheduled_date. Enhance scheduling component in the remote app with improved drag-and-drop functionality and UI adjustments for better user experience. 2025-12-12 12:53:52 -05:00
salirezav
23d20d0ac3 Enhance scheduling component and improve data handling
- Added conductorsExpanded state to manage the visibility of the conductors list in the scheduling component.
- Updated color assignment logic for conductors to ensure consistent coloring based on their position in the array.
- Modified spawnSingleRepetition function to accept an updated set of selected IDs for accurate stagger calculations.
- Refactored soaking and airdrying data retrieval to map results from a unified experiment_phase_executions table, improving data consistency.
- Enhanced UI for conductor selection, including a collapsible list and improved availability indicators.
2025-12-05 11:10:21 -05:00
salirezav
5d52183d8e Update Docker configuration, enhance error handling, and improve logging
- Added health check to the camera management API service in docker-compose.yml for better container reliability.
- Updated installation scripts in Dockerfile to check for existing dependencies before installation, improving efficiency.
- Enhanced error handling in the USDAVisionSystem class to allow partial operation if some components fail to start, preventing immediate shutdown.
- Improved logging throughout the application, including more detailed error messages and critical error handling in the main loop.
- Refactored WebSocketManager and CameraMonitor classes to use debug logging for connection events, reducing log noise.
2025-12-03 17:23:31 -05:00
salirezav
b0f84811bd Enhance media API with video file validation and Docker configuration update
- Added a function to check if video files are complete and valid using ffprobe, preventing errors during thumbnail generation.
- Updated thumbnail generation logic to skip incomplete or corrupted files, improving robustness.
- Modified docker-compose.yml to include a restart policy for the camera management API service, ensuring better container reliability.
2025-12-03 14:56:18 -05:00
salirezav
322eceed10 Add background thumbnail generator to media API
- Implemented a background worker for generating video thumbnails, enhancing media processing capabilities.
- Added startup and shutdown events to manage the thumbnail generator's lifecycle.
- Refactored thumbnail generation logic to handle file processing more robustly, including checks for existing thumbnails and file accessibility.
- Updated existing functions to integrate with the new background processing approach, ensuring seamless thumbnail generation on demand.
2025-12-02 12:34:00 -05:00
salirezav
e9bb9d95da Enhance CameraPage UI and improve loading indicators
- Updated loading indicators with larger sizes and improved animations for better visibility.
- Enhanced error banner styling and increased padding for a more user-friendly experience.
- Adjusted stream status and recording status sections for improved readability and consistency in font sizes.
- Refined MQTT message log display with better spacing and text sizes for clearer information presentation.
- Improved overall layout and styling of the CameraPage component for a more polished user interface.
2025-12-01 15:40:32 -05:00
salirezav
7c14e2a260 Enhance Docker Compose configuration and improve camera manager error handling
- Added container names for better identification of services in docker-compose.yml.
- Refactored CameraManager to include error handling during initialization of camera recorders and streamers, ensuring the system remains operational even if some components fail.
- Updated frontend components to support new MQTT Debug Panel functionality, enhancing monitoring capabilities.
2025-12-01 15:30:10 -05:00
salirezav
4d587d3159 Add MQTT publish request and response models, and implement publish route
- Introduced MQTTPublishRequest and MQTTPublishResponse models for handling MQTT message publishing.
- Implemented a new POST route for publishing MQTT messages, including error handling and logging.
- Enhanced the StandaloneAutoRecorder with improved logging during manual recording start.
- Updated the frontend to include an MQTT Debug Panel for better monitoring and debugging capabilities.
2025-12-01 13:07:36 -05:00
salirezav
b83e74639b Enhance media API transcoding and video streaming capabilities
- Added support for limiting concurrent transcoding operations in the media API to prevent resource exhaustion.
- Implemented functions to retrieve video duration and bitrate using ffprobe for improved streaming performance.
- Enhanced the generate_transcoded_stream function to handle HTTP range requests, allowing for more efficient video playback.
- Updated VideoModal component to disable fluid and responsive modes, ensuring proper container boundaries during video playback.
- Improved logging throughout the transcoding process for better error tracking and debugging.
2025-11-04 11:55:27 -05:00
salirezav
0143790424 Update session summary and clean up unused files
- Added additional notes to SESSION_SUMMARY.md regarding MQTT debugging and enhanced logging.
- Removed outdated SQL seed files related to Phase 2 JC Experiments and Meyer Experiments to streamline the codebase.
- Updated the CLI version in the Supabase configuration for consistency.
- Cleaned up test files in the camera management API to improve maintainability.
2025-11-03 23:07:22 -05:00
salirezav
745480b16b Update camera management and MQTT logging for improved functionality
- Changed log level in configuration from WARNING to INFO for better visibility of system operations.
- Enhanced StandaloneAutoRecorder initialization to accept camera manager, state manager, and event system for improved modularity.
- Updated recording routes to handle optional request bodies and improved error logging for better debugging.
- Added checks in CameraMonitor to determine if a camera is already in use before initialization, enhancing resource management.
- Improved MQTT client logging to provide more detailed connection and message handling information.
- Added new MQTT event handling capabilities to the VisionApiClient for better tracking of machine states.
2025-11-03 16:56:53 -05:00
salirezav
9fe1f58319 Add scheduling-remote service to docker-compose and enhance camera error handling
- Introduced a new service for scheduling-remote in docker-compose.yml, allowing for better management of scheduling functionalities.
- Enhanced error handling in CameraMonitor and CameraStreamer classes to improve robustness during camera initialization and streaming processes.
- Updated various components in the management dashboard to support dark mode and improve user experience with consistent styling.
- Implemented feature flags for enabling/disabling modules, including the new scheduling module.
2025-11-02 19:33:13 -05:00
salirezav
6b0738839b Remove deprecated files and scripts to streamline the codebase
- Deleted unused API test files, RTSP diagnostic scripts, and development utility scripts to reduce clutter.
- Removed outdated database schema and modularization proposal documents to maintain focus on current architecture.
- Cleaned up configuration files and logging scripts that are no longer in use, enhancing project maintainability.
2025-11-02 10:07:59 -05:00
salirezav
952ca09c61 Refactor API route setup and enhance modularity
- Consolidated API route definitions by registering routes from separate modules for better organization and maintainability.
- Removed redundant route definitions from the APIServer class, improving code clarity.
- Updated camera monitoring and recording modules to utilize a shared context manager for suppressing camera SDK errors, enhancing error handling.
- Adjusted timeout settings in camera operations for improved reliability during frame capture.
- Enhanced logging and error handling across camera operations to facilitate better debugging and monitoring.
2025-11-01 15:53:01 -04:00
salirezav
b9449a71b1 RTSP Fully Implemented 2025-11-01 14:58:25 -04:00