Skip to content

Commit f878c35

Browse files
committed
test fix unknown msg
1 parent 3c45dc5 commit f878c35

File tree

2 files changed

+60
-24
lines changed

2 files changed

+60
-24
lines changed

app/templates/components/quick_actions.html

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -173,40 +173,46 @@ <h3 class="text-sm font-black text-black mb-2 flex items-center gap-1">
173173
// Render agents (max 4)
174174
const agentsContainer = document.getElementById('agents-container');
175175
if (agentsContainer && data.agents) {
176-
agentsContainer.innerHTML = data.agents.slice(0, 4).map(agent => `
177-
<button class="action-button action-button--primary" onclick="addAgent('${agent.name}')">
176+
agentsContainer.innerHTML = data.agents.slice(0, 4).map(agent => {
177+
const name = agent.name || 'Unknown';
178+
return `
179+
<button class="action-button action-button--primary" onclick="addAgent('${name.replace(/'/g, "\\'")}')">
178180
<div class="action-button__plus">+</div>
179181
<div class="action-button__content">
180-
<span class="action-button__label">${agent.name}</span>
182+
<span class="action-button__label">${name}</span>
181183
</div>
182184
</button>
183-
`).join('');
185+
`}).join('');
184186
}
185187

186188
// Render MCPs (max 4)
187189
const mcpsContainer = document.getElementById('mcps-container');
188190
if (mcpsContainer && data.mcps) {
189-
mcpsContainer.innerHTML = data.mcps.slice(0, 4).map(mcp => `
190-
<button class="action-button action-button--secondary" onclick="addMCP('${mcp.name}')">
191+
mcpsContainer.innerHTML = data.mcps.slice(0, 4).map(mcp => {
192+
const name = mcp.name || 'Unknown';
193+
return `
194+
<button class="action-button action-button--secondary" onclick="addMCP('${name.replace(/'/g, "\\'")}')">
191195
<div class="action-button__plus">+</div>
192196
<div class="action-button__content">
193-
<span class="action-button__label">${mcp.name}</span>
197+
<span class="action-button__label">${name}</span>
194198
</div>
195199
</button>
196-
`).join('');
200+
`}).join('');
197201
}
198202

199203
// Render rules (max 4)
200204
const rulesContainer = document.getElementById('rules-container');
201205
if (rulesContainer && data.rules) {
202-
rulesContainer.innerHTML = data.rules.slice(0, 4).map(rule => `
203-
<button class="action-button action-button--accent" onclick="addRule('${rule.name}')">
206+
rulesContainer.innerHTML = data.rules.slice(0, 4).map(rule => {
207+
const name = rule.name || 'Unknown';
208+
return `
209+
<button class="action-button action-button--accent" onclick="addRule('${name.replace(/'/g, "\\'")}')">
204210
<div class="action-button__plus">+</div>
205211
<div class="action-button__content">
206-
<span class="action-button__label">${rule.name}</span>
212+
<span class="action-button__label">${name}</span>
207213
</div>
208214
</button>
209-
`).join('');
215+
`}).join('');
210216
}
211217
} catch (error) {
212218
console.error('Error loading actions:', error);
@@ -255,14 +261,26 @@ <h3 class="text-sm font-black text-black mb-2 flex items-center gap-1">
255261

256262
// Action functions that use backend data
257263
function addAgent(name) {
264+
if (!name || name === 'Unknown') {
265+
console.error('Invalid agent name');
266+
return;
267+
}
258268
createNewContextAndInstallAgent(name);
259269
}
260270

261271
function addRule(name) {
272+
if (!name || name === 'Unknown') {
273+
console.error('Invalid rule name');
274+
return;
275+
}
262276
createNewContextAndInsertRule(name);
263277
}
264278

265279
function addMCP(name) {
280+
if (!name || name === 'Unknown') {
281+
console.error('Invalid MCP name');
282+
return;
283+
}
266284
createNewContextAndInstallMCP(name);
267285
}
268286

app/templates/components/workspace_actions.html

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -262,34 +262,40 @@ <h3 class="text-lg font-black text-black mb-3">Quick Actions</h3>
262262
// Render MCPs
263263
const mcpsContainer = document.getElementById('sidebar-mcps-container');
264264
if (mcpsContainer && data.mcps) {
265-
mcpsContainer.innerHTML = data.mcps.map(mcp => `
266-
<button class="sidebar-themed-button" onclick="installMCP('${mcp.name}')">
265+
mcpsContainer.innerHTML = data.mcps.map(mcp => {
266+
const name = mcp.name || 'Unknown';
267+
return `
268+
<button class="sidebar-themed-button" onclick="installMCP('${name.replace(/'/g, "\\'")}')">
267269
<span class="button-accent-icon">+</span>
268-
<span>${mcp.name}</span>
270+
<span>${name}</span>
269271
</button>
270-
`).join('');
272+
`}).join('');
271273
}
272274

