Fix bunker UI state management issues (v0.44.5)
Some checks failed
Go / build-and-release (push) Has been cancelled
Some checks failed
Go / build-and-release (push) Has been cancelled
- Add guard to prevent duplicate service starts - Fix stale variable references in error handler - Show token list even when WebSocket temporarily disconnects - Add logging for bunker service status changes Files modified: - app/web/src/BunkerView.svelte: UI state fixes - app/web/dist/bundle.js: Rebuilt web UI 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2
app/web/dist/bundle.js
vendored
2
app/web/dist/bundle.js
vendored
File diff suppressed because one or more lines are too long
2
app/web/dist/bundle.js.map
vendored
2
app/web/dist/bundle.js.map
vendored
File diff suppressed because one or more lines are too long
@@ -163,6 +163,12 @@
|
|||||||
|
|
||||||
// Start the bunker service
|
// Start the bunker service
|
||||||
async function startBunkerService() {
|
async function startBunkerService() {
|
||||||
|
// Prevent starting if already active or starting
|
||||||
|
if (isServiceActive || isStartingService) {
|
||||||
|
console.log("Service already active or starting, ignoring");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!userPrivkey || !userPubkey || !bunkerInfo) {
|
if (!userPrivkey || !userPubkey || !bunkerInfo) {
|
||||||
error = "Missing private key or bunker info";
|
error = "Missing private key or bunker info";
|
||||||
return;
|
return;
|
||||||
@@ -221,7 +227,10 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
bunkerService.onStatusChange = (status) => {
|
bunkerService.onStatusChange = (status) => {
|
||||||
|
console.log("[BunkerView] Service status changed:", status);
|
||||||
isServiceActive = status === 'connected';
|
isServiceActive = status === 'connected';
|
||||||
|
// Don't clear tokens on disconnect - they're still valid
|
||||||
|
// Just clear the connected clients list
|
||||||
if (status === 'disconnected') {
|
if (status === 'disconnected') {
|
||||||
connectedClients = [];
|
connectedClients = [];
|
||||||
}
|
}
|
||||||
@@ -240,8 +249,9 @@
|
|||||||
error = err.message || "Failed to start bunker service";
|
error = err.message || "Failed to start bunker service";
|
||||||
bunkerService = null;
|
bunkerService = null;
|
||||||
isServiceActive = false;
|
isServiceActive = false;
|
||||||
catToken = null;
|
serviceCatToken = null;
|
||||||
catTokenEncoded = "";
|
clientTokens = [];
|
||||||
|
selectedTokenId = null;
|
||||||
} finally {
|
} finally {
|
||||||
isStartingService = false;
|
isStartingService = false;
|
||||||
}
|
}
|
||||||
@@ -409,8 +419,8 @@
|
|||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Client Tokens Table -->
|
<!-- Client Tokens Table - show if tokens exist, even if temporarily disconnected -->
|
||||||
{#if isServiceActive && clientTokens.length > 0}
|
{#if clientTokens.length > 0}
|
||||||
<div class="tokens-section">
|
<div class="tokens-section">
|
||||||
<div class="tokens-header">
|
<div class="tokens-header">
|
||||||
<h4>Client Tokens</h4>
|
<h4>Client Tokens</h4>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
v0.44.4
|
v0.44.5
|
||||||
|
|||||||
Reference in New Issue
Block a user