fix: second-wave bug fixes, security hardening, visual polish, UX improvements
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Bug fixes: - SRV-B1 through B5: server config, router, server_info, syscheck corrections - BA-03 through BA-06: builder path and universal build cleanup (BLD-D1 through D3) - Frontend WS race condition and useVisibleInterval hook fixed - Drive-root path bug in PathForge resolved - Upload error handling improved Security: - PathForge path traversal guard added - Script injection escaping applied throughout Visual (DV-01 through DV-15): - Cyan design tokens and page headers standardised - Dead CSS removed from Pages.css, PathTracerPage.css, wealth-deck.css - SacredPageHeader deleted (replaced inline); sidebar version display fixed UX: - Emberwake request storm fixed (EmberwakePage.tsx) - Help blurbs UH-01, UH-02, UH-06 added - HelpTips wired into Crucible, Fleet (FleetGroupsStrip, FleetToolbar), Settings Build: - vite.config.ts: webroot auto-sync on build - build_universal.go: universal build artifact cleanup - PROBLEMS.md tracking updated
This commit is contained in:
@@ -372,6 +372,11 @@ func (c *Config) AlertSettings() alerts.Settings {
|
||||
})
|
||||
}
|
||||
|
||||
// mergeConfig is the legacy unconditional merge used only as a fallback when no
|
||||
// field-presence map is available (i.e. never during API PUT). Boolean fields such
|
||||
// as UseTLS are blindly copied from src, meaning a zero-value src resets them to
|
||||
// false. Prefer mergeConfigExplicit for all partial-update paths — it only applies
|
||||
// a field when that key was explicitly present in the JSON payload.
|
||||
func mergeConfig(dst, src *Config) {
|
||||
if src.Port != 0 {
|
||||
dst.Port = src.Port
|
||||
|
||||
Reference in New Issue
Block a user