Commit Graph
209 Commits
Author SHA1 Message Date
Leonid Pershin f4926848d7 Remove ToastProvider and related toast context functionality to streamline UI components and eliminate unused code. This change enhances overall code maintainability and reduces bundle size. 2026-07-27 00:25:03 +03:00
Leonid Pershin 38b6160bd2 Refactor JunctionFiller and SchedulePlanner to improve parameter handling by introducing JunctionPlacement record for cleaner code and better readability. Update Directory.Build.props to suppress additional warnings related to API boundaries and unused route parameters, ensuring a more focused analysis during builds.
ci / build-backend (push) Successful in 1m10s
ci / build-frontend (push) Successful in 37s
ci / tests (push) Successful in 1m31s
ci / sonar (push) Successful in 3m26s
2026-07-27 00:01:22 +03:00
Leonid Pershin 8699d8ee00 Refactor LayerApplicabilityDialog and RulesCard components to utilize useKeyedList for managing lists, improving state handling and performance. Update ScheduleGrid to enhance key assignment for mapped elements, ensuring better React reconciliation. Modify ManualInboxDialog to use unique keys for parts in sample name processing, and improve ToastProvider and ThemeProvider by memoizing context values to prevent unnecessary re-renders.
ci / build-backend (push) Successful in 1m15s
ci / build-frontend (push) Failing after 15s
ci / tests (push) Skipped
ci / sonar (push) Skipped
2026-07-26 23:54:30 +03:00
Leonid Pershin 940b622c03 Refactor various classes to initialize lists with empty array syntax for improved clarity and consistency. Update Program.cs to remove unnecessary partial class declaration due to changes in ASP.NET Core 10. Enhance MediaPathResolver by making AssetRelativePath static for better accessibility. Adjust MediaClaimingBackgroundService to centralize idle polling logic. Improve SignalQueue's WaitAsync method for clearer intent in signal draining.
ci / build-backend (push) Successful in 1m46s
ci / sonar (push) Successful in 5m1s
ci / build-frontend (push) Successful in 51s
ci / tests (push) Successful in 1m38s
2026-07-26 23:36:55 +03:00
Leonid Pershin 59cc453026 Refactor RenderBumperPreviewCommandHandler to streamline background path resolution and rendering specification. Introduce helper methods for improved readability and maintainability. Update FindMissingEpisodesQueryHandler and RefreshShowEpisodesMetadataCommandHandler to encapsulate episode number resolution logic. Enhance CopyTemplateCommandHandler by modularizing junction copying and slot handling for better clarity. Improve FfmpegMediaProcessor by separating duration and stream parsing into dedicated methods. Refactor MediaClaimingBackgroundService to simplify idle waiting logic. Update GenreSeeder to modularize alias addition logic, enhancing code organization.
ci / build-backend (push) Successful in 1m29s
ci / build-frontend (push) Successful in 1m4s
ci / tests (push) Successful in 1m58s
ci / sonar (push) Successful in 3m34s
2026-07-26 23:31:56 +03:00
Leonid Pershin 69d1319564 Add UploadLimits service and refactor user and media listing endpoints to use filter records for improved parameter handling. Update audio upload logic to streamline parameter passing and enhance clarity. Adjust ImageEndpoints to use HashSet for allowed extensions, and refine StreamingEndpoints to clarify token handling.
ci / build-backend (push) Successful in 1m29s
ci / build-frontend (push) Successful in 51s
ci / tests (push) Successful in 2m1s
ci / sonar (push) Successful in 4m22s
2026-07-26 23:05:37 +03:00
Leonid Pershin 0f0657e523 Refactor Program.cs to use async Run method for improved performance. Update index.html to specify language attribute for accessibility. Enhance BumperTemplateEditor and ScheduleGrid components by replacing divs with buttons for better keyboard accessibility. Improve TemplatePreview sorting logic and optimize episode regex handling. Add close button to ToastItem for better user interaction. Update localization files to include 'close' translations. Refactor CardTitle to ensure screen reader compatibility by explicitly rendering children.
ci / tests (push) Successful in 1m58s
ci / build-backend (push) Successful in 1m34s
ci / build-frontend (push) Successful in 1m0s
ci / sonar (push) Successful in 4m13s
2026-07-26 22:35:36 +03:00
Leonid Pershin b0740503bb Enhance metadata handling by introducing ShowKind parameter across various components. Update SearchShowMetadataQuery and related handlers to support querying by show type, ensuring accurate metadata retrieval for series and films. Implement validation to prevent episodes from being associated with non-series shows. Update frontend API to include ShowKind in metadata search requests, improving overall functionality and user experience.
ci / build-backend (push) Successful in 3m42s
ci / build-frontend (push) Successful in 51s
ci / tests (push) Successful in 2m10s
ci / sonar (push) Successful in 6m40s
2026-07-26 22:29:16 +03:00
Leonid Pershin fdb0f321e4 Refactor ShowAudience handling across the application to align with MPAA rating system. Update ShowAudience enum to reflect new ratings (G, PG, PG-13, R, NC-17) and adjust related data models, API types, and frontend components to support nullable audience values. Enhance metadata handling to incorporate content ratings from external sources, ensuring proper audience filtering in scheduling logic. Update documentation to clarify changes in audience categorization and its implications for content management.
ci / sonar (push) Successful in 4m31s
ci / build-backend (push) Successful in 1m28s
ci / build-frontend (push) Successful in 51s
ci / tests (push) Successful in 2m7s
2026-07-26 22:18:14 +03:00
Leonid Pershin c4c93cff02 Enhance query performance by applying AsSplitQuery to multiple handlers and loaders for Channels and ScheduleTemplates, improving efficiency in data retrieval and reducing unnecessary data duplication in queries.
ci / build-frontend (push) Successful in 49s
ci / build-backend (push) Successful in 1m26s
ci / sonar (push) Failing after 2m31s
ci / tests (push) Successful in 4m18s
2026-07-26 21:50:01 +03:00
Leonid Pershin b52080e026 Refactor Dockerfile and documentation for non-root user setup. Update CLAUDE.md and README.md to clarify media storage permissions and user requirements. Modify appsettings for local development database configuration. Enhance MediaEndpoints by removing unused regex and improving file resolution logic. Update BumperPreview to use SHA-256 for asset ID generation, ensuring better security practices.
ci / tests (push) Successful in 1m52s
ci / build-backend (push) Successful in 1m33s
ci / build-frontend (push) Successful in 1m2s
ci / sonar (push) Successful in 4m24s
2026-07-26 21:41:33 +03:00
Leonid Pershin e79769be81 Update .env.example to extend scheduler configuration: increase HorizonDays to 7 and change RetentionHours to RetentionDays with a default of 90. Revise documentation in media-storage-and-streaming.md to reflect these changes. Remove outdated tv-scheduler-tasks.md file.
ci / build-backend (push) Successful in 1m11s
ci / tests (push) Successful in 1m35s
ci / build-frontend (push) Successful in 36s
ci / sonar (push) Successful in 6m25s
2026-07-26 21:27:31 +03:00
Leonid Pershin 34701bd6b1 Update README.md to replace build and test badges with a consolidated CI badge. Remove obsolete workflow files for build, test, and Sonar analysis, streamlining the CI/CD process.
ci / tests (push) Successful in 1m32s
ci / build-backend (push) Successful in 1m10s
ci / build-frontend (push) Successful in 48s
ci / sonar (push) Successful in 3m17s
2026-07-26 20:52:37 +03:00
Leonid Pershin 205672b77d Refactor .gitignore to streamline ignored files and enhance clarity. Update CLAUDE.md to improve unit test instructions and add coverage reporting details. Revise README.md for better project overview and deployment instructions. Refactor ChannelEndpoints and StreamingEndpoints to utilize SegmentFiles for file resolution, improving code maintainability. Remove unused JunctionHandlers and update DependencyInjection for cleaner service registration. Enhance media processing services for better job handling and error management. Update frontend API types for consistency and clarity.
build / backend (push) Successful in 1m28s
build / frontend (push) Failing after 31s
sonar / analyze (push) Successful in 4m39s
tests / backend-tests (push) Canceled after 0s
2026-07-26 20:43:38 +03:00
Leonid Pershin f36dbfa9cb Refactor ChannelDetail component to improve template copying functionality and update translations. Change variable names for clarity, ensuring the source channel is correctly referenced when copying templates. Enhance user confirmation prompts and update related UI elements for better user experience.
build / backend (push) Successful in 1m10s
build / frontend (push) Successful in 34s
tests / backend-tests (push) Successful in 3m42s
2026-07-26 20:17:45 +03:00
Leonid Pershin 9c865e1faa Add CreateTemplate endpoint and related functionality for channels without grids
build / backend (push) Successful in 3m23s
build / frontend (push) Successful in 34s
tests / backend-tests (push) Successful in 1m38s
Implement a new API endpoint to create a template for channels lacking a grid, enhancing the template management capabilities. Update frontend components to support the creation of templates directly from the channel detail view, including user feedback and translations for improved clarity. Add integration tests to ensure the new functionality works as expected.
2026-07-26 20:10:47 +03:00
Leonid Pershin 69c236d8cc Refactor ChannelDetail component to implement tabbed navigation for channel settings, enhancing user experience by organizing content into distinct sections. Introduce a new TABS constant for better maintainability and update related components (BumperCard, RulesCard, ViewerCard, etc.) to support a 'bare' prop for streamlined rendering. Improve error handling for template loading and update translations for better clarity.
build / backend (push) Successful in 1m10s
build / frontend (push) Successful in 35s
tests / backend-tests (push) Successful in 1m31s
2026-07-26 20:03:14 +03:00
Leonid Pershin 2387223f0b Refactor AdminUserEndpoints and MediaEndpoints to include default parameter values for pagination and filtering, improving API usability. Update ManualInboxDialog to enhance show selection logic with auto-detection based on file names, and improve user feedback with new translations. Refactor PostgresFixture for better container management in integration tests.
build / backend (push) Successful in 2m26s
build / frontend (push) Successful in 1m5s
tests / backend-tests (push) Successful in 2m27s
2026-07-26 16:17:24 +03:00
Leonid Pershin 8fa4ea02fe Implement automatic media list refresh in MediaPanel: add activity tracking for queued and processing items, ensuring the media list updates when statuses change. Enhance query handling with refetch logic to improve user experience in media management.
build / backend (push) Successful in 3m38s
build / frontend (push) Successful in 1m6s
tests / backend-tests (push) Successful in 3m3s
2026-07-26 16:06:02 +03:00
Leonid Pershin b5a47c6d8a Enhance ManualInboxDialog: add show selection dropdown for improved media organization and update translations for better user guidance. Simplify layout by removing redundant elements while maintaining user hints.
tests / backend-tests (push) Successful in 1m57s
build / backend (push) Successful in 1m29s
build / frontend (push) Successful in 53s
2026-07-26 15:55:06 +03:00
Leonid Pershin 6bca42754c Update validation rules in ImportManualInboxCommand and ManualInboxDialog to allow season numbers starting from zero, reflecting the inclusion of special episodes and pilots. Adjust input constraints in the frontend to enhance user experience and ensure consistency with backend validation.
tests / backend-tests (push) Successful in 2m2s
build / backend (push) Successful in 1m48s
build / frontend (push) Successful in 51s
2026-07-26 15:53:09 +03:00
Leonid Pershin 7af6242003 Enhance manual inbox dialog: add regex presets and hints for episode number extraction, improve user interface for file selection, and update translations for better user guidance. Refactor state management and query handling to streamline the import process and enhance overall user experience in manual media management.
build / backend (push) Successful in 1m12s
build / frontend (push) Successful in 46s
tests / backend-tests (push) Successful in 4m19s
2026-07-26 15:48:41 +03:00
Leonid Pershin a95c0540d9 Refactor manual inbox handling: update ImportManualInboxCommand to accept ManualImportItem objects, enhancing file import functionality with explicit season and episode numbers. Implement CleanupManualLeftoversAsync in IMediaStorage to remove unnecessary files after import. Update frontend components to support new import structure and improve user experience in manual media management.
tests / backend-tests (push) Successful in 1m38s
build / backend (push) Successful in 1m11s
build / frontend (push) Successful in 34s
2026-07-26 15:41:31 +03:00
Leonid Pershin 74bca20a3c Refactor user settings access in navigation: replace direct settings link with username display for logged-in users, enhancing mobile and desktop menu experiences. Update logout button placement and styling for improved usability.
tests / backend-tests (push) Successful in 1m29s
build / backend (push) Successful in 1m14s
build / frontend (push) Successful in 45s
2026-07-26 15:25:18 +03:00
Leonid Pershin b602d099ca Refactor media storage and management functionalities: enhance IMediaStorage interface with manual inbox handling, update FileSystemMediaStorage to support manual file imports, and improve MediaPathResolver for better path management. Extend MediaEndpoints to include new manual inbox features and update frontend components for improved media management experience.
build / backend (push) Successful in 2m8s
build / frontend (push) Successful in 36s
tests / backend-tests (push) Successful in 1m35s
2026-07-26 15:16:55 +03:00
Leonid Pershin 2445ba56b5 Enhance scheduling and trace functionalities: add CollectionId to ScheduleEntry and PlannedItem models, update related query handlers and frontend components to support collection information in entry traces. Improve data handling in scheduling logic and enhance user experience in trace display.
build / backend (push) Successful in 2m4s
build / frontend (push) Successful in 39s
tests / backend-tests (push) Successful in 2m10s
2026-07-26 14:59:54 +03:00
Leonid Pershin f699576582 Enhance channel and settings functionalities: introduce viewer settings in ChannelEndpoints, update SiteSettings to include channel number toggling, and refactor related data structures. Implement new endpoints for validating templates and diffing scheduling changes, improving overall user experience and configuration management.
build / backend (push) Successful in 1m54s
build / frontend (push) Successful in 43s
tests / backend-tests (push) Successful in 2m4s
2026-07-26 14:50:32 +03:00
Leonid Pershin 8494eb5e6a Enhance template and scheduling functionalities: add PlanningRules to template endpoints and commands, implement repeat limits and audience filtering in scheduling logic, and update related data structures. Refactor frontend components to support new rules and improve user experience in channel management. 2026-07-26 14:25:32 +03:00
Leonid Pershin 7b12a06d1b Add interstitial endpoints and enhance media and template functionalities: implement MapInterstitialEndpoints in Program.cs, add preview functionality for media assets in MediaEndpoints, and introduce template preview capabilities in TemplateEndpoints. Remove obsolete bumper settings from Channel and related classes to streamline configuration.
build / frontend (push) Successful in 47s
tests / backend-tests (push) Successful in 5m57s
build / backend (push) Successful in 5m58s
2026-07-26 14:03:53 +03:00
Leonid Pershin 66040a8841 Update scheduling parameters and refactor channel endpoints: extend HorizonDays to 7 and RetentionDays to 90 in appsettings.json. Consolidate channel-related endpoint logic by removing obsolete files and enhancing the ShowEndpoints with audience and genre management capabilities. Improve error handling and streamline command handlers for channel operations.
build / backend (push) Successful in 7m40s
build / frontend (push) Failing after 39s
tests / backend-tests (push) Successful in 6m9s
2026-07-26 13:32:13 +03:00
Leonid Pershin c4ef954dea Update TV scheduler architecture documentation: expand on data model details, including channel, pool, grid layer, and slot structures. Enhance descriptions of scheduling strategies and constraints, and clarify the role of epoch and timezone in scheduling. Improve overall clarity and completeness of the specification.
build / backend (push) Successful in 1m11s
build / frontend (push) Successful in 31s
tests / backend-tests (push) Successful in 1m23s
2026-07-26 04:18:33 +03:00
Leonid Pershin a0533a8ed8 Refactor user and media endpoints: remove unused GetUser and GetMedia methods, streamline AdminUserEndpoints and MediaEndpoints, and enhance metadata handling in MetadataEndpoints. Update Program.cs to remove legacy image relocation logic and improve overall code clarity.
build / backend (push) Successful in 1m14s
build / frontend (push) Successful in 35s
tests / backend-tests (push) Successful in 3m16s
2026-07-26 02:58:17 +03:00
Leonid Pershin 44e954920c Add missing episodes feature: implement FindMissingEpisodes endpoint, update metadata providers to retrieve season episode counts, and enhance frontend components for displaying missing episodes report. Update translations for new UI elements.
build / frontend (push) Successful in 44s
tests / backend-tests (push) Successful in 2m38s
build / backend (push) Successful in 3m5s
2026-07-26 02:15:47 +03:00
Leonid Pershin 8962840654 Add audience categorization for shows: implement ShowAudience type, update related API endpoints, and enhance frontend components for audience selection and display. Modify data structures to support audience information in show creation and retrieval processes.
build / backend (push) Successful in 3m35s
build / frontend (push) Successful in 52s
tests / backend-tests (push) Successful in 3m27s
2026-07-26 02:06:08 +03:00
Leonid Pershin 525fd2ee01 Implement preferred audio languages feature: update site settings to include preferred audio languages, modify related data structures and API endpoints, and enhance media processing to select audio tracks based on user preferences. Update frontend components for managing and displaying these settings.
tests / backend-tests (push) Failing after 32s
build / backend (push) Successful in 2m17s
build / frontend (push) Successful in 58s
2026-07-26 01:51:55 +03:00
Leonid Pershin 64a2dade74 Enhance user and media management with sorting and statistics: add sorting options to user and media listing endpoints, implement media statistics retrieval, and update frontend components for sorting and displaying media processing times. Refactor related query handlers and API types to support new features.
build / backend (push) Successful in 1m35s
build / frontend (push) Successful in 31s
tests / backend-tests (push) Successful in 1m48s
2026-07-26 00:28:22 +03:00
Leonid Pershin d6ad8e11a4 Implement asynchronous bumper rendering and add integration tests: refactor BumperAsset to support async rendering, introduce BumperRenderBackgroundService for processing, and create TeleWave.Integration.Tests with Testcontainers-Postgres for comprehensive testing of scheduling and bumper generation scenarios. Update documentation and ensure tests skip if Docker is not available. 2026-07-25 23:42:40 +03:00
Leonid Pershin 6c18a9da79 Update configuration and enhance media processing: add stream token TTL and timeout settings in .env.example, improve error handling in media endpoints, and refactor command handlers for asynchronous operations. Update documentation to reflect current application state and features.
tests / backend-tests (push) Successful in 2m27s
build / backend (push) Successful in 2m19s
build / frontend (push) Successful in 53s
2026-07-25 23:14:55 +03:00
Leonid Pershin a261e261f0 Add RenderBumperPreviewCommandHandler: implement command handler for rendering bumper previews, including channel and template validation, audio duration handling, and rendering logic for bumper variants. 2026-07-25 23:14:46 +03:00
Leonid Pershin 058cbc6994 Refactor authentication and streaming cookie handling: implement secure cookie logic based on environment in AuthEndpoints and StreamingEndpoints, enhance rate limiting policy in Program.cs, and update logging configuration in appsettings.json. Fix validation behavior to use asynchronous validation methods and improve error handling in frontend components.
build / backend (push) Successful in 1m52s
build / frontend (push) Successful in 1m0s
tests / backend-tests (push) Successful in 2m27s
2026-07-25 21:18:31 +03:00
Leonid Pershin 53e0eeb776 Enhance JWT signing key validation and improve FfmpegBumperRenderer label handling: add checks for signing key length and placeholder values in DependencyInjection, and refactor label processing to read from files in FfmpegBumperRenderer. Update MediaProcessingBackgroundService to ensure slot release on claim failure.
build / backend (push) Successful in 2m24s
build / frontend (push) Successful in 54s
tests / backend-tests (push) Successful in 2m40s
2026-07-25 21:07:38 +03:00
Leonid Pershin 5bc6e144d2 Refactor ChannelEndpoints and ScheduleGenerator: consolidate endpoint logic into partial files, remove unused methods, and enhance dependency injection for scheduling. Update ChannelDetail component to streamline imports and improve UI structure.
build / backend (push) Successful in 2m17s
build / frontend (push) Successful in 52s
tests / backend-tests (push) Successful in 2m38s
2026-07-25 20:53:52 +03:00
Leonid Pershin 8484587313 Implement pagination for candidates and episodes in ShowDetail component: add Pager component for both lists, update state management for page navigation, and ensure safe page handling during filtering and updates.
tests / backend-tests (push) Successful in 2m10s
build / backend (push) Successful in 1m52s
build / frontend (push) Successful in 53s
2026-07-25 20:33:44 +03:00
Leonid Pershin 7694ff3388 Update CI workflows to use setup actions: replace container definitions with setup-dotnet and setup-node actions for backend and frontend jobs, ensuring consistent environment configuration for builds and tests.
build / backend (push) Successful in 2m11s
build / frontend (push) Successful in 49s
tests / backend-tests (push) Successful in 2m31s
2026-07-25 20:22:48 +03:00
Leonid Pershin 2165bfc459 Add coverage badge to README and update test workflow: include coverage badge in README for CI visibility and enhance test workflow to generate coverage reports and update the badge on main branch pushes.
build / backend (push) Failing after 5s
build / frontend (push) Successful in 52s
tests / backend-tests (push) Failing after 5s
2026-07-25 20:20:17 +03:00
Leonid Pershin 0fd9ab9bc2 Update README and package.json: add build and test badges to README for CI visibility, and specify pnpm as the package manager in package.json for consistency in dependency management.
build / backend (push) Failing after 1m28s
build / frontend (push) Successful in 1m39s
tests / backend-tests (push) Failing after 5s
2026-07-25 20:17:30 +03:00
Leonid Pershin 4611f90d11 Add project reference for TeleWave.Infrastructure: include TeleWave.Infrastructure.csproj in TeleWave.Application.Tests project to support additional testing capabilities. 2026-07-25 20:12:04 +03:00
Leonid Pershin ed240ef73c Add coverlet.collector package for test coverage: include in Directory.Packages.props and add references in TeleWave.Application.Tests and TeleWave.Domain.Tests projects for enhanced test reporting. 2026-07-25 19:58:56 +03:00
Leonid Pershin f57b7503ed Refactor code formatting and improve readability: standardize line breaks and indentation across various endpoint files, enhancing code clarity and maintainability. Update package version formatting in Directory.Packages.props for consistency. 2026-07-25 19:55:01 +03:00
Leonid Pershin 1f6fa6f1ae Add password reset functionality for admin users: implement ResetPassword endpoint, update AdminUserEndpoints to include password reset logic, and enhance user interface for password management. Update translations for new features and ensure proper error handling in the reset process. 2026-07-25 19:49:08 +03:00