Commit Graph

138 Commits

Author SHA1 Message Date
Alireza Vaezi
9e97893c89 Merge pull request #3 from salirezav/db-fixes-and-patches
Db fixes and patches
2026-03-09 12:51:23 -04:00
Alireza Vaezi
0882d8d484 Merge branch 'main' into db-fixes-and-patches 2026-03-09 12:50:57 -04:00
salirezav
0a2b24fdbf Refactor Experiment components to support new experiment book structure
- Updated ExperimentForm to handle additional phase parameters and improved initial state management.
- Modified ExperimentModal to fetch experiment data with phase configuration and ensure unique experiment numbers within the same phase.
- Renamed references from "phases" to "books" across ExperimentPhases, PhaseExperiments, and related components for consistency with the new terminology.
- Enhanced error handling and validation for new shelling parameters in ExperimentForm.
- Updated Supabase interface definitions to reflect changes in experiment and phase data structures.
2026-03-09 12:43:23 -04:00
salirezav
38a7846e7b Update .gitignore and refactor docker-compose.sh for improved host IP detection
- Added .host-ip to .gitignore to prevent tracking of host IP configurations.
- Enhanced docker-compose.sh to prioritize HOST_IP environment variable, fallback to .host-ip file, and finally auto-detect the host IP, improving robustness in various environments.
- Updated documentation to reflect changes in Supabase migration paths and removed references to deprecated management-dashboard-web-app directory.
2026-02-09 13:21:08 -05:00
salirezav
6a8f238bee fixed scheduling not loading unless logged 2026-02-09 13:20:40 -05:00
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
309659c65d Update .gitignore to exclude Supabase CLI temporary files
- Added entries to ignore the Supabase CLI temporary files located in management-dashboard-web-app/supabase/.temp/cli-latest and supabase/.temp/cli-latest, preventing unnecessary clutter in version control.
2026-02-02 11:30:43 -05:00
salirezav
df6c849ca4 db fixes and patches: phase data tables and unified phase executions migrations, database entities doc 2026-02-02 11:27:53 -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