v1.1.0: Parser versioning, server info, auto-browser, section overviews

- Add parser versioning with Version() method and version display on main screen
- Add server model and serial number to Configuration tab and TXT export
- Add auto-browser opening on startup with --no-browser flag
- Add Restart and Exit buttons with graceful shutdown
- Add section overview stats (CPU, Power, Storage, GPU, Network)
- Change PCIe Link display to "x16 PCIe Gen4" format
- Add Location column to Serials section
- Extract BoardInfo from FRU and PlatformId from ThermalConfig

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-25 13:49:43 +03:00
parent e52eb909f7
commit c7422e95aa
11 changed files with 507 additions and 61 deletions

View File

@@ -46,6 +46,35 @@ func ListParsers() []string {
return vendors
}
// ParserInfo contains information about a registered parser
type ParserInfo struct {
Vendor string `json:"vendor"`
Name string `json:"name"`
Version string `json:"version"`
}
// ListParsersInfo returns detailed info about all registered parsers
func ListParsersInfo() []ParserInfo {
registryLock.RLock()
defer registryLock.RUnlock()
parsers := make([]ParserInfo, 0, len(registry))
for _, p := range registry {
parsers = append(parsers, ParserInfo{
Vendor: p.Vendor(),
Name: p.Name(),
Version: p.Version(),
})
}
// Sort by vendor name
sort.Slice(parsers, func(i, j int) bool {
return parsers[i].Vendor < parsers[j].Vendor
})
return parsers
}
// DetectResult holds detection result for a parser
type DetectResult struct {
Parser VendorParser