From 4945bc9ee9b6741327107269dca15b6ce05956dc Mon Sep 17 00:00:00 2001 From: jevb Date: Thu, 19 Mar 2026 06:20:00 +0100 Subject: [PATCH] fix: resolve CI failures in server lint and client tests Server lint (golangci-lint): - Add package comment to client_update.go (ST1000) - Remove unnecessary fmt.Sprintf in updater_test.go (S1039) - Remove redundant |0x00 in rtp_audio_level_test.go (SA4016) Client tests (vitest): - Fix messages.store.test.ts: account for .reverse() in setMessages/prependMessages (API returns newest-first) - Fix logs-tab.test.ts: use .log-entry pre selector to avoid matching diagnostics
 placeholders; add createLogger
  to @lib/logger mock
- Fix settings-overlay.test.ts: add setVoiceSensitivity to
  @lib/voiceSession mock
---
 Client/tauri-client/tests/unit/logs-tab.test.ts         | 5 ++++-
 Client/tauri-client/tests/unit/messages.store.test.ts   | 6 ++++--
 Client/tauri-client/tests/unit/settings-overlay.test.ts | 1 +
 Server/api/client_update.go                             | 2 ++
 Server/updater/updater_test.go                          | 4 ++--
 Server/ws/rtp_audio_level_test.go                       | 2 +-
 6 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/Client/tauri-client/tests/unit/logs-tab.test.ts b/Client/tauri-client/tests/unit/logs-tab.test.ts
index 0ee50f52..eef9d94f 100644
--- a/Client/tauri-client/tests/unit/logs-tab.test.ts
+++ b/Client/tauri-client/tests/unit/logs-tab.test.ts
@@ -18,6 +18,7 @@ vi.mock("@lib/logger", () => ({
   clearLogBuffer: mockClearLogBuffer,
   addLogListener: mockAddLogListener,
   setLogLevel: mockSetLogLevel,
+  createLogger: () => ({ debug: vi.fn(), info: vi.fn(), warn: vi.fn(), error: vi.fn() }),
 }));
 
 import { createLogsTab } from "../../src/components/settings/LogsTab";
@@ -93,7 +94,9 @@ describe("LogsTab", () => {
     ]);
     const handle = createLogsTab(() => "Logs" as TabName, controller.signal);
     const el = handle.build();
-    const pre = el.querySelector("pre");
+    // Find the 
 inside a log-entry row (not the diagnostics result 
).
+    const pre = el.querySelector(".log-entry pre");
+    expect(pre).not.toBeNull();
     expect(pre!.textContent).toBe("some string");
   });
 
diff --git a/Client/tauri-client/tests/unit/messages.store.test.ts b/Client/tauri-client/tests/unit/messages.store.test.ts
index 26f62fbe..a4c3b515 100644
--- a/Client/tauri-client/tests/unit/messages.store.test.ts
+++ b/Client/tauri-client/tests/unit/messages.store.test.ts
@@ -176,9 +176,10 @@ describe("messages store", () => {
   // 3. setMessages bulk sets and marks loaded
   describe("setMessages", () => {
     it("sets messages for a channel", () => {
+      // API returns newest-first; store reverses to oldest-first for display.
       const responses = [
-        makeMessageResponse({ id: 10 }),
         makeMessageResponse({ id: 11 }),
+        makeMessageResponse({ id: 10 }),
       ];
       setMessages(1, responses, false);
 
@@ -227,10 +228,11 @@ describe("messages store", () => {
   // 4. prependMessages prepends older messages
   describe("prependMessages", () => {
     it("prepends older messages before existing ones", () => {
+      // API returns newest-first; store reverses to oldest-first.
       setMessages(1, [makeMessageResponse({ id: 20 })], true);
       prependMessages(
         1,
-        [makeMessageResponse({ id: 10 }), makeMessageResponse({ id: 15 })],
+        [makeMessageResponse({ id: 15 }), makeMessageResponse({ id: 10 })],
         false,
       );
 
diff --git a/Client/tauri-client/tests/unit/settings-overlay.test.ts b/Client/tauri-client/tests/unit/settings-overlay.test.ts
index ecc2f6f0..63551ab6 100644
--- a/Client/tauri-client/tests/unit/settings-overlay.test.ts
+++ b/Client/tauri-client/tests/unit/settings-overlay.test.ts
@@ -28,6 +28,7 @@ vi.mock("@stores/ui.store", () => ({
 vi.mock("@lib/voiceSession", () => ({
   switchInputDevice: vi.fn().mockResolvedValue(undefined),
   switchOutputDevice: vi.fn().mockResolvedValue(undefined),
+  setVoiceSensitivity: vi.fn(),
 }));
 
 vi.mock("@stores/auth.store", () => ({
diff --git a/Server/api/client_update.go b/Server/api/client_update.go
index 6264d5b3..2be19f80 100644
--- a/Server/api/client_update.go
+++ b/Server/api/client_update.go
@@ -1,3 +1,5 @@
+// Package api provides the HTTP router and handlers for the OwnCord server.
+//
 // client_update.go serves Tauri-compatible update metadata so the desktop
 // client can check for new versions and self-update.
 package api
diff --git a/Server/updater/updater_test.go b/Server/updater/updater_test.go
index 3b7fd871..da51f1d3 100644
--- a/Server/updater/updater_test.go
+++ b/Server/updater/updater_test.go
@@ -397,8 +397,8 @@ func TestDownloadAndVerify_Success(t *testing.T) {
 	u := NewUpdater("1.0.0", "", "J3vb", "OwnCord")
 	u.baseURL = srv.URL
 
-	downloadURL := fmt.Sprintf("https://github.com/J3vb/OwnCord/releases/download/v1.0.0/chatserver.exe")
-	checksumURL := fmt.Sprintf("https://github.com/J3vb/OwnCord/releases/download/v1.0.0/checksums.sha256")
+	downloadURL := "https://github.com/J3vb/OwnCord/releases/download/v1.0.0/chatserver.exe"
+	checksumURL := "https://github.com/J3vb/OwnCord/releases/download/v1.0.0/checksums.sha256"
 
 	// Override HTTP client to route GitHub URLs to our test server.
 	u.httpClient = &http.Client{
diff --git a/Server/ws/rtp_audio_level_test.go b/Server/ws/rtp_audio_level_test.go
index e483eb1f..131357b4 100644
--- a/Server/ws/rtp_audio_level_test.go
+++ b/Server/ws/rtp_audio_level_test.go
@@ -33,7 +33,7 @@ func buildRTPPacket(csrcCount int, extensions []struct{ id, value byte }) []byte
 	// For simplicity each extension here has 1 byte of data (L=0).
 	var extData []byte
 	for _, ext := range extensions {
-		extData = append(extData, (ext.id<<4)|0x00) // ID | L=0 (1 byte data)
+		extData = append(extData, ext.id<<4) // ID | L=0 (1 byte data)
 		extData = append(extData, ext.value)
 	}