From 12e43d120ecaf403741d82037d59ae1cdb3832a6 Mon Sep 17 00:00:00 2001 From: jbwfu <75001777+jbwfu@users.noreply.github.com> Date: Mon, 1 Jun 2026 23:01:34 +0800 Subject: [PATCH] fix(clipboard): raise CLI IPC scanner limit for large entry payloads (#2550) --- core/cmd/dms/server_client.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/cmd/dms/server_client.go b/core/cmd/dms/server_client.go index 871d21d5..d5a605e1 100644 --- a/core/cmd/dms/server_client.go +++ b/core/cmd/dms/server_client.go @@ -12,6 +12,10 @@ import ( "github.com/AvengeMedia/DankMaterialShell/core/internal/server/models" ) +// maxIPCMessageSize allows room for a 50 MB clipboard entry plus JSON/base64 +// overhead in the line-delimited IPC response. +const maxIPCMessageSize = 96 * 1024 * 1024 + func sendServerRequest(req models.Request) (*models.Response[any], error) { socketPath := getServerSocketPath() @@ -22,6 +26,7 @@ func sendServerRequest(req models.Request) (*models.Response[any], error) { defer conn.Close() scanner := bufio.NewScanner(conn) + scanner.Buffer(make([]byte, bufio.MaxScanTokenSize), maxIPCMessageSize) scanner.Scan() // discard initial capabilities message reqData, err := json.Marshal(req) @@ -61,6 +66,7 @@ func sendServerRequestFireAndForget(req models.Request) error { defer conn.Close() scanner := bufio.NewScanner(conn) + scanner.Buffer(make([]byte, bufio.MaxScanTokenSize), maxIPCMessageSize) scanner.Scan() // discard initial capabilities message reqData, err := json.Marshal(req)