From 4c9ad93f54d7f8c5f349cdae47538447c514571f Mon Sep 17 00:00:00 2001
From: Tim Bradgate
Date: Sun, 24 May 2026 11:05:59 +0100
Subject: [PATCH 1/2] Fix V3 config backups tab: NOOP WebSocket warning and
BTable sort crash (#1079)
- Add `case 'NOOP': break;` to the WebSocket handleMessage switch so the
intentional NOOP carrier OP (used to deliver ACTION-based messages on
connect) is silently consumed instead of falling to the default warn log.
- Remove invalid BVN 0.45.x props `sort-by="created_at"` and
`:sort-desc="true"` from ConfigBackups BTable. BVN replaced the old BV2
string/bool pair with `v-model:sort-by` (BTableSortBy[]); passing a
string caused computedItems to call `"created_at"?.filter(fn)` which
threw TypeError. Backend already returns backups sorted newest-first.
Co-authored-by: Claude Sonnet 4.6
---
client-v3/src/components/config/ConfigBackups.vue | 2 +-
client-v3/src/composables/useWebSocket.ts | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/client-v3/src/components/config/ConfigBackups.vue b/client-v3/src/components/config/ConfigBackups.vue
index f220184ff..e5ba60422 100644
--- a/client-v3/src/components/config/ConfigBackups.vue
+++ b/client-v3/src/components/config/ConfigBackups.vue
@@ -5,7 +5,7 @@
{{ count }} {{ count === 1 ? 'backup' : 'backups' }} ·
{{ formatBytes(totalSizeBytes) }} total
-
+
{{ formatBytes(data.item.size_bytes) }}
diff --git a/client-v3/src/composables/useWebSocket.ts b/client-v3/src/composables/useWebSocket.ts
index 5c3672992..24489d92e 100644
--- a/client-v3/src/composables/useWebSocket.ts
+++ b/client-v3/src/composables/useWebSocket.ts
@@ -91,6 +91,8 @@ async function handleMessage(msg: WsMessage): Promise {
case 'RELOAD_CLIENT':
window.location.reload();
break;
+ case 'NOOP':
+ break;
default:
log.warn(`Unknown OP received from WebSocket: ${msg.OP}`);
}
From d0a798fc13945d0a01a8d82dd1eb4c592ef0da52 Mon Sep 17 00:00:00 2001
From: Tim Bradgate
Date: Sun, 24 May 2026 11:12:03 +0100
Subject: [PATCH 2/2] Bump version to 0.30.1
---
client-v3/package-lock.json | 4 ++--
client-v3/package.json | 2 +-
client/package-lock.json | 4 ++--
client/package.json | 2 +-
electron/package-lock.json | 4 ++--
electron/package.json | 2 +-
server/pyproject.toml | 2 +-
7 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/client-v3/package-lock.json b/client-v3/package-lock.json
index 135310679..66b2a725b 100644
--- a/client-v3/package-lock.json
+++ b/client-v3/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "client-v3",
- "version": "0.30.0",
+ "version": "0.30.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "client-v3",
- "version": "0.30.0",
+ "version": "0.30.1",
"dependencies": {
"@vuelidate/core": "^2.0.3",
"@vuelidate/validators": "^2.0.4",
diff --git a/client-v3/package.json b/client-v3/package.json
index 4164a96d9..e554d6d4f 100644
--- a/client-v3/package.json
+++ b/client-v3/package.json
@@ -1,6 +1,6 @@
{
"name": "client-v3",
- "version": "0.30.0",
+ "version": "0.30.1",
"description": "DigiScript front end (Vue 3)",
"author": "DreamTeamProd",
"private": true,
diff --git a/client/package-lock.json b/client/package-lock.json
index a94a49704..aaa5349b0 100644
--- a/client/package-lock.json
+++ b/client/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "client",
- "version": "0.30.0",
+ "version": "0.30.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "client",
- "version": "0.30.0",
+ "version": "0.30.1",
"dependencies": {
"bootstrap": "4.6.2",
"bootstrap-vue": "2.23.1",
diff --git a/client/package.json b/client/package.json
index ce38dbe33..c9f046846 100644
--- a/client/package.json
+++ b/client/package.json
@@ -1,6 +1,6 @@
{
"name": "client",
- "version": "0.30.0",
+ "version": "0.30.1",
"description": "DigiScript front end",
"author": "DreamTeamProd",
"private": true,
diff --git a/electron/package-lock.json b/electron/package-lock.json
index f5bbd4a9b..2bc2a2aca 100644
--- a/electron/package-lock.json
+++ b/electron/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "digiscript-electron",
- "version": "0.30.0",
+ "version": "0.30.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "digiscript-electron",
- "version": "0.30.0",
+ "version": "0.30.1",
"license": "GPL-3.0",
"dependencies": {
"bonjour-service": "^1.4.0",
diff --git a/electron/package.json b/electron/package.json
index 2cb89144b..7107e58c7 100644
--- a/electron/package.json
+++ b/electron/package.json
@@ -1,6 +1,6 @@
{
"name": "digiscript-electron",
- "version": "0.30.0",
+ "version": "0.30.1",
"description": "DigiScript Electron Desktop Application",
"author": "DreamTeamProd",
"license": "GPL-3.0",
diff --git a/server/pyproject.toml b/server/pyproject.toml
index d44eee6d9..c9cc12964 100644
--- a/server/pyproject.toml
+++ b/server/pyproject.toml
@@ -11,7 +11,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "digiscript-server"
-version = "0.30.0"
+version = "0.30.1"
description = "DigiScript server - Digital script management for theatrical shows"
readme = "../README.md"
requires-python = ">=3.13"