Improve portable launch, forge persistence, and operator auth UX.

Persist build extra_files for Build Manager history, print dashboard login on every start, add libp2p for Mesh P2P forge, defer WebSocket until login, and split devrun.bat from LAUNCH.bat with USB deck auto-detection.
This commit is contained in:
AetherForge
2026-05-31 18:56:43 -07:00
parent 2f528229f2
commit feba06e008
80 changed files with 2897 additions and 675 deletions

View File

@@ -61,6 +61,27 @@ func TestBuildCRUDAndList(t *testing.T) {
}
}
func TestBuildExtraFilesRoundTrip(t *testing.T) {
d := openTestDB(t)
build := &models.BuildRecord{
ID: "build-extra", WorkerName: "w", ServerURL: "u", Wallet: "w", CreatedAt: time.Now(),
DownloadURL: "/api/v1/builds/build-extra/download",
ExtraFiles: []models.BuildExtraFile{
{FileName: "payload.enc", FilePath: "/data/payload.enc"},
{FileName: "README.txt"},
},
}
insertBuild(t, d, build)
got, err := d.GetBuild("build-extra")
if err != nil {
t.Fatal(err)
}
if len(got.ExtraFiles) != 2 || got.ExtraFiles[0].FileName != "payload.enc" {
t.Fatalf("extra_files mismatch: %+v", got.ExtraFiles)
}
}
func TestGetBuildNotFound(t *testing.T) {
d := openTestDB(t)
_, err := d.GetBuild("missing")