Commit Graph

29 Commits

Author SHA1 Message Date
wjones ed8fe21055 Update migration filters for PostgreSQL compatibility
Changed unique index filters in migration to use PostgreSQL syntax ("UserId" IS NOT NULL) instead of SQL Server syntax. Updated assembly version metadata and rebuilt related binaries.
2026-02-22 19:00:38 -05:00
wjones a3eb4b1b57 Add automatic PostgreSQL database creation and migration
- Added Jellyfin.Database.Providers.Postgres project with full EF Core migration support for PostgreSQL.
- Implemented automatic database creation and privilege assignment on startup.
- Generated initial migration and model snapshot for PostgreSQL schema.
- Updated build, test, and dependency files to include PostgreSQL provider and Npgsql packages.
- Added PowerShell script for generating and testing PostgreSQL migrations.
- No changes to application logic outside database provider/migration infrastructure.
2026-02-22 18:51:24 -05:00
wjones 0efab2cfb6 Add JELLYFIN_WEB_DIR env and update publish settings
- Add JELLYFIN_WEB_DIR environment variable to launch profiles and test project for consistent web directory configuration.
- Conditionally add AssemblyMetadata for ASPNETCORE_ENVIRONMENT and JELLYFIN_WEB_DIR in DEBUG builds.
- Update FolderProfile.pubxml to delete existing files on publish and set additional properties (TargetFramework, ProjectGuid, etc.).
- Bump Jellyfin.CodeAnalysis assembly version and update related binaries.
- Refresh publish history in FolderProfile.pubxml.user.
2026-02-22 16:43:14 -05:00
wjones f8b7c62f9e Add PostgreSQL provider and code cleanup
Added Jellyfin.Database.Providers.Postgres project and integrated Npgsql packages for PostgreSQL support. Updated solution and test project references. Refactored code for clarity and performance, including improved string handling, log formatting, and plugin management. Enhanced .editorconfig rules and fixed minor test issues. Added publishing profiles and updated web server setup references. Cleaned up assembly info and cache files.
Now able to successfully build solution
2026-02-22 16:15:19 -05:00
wjones d1e6fbc122 Improve string comparison and code formatting
Updated string comparison logic to use explicit StringComparison parameters for correctness and performance. Moved using statements outside namespace in event consumer classes. Added minor formatting fixes and closing braces. Suppressed IDisposableAnalyzers and reduced StyleCop rule severity in .editorconfig. Updated project cache and assembly info files. No changes to business logic.
2026-02-22 12:44:55 -05:00
wjones 8c300533f9 Reformat .editorconfig and update analyzer suppressions
Reorganized .editorconfig for clarity and maintainability, adding and adjusting StyleCop and IDE analyzer suppressions. Rebuilt Jellyfin.CodeAnalysis assembly and updated project.nuget.cache files to reflect configuration changes. No source code changes included.
2026-02-22 12:02:16 -05:00
wjones dbeec2e9f0 Refactor and modernize JSON converter test code
Refactor test code in Jellyfin.Extensions.Tests for clarity and consistency:
- Use explicit object initializers and collection expressions
- Standardize field naming and use of this.
- Add/improve XML doc comments for test methods
- Use new(...) syntax for Guid/Version instantiation
- Convert file-scoped to block-scoped namespaces in key tests
- Nest test classes and use instance methods in enum tests
- Enable XML docs and suppress select warnings in csproj
- No changes to test or converter logic; style and maintainability only
2026-02-22 10:31:23 -05:00
wjones d5522c6fb3 Improve code clarity and test documentation
Refactored ImageProcessor to use explicit 'this.' member access for consistency and readability. Enhanced test files with XML documentation, explicit types, modern C# syntax, and clearer Moq setups. Enabled XML doc generation for test project. Updated assembly info and cache files as a result of build changes. No functional or behavioral changes.
2026-02-22 09:38:16 -05:00
wjones 48569427a5 Refactor for clarity; add docs and .editorconfig
Refactored code to consistently use `this.` for instance members, improving clarity and maintainability. Added XML documentation comments to multiple methods and properties for better API documentation. Streamlined `FfProbeKeyframeExtractor` logic and enhanced EBML parsing code with comments and style improvements. Introduced a new `.editorconfig` to disable legacy StyleCop and IDisposableAnalyzers rules. Updated binary files, assembly info, and NuGet cache files due to rebuilds and dependency changes. No functional changes were made.
2026-02-21 16:55:27 -05:00
wjones e887356385 Improve XML docs and formatting in tests and constants
Added and enhanced XML documentation comments across the codebase, including detailed summaries and parameter descriptions for methods, classes, and constants. Documented all MatroskaConstants. Improved test readability with comments and explicit variable declarations. Made minor formatting and consistency fixes in test files. No functional changes. Updated project cache and binary files to reflect documentation improvements.
2026-02-21 15:46:18 -05:00
wjones 2dc0129a11 Suppress IDE0065 globally; refactor PhotoProvider.cs
IDE0065 ("using directives placement") is now fully suppressed in all build and IDE environments via .editorconfig and NoWarn in project files. Added HOW_TO_IGNORE_IDE0065.md for documentation. Refactored PhotoProvider.cs to use namespace-scoped usings and a primary constructor. Updated code analysis assemblies and project cache files to reflect these changes.
2026-02-21 13:26:34 -05:00
wjones 8421e3ad5c Suppress non-critical warnings, refactor Emby.Naming
Expanded .editorconfig to silence non-critical IDE/StyleCop warnings and updated Emby.Naming.csproj to prevent warnings-as-errors in Debug. Refactored codebase for modern C# style, removed unused code and unnecessary usings, and fixed formatting and StringComparison issues. Added detailed documentation on code style and warning suppression. Project now builds cleanly with only critical issues surfaced.
2026-02-21 12:48:04 -05:00
wjones 477045704e Enforce NuGet warnings as errors; refactor field access
Added "allWarningsAsErrors": true to NuGet config files across the solution to treat all warnings as errors, increasing build strictness. Updated project cache hashes and assembly info files to reflect these changes. Refactored C# code to use explicit `this.` for field and property assignments, improving clarity. Note: some method signatures were incorrectly changed to use `this.` as a prefix, which is invalid C# syntax and must be corrected before compiling. Binary files updated due to build changes.
2026-02-21 11:07:54 -05:00
wjones 2b3a0c9746 Update assembly informational version and cache
Updated AssemblyInformationalVersion in AssemblyInfo.cs to reflect new build hash. Synced AssemblyInfoInputs.cache with the new version.
2026-02-21 10:44:38 -05:00
wjones 76d4667f25 Merge branch 'pgsql_conversion' of https://gitea.wpjones.com/wjones/pgsql-jellyfin into pgsql_conversion
committing
2026-02-21 10:42:57 -05:00
wjones 432d9d3f94 Upgrade from .net 10 to .net11 to support postgresql integration 2026-02-21 10:34:26 -05:00
wjones 33e95f154a Upgrade from .net 10 to .net11 to support postgresql integration 2026-02-20 22:04:55 -05:00
wjones db3b19dbb0 Migrate all projects and tests to .NET 11.0
Upgraded the target framework for all main, test, and provider projects from .NET 10.0 (net10.0) to .NET 11.0 (net11.0). Updated all major NuGet dependencies to their .NET 11-compatible versions, including Microsoft.AspNetCore.*, Microsoft.EntityFrameworkCore.*, Microsoft.Extensions.*, Serilog, System.Text.Json, and Npgsql.EntityFrameworkCore.PostgreSQL (now 11.0.0-preview.1). Regenerated all project.assets.json, NuGet cache, and MSBuild files to reflect the new framework and package versions. Removed or updated incompatible dependencies and references. Set allWarningsAsErrors: true in NuGet spec files for stricter builds. No application logic changes were made; all updates are related to project configuration, dependency management, and build system modernization for .NET 11.0.
2026-02-20 17:55:22 -05:00
wjones fd03e1f564 Add PostgreSQL provider and EF Core 10 support
Introduce Jellyfin.Database.Providers.Postgres project, enabling PostgreSQL as a database backend using Entity Framework Core 10 and Npgsql. Add custom value converters and model builder extensions for PostgreSQL compatibility. Update solution-wide dependencies to Microsoft.EntityFrameworkCore 10.0.3 and Npgsql.EntityFrameworkCore.PostgreSQL 9.0.2 (as a temporary workaround until 10.x is released). Regenerate all relevant NuGet, build, and cache files. Add new and updated binaries, debug symbols, and XML documentation for affected projects. No application source code changes outside of the new provider and supporting infrastructure.
2026-02-20 16:52:36 -05:00
wjones ae274053a8 Add Sqlite provider binaries and enhance API documentation
- Added new compiled binaries and XML documentation for Jellyfin.Database.Providers.Sqlite, Jellyfin.Extensions, MediaBrowser.Common, and related assemblies.
- Introduced Jellyfin.Database.Providers.Sqlite as a new SQLite database provider, including its runtime and dependency files.
- Added and updated XML documentation files (e.g., Jellyfin.Database.Implementations.xml, MediaBrowser.Model.xml) to provide comprehensive API references for developers.
- Fixed a constructor bug in SqliteDatabaseProvider.cs and updated code analysis suppressions via GlobalSuppressions.cs.
- Updated build artifacts and cache files to reflect the new and rebuilt assemblies.
- These changes improve modularity, code quality, and developer experience through better documentation and code analysis configuration.
2026-02-20 16:37:44 -05:00
wjones 86e41f4f6f Enhance modularity and add comprehensive XML documentation
Refactored the codebase to introduce new modular assemblies, including Jellyfin.CodeAnalysis, Jellyfin.Data, Jellyfin.Database.Implementations, and Jellyfin.Extensions, along with their debug symbols and detailed XML documentation files. Added GlobalSuppressions.cs to formalize code style rules. Updated build outputs for MediaBrowser.Common and MediaBrowser.Model, and included dependency manifests. These changes significantly improve API documentation, enforce code style standards, and support a more modular project structure. No functional code changes were made.
2026-02-20 16:32:02 -05:00
wjones af1152b001 Refactor: standardize namespace and using directive style
Refactored all C# test files to use explicit namespace declarations and moved all using directives inside the namespace block for consistency. Updated assembly info and cache files to reflect the new build. Adjusted MvcTestingAppManifest.json to use fully qualified assembly names. No functional changes; all updates are related to code style, organization, and project metadata.
2026-02-20 16:26:53 -05:00
wjones 44ab9e1d6d Updated code to correct build errors for Jellyfin.Extensions 2026-02-20 11:24:16 -05:00
wjones d5fdbec943 Updated code to correct build errors for Jelyfin.Data and Jellyfin.Database.Implementations 2026-02-19 15:51:56 -05:00
wjones f47555f2aa commit after checkout of development branch 2026-02-19 12:38:09 -05:00
wjones 036953f3ff Updating project to correct the following errors:
1. Using directive should appear within a namespace declaration
2. Use trailing comma in multi-line initializers
2026-02-19 11:06:43 -05:00
wjones 1c6730e2ad creating pgsql development branch 2026-02-19 09:20:41 -05:00
wjones ddf6ff69be create branch for pgsql development 2026-02-19 08:37:20 -05:00
wjones 460884fea3 repo creation with initial code after cloning public repo 2026-02-19 07:36:25 -05:00