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

@@ -167,3 +167,30 @@ func TestShouldSignBuildNoRequestFlag(t *testing.T) {
t.Fatal("SignBuild flag required")
}
}
func TestBuildExtraFilesFromArtifacts(t *testing.T) {
if got := buildExtraFilesFromArtifacts(nil); got != nil {
t.Fatalf("nil input should return nil, got %+v", got)
}
if got := buildExtraFilesFromArtifacts([]BuildArtifactFile{}); got != nil {
t.Fatalf("empty slice should return nil, got %+v", got)
}
arts := []BuildArtifactFile{
{FileName: "readme.txt", FilePath: "/tmp/readme.txt"},
{FileName: "runner.exe", FilePath: "/tmp/runner.exe"},
}
got := buildExtraFilesFromArtifacts(arts)
if len(got) != 2 {
t.Fatalf("expected 2 extras, got %d", len(got))
}
if got[0].FileName != "readme.txt" || got[0].FilePath != "/tmp/readme.txt" {
t.Fatalf("first artifact: %+v", got[0])
}
}
func TestFusionUniversalStartShBareExtension(t *testing.T) {
sh := fusionUniversalStartSh(".pdf")
if !strings.Contains(sh, "-runner") {
t.Fatalf("expected runner suffix in script: %q", sh)
}
}