using System.Globalization; namespace Jellyfin.Server.ServerSetupApp; /// /// A curated vocabulary of generic, non-identifying descriptions of what the server is doing during startup. /// These are shown in the always-visible header of the startup UI to unauthenticated clients, so every /// value must stay generic and must never contain server specific details (paths, names, plugin or migration ids, counts of items, etc.). /// public static class StartupActivity { /// The default state before any work has been reported. public const string Starting = "Starting up"; /// Validating that the configured storage locations are usable. public const string CheckingStorage = "Checking storage"; /// Bringing up the migration subsystem and running early startup checks. public const string Initializing = "Initializing server"; /// Preparing the system for migrations (e.g. taking safety backups). public const string PreparingMigrations = "Preparing migrations"; /// Applying database/system migrations without a known count. public const string ApplyingMigrations = "Applying migrations"; /// Restoring from a backup. public const string RestoringBackup = "Restoring backup"; /// Bringing up core services and plugins. public const string InitializingServices = "Initializing services"; /// Running the final startup tasks. public const string FinishingStartup = "Finishing startup"; /// /// Builds a generic "Running migration X of Y" description. Only the numeric position and total are exposed. /// /// The 1-based index of the migration currently running. /// The total number of migrations in this batch. /// A generic progress description. public static string Migration(int current, int total) => string.Format(CultureInfo.InvariantCulture, "Running migration {0} of {1}", current, total); }