diff --git a/internal/database/jellycompat_server_name_migration_test.go b/internal/database/jellycompat_server_name_migration_test.go new file mode 100644 index 00000000..db76432d --- /dev/null +++ b/internal/database/jellycompat_server_name_migration_test.go @@ -0,0 +1,31 @@ +package database + +import ( + "os" + "strings" + "testing" +) + +func TestJellycompatServerNameDefaultsToSilo(t *testing.T) { + initialSchema, err := os.ReadFile("../../migrations/sql/001_schema.sql") + if err != nil { + t.Fatalf("read initial schema: %v", err) + } + if !strings.Contains(string(initialSchema), "('jellyfin_compat.server_name', 'Silo')") { + t.Fatal("initial schema does not seed the Jellyfin compat server name to Silo") + } + + migration, err := os.ReadFile("../../migrations/sql/20260806224241_rename_default_jellycompat_server_to_silo.sql") + if err != nil { + t.Fatalf("read server-name migration: %v", err) + } + normalized := strings.Join(strings.Fields(string(migration)), " ") + for _, fragment := range []string{ + "SET value = 'Silo'", + "WHERE key = 'jellyfin_compat.server_name' AND value = 'StreamApp'", + } { + if !strings.Contains(normalized, fragment) { + t.Fatalf("server-name migration missing %q:\n%s", fragment, migration) + } + } +} diff --git a/migrations/sql/001_schema.sql b/migrations/sql/001_schema.sql index cc48aa24..8e4511a0 100644 --- a/migrations/sql/001_schema.sql +++ b/migrations/sql/001_schema.sql @@ -2456,7 +2456,7 @@ INSERT INTO public.server_settings (key, value) VALUES ('matcher.batch_size', '500'), ('jellyfin_compat.public_url', 'http://127.0.0.1:8096'), ('jellyfin_compat.emulated_server_version', '10.12.0'), - ('jellyfin_compat.server_name', 'StreamApp'), + ('jellyfin_compat.server_name', 'Silo'), ('jellyfin_compat.session_ttl', '87600h'), ('jellyfin_compat.playback_session_ttl', '6h'), ('userdb.backend', 'postgres'), diff --git a/migrations/sql/20260806224241_rename_default_jellycompat_server_to_silo.sql b/migrations/sql/20260806224241_rename_default_jellycompat_server_to_silo.sql new file mode 100644 index 00000000..955ca428 --- /dev/null +++ b/migrations/sql/20260806224241_rename_default_jellycompat_server_to_silo.sql @@ -0,0 +1,10 @@ +-- +goose Up +UPDATE server_settings +SET value = 'Silo' +WHERE key = 'jellyfin_compat.server_name' + AND value = 'StreamApp'; + +-- +goose Down +-- Intentionally a no-op: after the update there is no reliable way to +-- distinguish the migrated default from an operator-chosen "Silo" name. +SELECT 1;