Commit Graph
100 Commits
Author SHA1 Message Date
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
Leonid Pershin d44aa44d95 Update UploadToShowDialog UI: increase dialog content width for better layout and adjust select trigger width for improved usability. 2026-07-25 19:27:00 +03:00
Leonid Pershin 7c1b807e5e Enhance UploadToShowDialog: add 'apply to all' functionality for batch show assignment, improve UI layout for better user experience, and update translations for new options. 2026-07-25 19:17:00 +03:00
Leonid Pershin da0ac79079 Update media processing options: enhance .env.example and MediaOptions.cs to include MaxParallelTranscodes for improved transcoding performance. Refactor MediaProcessingBackgroundService to utilize parallel processing slots, ensuring efficient handling of multiple media assets simultaneously. Update comments for clarity on new configurations and processing logic. 2026-07-25 19:01:46 +03:00
Leonid Pershin 9cefc6a198 Enhance show management: add OriginalName property to ShowSummaryDto, update ListShowsQueryHandler to include OriginalName, and improve upload functionality by allowing auto-detection of shows based on file names. Update translations for better user guidance on show detection. 2026-07-25 18:54:43 +03:00
Leonid Pershin 8718e8b6bf Enhance channel management: add support for preferred weight multipliers and preferred hours in channel shows, update related data models and API endpoints, and implement validation for new properties. Refactor scheduling logic to utilize preferred hours for weight adjustments during show planning. 2026-07-25 18:44:28 +03:00
Leonid Pershin 358adbff21 Enhance FfmpegBumperRenderer: introduce text width adjustment for dynamic font sizing, ensuring proper fitting of free text and titles within the specified width. Add FitSize method to calculate optimal font size based on text length and maximum width constraints. 2026-07-25 13:39:11 +03:00
Leonid Pershin 18325fdfcc Refactor bumper preview functionality: update API endpoints to support rendering previews for all bumper sub-blocks, modify related query and handler to generate individual asset previews, and enhance frontend components for improved user experience with variant-specific previews. Update translations for consistency in terminology. 2026-07-25 13:31:38 +03:00
Leonid Pershin a65bcf4258 Add bumper variant management: implement API endpoints for adding, updating, and removing bumper text variants, enhance data models to support variant details, and update scheduling logic to utilize variants. Refactor related components for improved bumper template handling and ensure proper error management for variant operations. 2026-07-25 13:24:11 +03:00
Leonid Pershin f640af1fc4 Enhance BumperTemplateEditor UI: add collapsible functionality for template details, improve user interaction with click-to-toggle feature, and ensure delete action does not trigger unintended collapses. Update state management for better control of template visibility. 2026-07-25 12:55:40 +03:00