chore: bump version to 0.1637

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
arkon
2026-02-25 09:23:18 +01:00
co-authored by Claude Opus 4.6
parent 475062f0af
commit 8d3ce5ef57
5 changed files with 22 additions and 11 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ When user says "COM":
1. Increment version in BOTH `package.json` AND `CLAUDE.md` (verify they match with `grep version package.json && grep Version CLAUDE.md`)
2. Run: `git add -A && git commit -m "chore: bump version to X.XXXX" && git push && npm run build && systemctl --user restart claudeman-web`
**Version**: 0.1636 (must match `package.json`)
**Version**: 0.1637 (must match `package.json`)
## Project Overview
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "claudeman",
"version": "0.1636",
"version": "0.1637",
"description": "The missing control plane for Claude Code - run 20 autonomous agents with real-time monitoring and session persistence",
"type": "module",
"main": "dist/index.js",
+8 -3
View File
@@ -659,8 +659,13 @@ const VoiceInput = {
this._showPreview('Listening...');
try {
this.recognition.start();
} catch (_e) {
// Already started — ignore
} catch (e) {
// InvalidStateError = already started — ignore. Other errors = genuine failure.
if (e.name !== 'InvalidStateError') {
this.stop();
app.showToast('Voice input failed to start: ' + e.message, 'error');
return;
}
}
this._resetSilenceTimeout();
// Haptic feedback on mobile
@@ -749,7 +754,7 @@ const VoiceInput = {
_insertText(text) {
if (!app.activeSessionId || !text.trim()) return;
// Send text to session input (user presses Enter to submit)
app.sendInput(text.trim());
app.sendInput(text.trim()).catch(() => {});
},
_resetSilenceTimeout() {
+2 -2
View File
@@ -320,8 +320,8 @@ html.mobile-init .file-browser-panel {
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
width: 40px;
height: 40px;
background: #1a2a3f;
border: 1px solid rgba(59, 130, 246, 0.3);
border-radius: 6px;
+10 -4
View File
@@ -2006,8 +2006,15 @@ body {
}
@keyframes voice-pulse {
0%, 100% { transform: scale(1); opacity: 1; }
50% { transform: scale(1.1); opacity: 0.75; }
0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); }
50% { box-shadow: 0 0 0 4px rgba(239, 68, 68, 0); }
}
@media (prefers-reduced-motion: reduce) {
.btn-toolbar.btn-voice.recording,
.btn-voice-mobile.recording {
animation: none;
}
}
/* Voice preview overlay — shows interim transcription */
@@ -2025,9 +2032,8 @@ body {
border: 1px solid rgba(255, 255, 255, 0.1);
font-size: 0.85rem;
max-width: 80%;
white-space: nowrap;
max-height: 3.6em;
overflow: hidden;
text-overflow: ellipsis;
z-index: 100;
pointer-events: none;
backdrop-filter: blur(8px);