Upload 5 modified files from chat-switchboard-v0.5.1-1.zip

This commit is contained in:
2026-02-18 21:07:57 +00:00
parent 7075538702
commit 410492a7fa
3 changed files with 26 additions and 8 deletions

View File

@@ -260,7 +260,17 @@ async function sendMessage() {
UI.toast('Generation stopped', 'warning');
} else {
console.error('Completion error:', e);
UI.toast(e.message, 'error');
// Distinguish provider-side auth errors from session issues
const msg = e.message || '';
if (msg.includes('provider error') && msg.includes('401')) {
UI.toast('Provider API key rejected — check your key in Settings → Providers', 'error');
} else if (msg.includes('provider error') && msg.includes('429')) {
UI.toast('Provider rate limit hit — wait a moment and retry', 'warning');
} else if (msg.includes('no API config') || msg.includes('no model')) {
UI.toast('No provider configured — add one in Settings → Providers', 'error');
} else {
UI.toast(msg, 'error');
}
}
} finally {
App.isGenerating = false;
@@ -306,7 +316,14 @@ async function regenerate() {
chat.messages.push({ role: 'assistant', content, model, timestamp: new Date().toISOString() });
UI.showRegenerate(true);
} catch (e) {
if (e.name !== 'AbortError') UI.toast(e.message, 'error');
if (e.name !== 'AbortError') {
const msg = e.message || '';
if (msg.includes('provider error') && msg.includes('401')) {
UI.toast('Provider API key rejected — check Settings → Providers', 'error');
} else {
UI.toast(msg, 'error');
}
}
} finally {
App.isGenerating = false;
App.abortController = null;

View File

@@ -508,7 +508,8 @@ function switchDebugTab(tab) {
document.querySelectorAll('.debug-tab').forEach(t => t.classList.remove('active'));
document.querySelectorAll('.debug-tab-content').forEach(c => c.style.display = 'none');
document.querySelector(`.debug-tab[data-tab="${tab}"]`)?.classList.add('active');
document.getElementById(`debug${tab.charAt(0).toUpperCase() + tab.slice(1)}Tab`)?.style.display = '';
const panel = document.getElementById(`debug${tab.charAt(0).toUpperCase() + tab.slice(1)}Tab`);
if (panel) panel.style.display = '';
DebugLog.render();
}