feat(dashboard): UGC list shows a model's given name, and Took/CPU/RAM columns

The models list's Took, CPU and RAM (est.) are separate columns, each
sortable (sort=slowest|cpu|memory). The File column shows the name a
player gave the model where it is placed, with the upload's extension
(the upload's file name is its tooltip), and the name sort uses it
(case-insensitive, so SQLite and MySQL agree).

The config layer test no longer assumes the build's sharedconfig.ini has
no mysql_host; it checks that the database-supplied value isn't used.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-27 21:03:32 -05:00
parent 3d6c781e30
commit 06dd2f2d64
9 changed files with 38 additions and 15 deletions

View File

@@ -24,7 +24,7 @@ TEST(ConfigLayerTests, DatabaseValuesLayerAroundFilesAndEnvironment) {
config.SetDatabaseValues({ { "zz_override", "web" }, { "mysql_host", "evil" } }, { { "zz_fallback", "web" }, { "zz_both", "web" } });
EXPECT_EQ(config.GetValue("zz_override"), "web");
EXPECT_EQ(config.GetValue("zz_fallback"), "web");
EXPECT_EQ(config.GetValue("mysql_host"), ""); // connection settings never come from the database
EXPECT_NE(config.GetValue("mysql_host"), "evil"); // connection settings never come from the database (the build's own sharedconfig.ini may set one)
EXPECT_EQ(config.GetValue("zz_missing"), "");
// The environment beats a fallback but not an override