Skip to content

Commit a89cec7

Browse files
hyperpolymathclaude
andcommitted
fix: wire Groove IPC bindings and broken Set Up Server buttons
Shell.eph was missing all 5 Groove handler bindings (groove_discover, groove_alert, groove_status, groove_tts, groove_drift_alert) — they were implemented in Bridge.eph but never registered on the IPC channel. server-browser/panel.html had two broken "Set Up Server" buttons: - Profile cards button had onclick="event.stopPropagation();" only, swallowing the click without calling startSetupWizard - Search results button had no onclick at all Both buttons now stop propagation and invoke the appropriate setup function matching the parent card's onclick expression. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent ee8c737 commit a89cec7

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

src/core/Shell.eph

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
-- SPDX-License-Identifier: PMPL-1.0-or-later
1+
-- SPDX-License-Identifier: AGPL-3.0-or-later
22
-- Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath)
33
--
44
-- Shell.eph — Gossamer webview lifecycle for Game Server Admin
@@ -178,6 +178,18 @@ fn bindAllHandlers(channel: I64, caps: &GsaCapSet) -> I64 =
178178
let! channel = __ffi("gossamer_channel_bind", channel, "browse_file",
179179
fn(payload: String) -> String { Bridge.handleBrowseFile(payload) }) in
180180

181+
-- Groove voice alerting handlers (Burble/Vext integration)
182+
let! channel = __ffi("gossamer_channel_bind", channel, "groove_discover",
183+
fn(payload: String) -> String { Bridge.handleGrooveDiscover(payload, caps) }) in
184+
let! channel = __ffi("gossamer_channel_bind", channel, "groove_alert",
185+
fn(payload: String) -> String { Bridge.handleGrooveAlert(payload, caps) }) in
186+
let! channel = __ffi("gossamer_channel_bind", channel, "groove_status",
187+
fn(payload: String) -> String { Bridge.handleGrooveStatus(payload) }) in
188+
let! channel = __ffi("gossamer_channel_bind", channel, "groove_tts",
189+
fn(payload: String) -> String { Bridge.handleGrooveTTS(payload, caps) }) in
190+
let! channel = __ffi("gossamer_channel_bind", channel, "groove_drift_alert",
191+
fn(payload: String) -> String { Bridge.handleGrooveDriftAlert(payload, caps) }) in
192+
181193
channel
182194

183195
-- =============================================================================

src/gui/panels/server-browser/panel.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!--
2-
SPDX-License-Identifier: PMPL-1.0-or-later
2+
SPDX-License-Identifier: AGPL-3.0-or-later
33
Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath)
44
55
server-browser/panel.html — Game Hub: discovery, setup, and lifecycle management
@@ -576,7 +576,7 @@ <h3>Uninstall Server</h3>
576576
}
577577

578578
html += '</div>'
579-
+ '<button class="btn btn-sm btn-primary" style="width:100%;" onclick="event.stopPropagation();">Set Up Server</button>'
579+
+ '<button class="btn btn-sm btn-primary" style="width:100%;" onclick="event.stopPropagation();startSetupWizard(' + escapeHtml(JSON.stringify(JSON.stringify(p))) + ')">Set Up Server</button>'
580580
+ '</div>';
581581
});
582582

@@ -717,7 +717,7 @@ <h3>Uninstall Server</h3>
717717
}
718718

719719
html += '</div>'
720-
+ '<button class="btn btn-sm btn-primary" style="width:100%;">Set Up Server</button>'
720+
+ '<button class="btn btn-sm btn-primary" style="width:100%;" onclick="event.stopPropagation();' + (r.profile ? 'startSetupWizard(' + escapeHtml(JSON.stringify(JSON.stringify(r.profile))) + ')' : 'startSteamSetup(' + (r.appid || 0) + ',\'' + escapeHtml(r.name) + '\')') + '">Set Up Server</button>'
721721
+ '</div>';
722722
});
723723

0 commit comments

Comments
 (0)