groove-dev 0.26.10 → 0.26.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" type="image/png" href="/favicon.png" />
7
7
  <title>Groove GUI</title>
8
- <script type="module" crossorigin src="/assets/index-UCdYAYEi.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-DnYXpxao.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/vendor-C0HXlhrU.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/reactflow-BQPfi37R.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/codemirror-BBL3i_JW.js">
@@ -157,9 +157,9 @@ export function SpawnWizard() {
157
157
  {/* Custom role */}
158
158
  <div className="mt-3">
159
159
  <Input
160
- placeholder="or type a custom role..."
160
+ placeholder="or type a custom role (e.g. chat-agent)..."
161
161
  value={customRole}
162
- onChange={(e) => { setCustomRole(e.target.value); setRole(''); }}
162
+ onChange={(e) => { setCustomRole(e.target.value.replace(/\s+/g, '-').replace(/[^a-zA-Z0-9_-]/g, '').slice(0, 50)); setRole(''); }}
163
163
  className="text-xs"
164
164
  />
165
165
  </div>
@@ -286,8 +286,11 @@ export default function ModelsView() {
286
286
  try {
287
287
  await api.post('/providers/ollama/pull', { model: modelId });
288
288
  toast.success(`${modelId} ready to use`);
289
+ // Refresh all model lists so UI reflects the new install
289
290
  fetchInstalled();
290
291
  fetchOllamaModels();
292
+ // Also optimistically mark it installed immediately
293
+ setOllamaModels((prev) => [...prev, modelId]);
291
294
  } catch (err) {
292
295
  toast.error(`Pull failed: ${err.message}`);
293
296
  }