273275
// Render rules
274276
const rulesContainer = document.getElementById('sidebar-rules-container');
275277
if (rulesContainer && data.rules) {
276-
rulesContainer.innerHTML = data.rules.map(rule => `
277-
<button class="sidebar-themed-button" onclick="installRule('${rule.name}')">
278+
rulesContainer.innerHTML = data.rules.map(rule => {
279+
const name = rule.name || 'Unknown';
280+
return `
281+
<button class="sidebar-themed-button" onclick="installRule('${name.replace(/'/g, "\\'")}')">
278282
<span class="button-accent-icon">+</span>
279-
<span>${rule.name}</span>
283+
<span>${name}</span>
280284
</button>
281-
`).join('');
285+
`}).join('');
282286
}
283287

284288
// Render agents
285289
const agentsContainer = document.getElementById('sidebar-agents-container');
286290
if (agentsContainer && data.agents) {
287-
agentsContainer.innerHTML = data.agents.map(agent => `
288-
<button class="sidebar-themed-button" onclick="installAgent('${agent.name}')">
291+
agentsContainer.innerHTML = data.agents.map(agent => {
292+
const name = agent.name || 'Unknown';
293+
return `
294+
<button class="sidebar-themed-button" onclick="installAgent('${name.replace(/'/g, "\\'")}')">
289295
<span class="button-accent-icon">+</span>
290-
<span>${agent.name}</span>
296+
<span>${name}</span>
291297
</button>
292-
`).join('');
298+
`}).join('');
293299
}
294300
} catch (error) {
295301
console.error('Error loading sidebar actions:', error);
@@ -298,6 +304,10 @@ <h3 class="text-lg font-black text-black mb-3">Quick Actions</h3>
298304

299305
// Install functions
300306
async function installAgent(agentName) {
307+
if (!agentName || agentName === 'Unknown') {
308+
console.error('Invalid agent name');
309+
return;
310+
}
301311
try {
302312
const response = await fetch(`/api/actions/agent-content/${encodeURIComponent(agentName)}`);
303313

@@ -320,6 +330,10 @@ <h3 class="text-lg font-black text-black mb-3">Quick Actions</h3>
320330
}
321331

322332
async function installMCP(mcpName) {
333+
if (!mcpName || mcpName === 'Unknown') {
334+
console.error('Invalid MCP name');
335+
return;
336+
}
323337
try {
324338
// Get current .mcp.json content from workspace
325339
let currentConfig = {};
@@ -361,6 +375,10 @@ <h3 class="text-lg font-black text-black mb-3">Quick Actions</h3>
361375
}
362376

363377
async function installRule(ruleName) {
378+
if (!ruleName || ruleName === 'Unknown') {
379+
console.error('Invalid rule name');
380+
return;
381+
}
364382
try {
365383
const response = await fetch(`/api/actions/rule-content/${encodeURIComponent(ruleName)}`);
366384

0 commit comments

Comments
 (0)