From 685d67f87fc3131733eaf6a94fed95515df9b7fc Mon Sep 17 00:00:00 2001 From: Eden Zimbelman Date: Thu, 14 May 2026 21:47:17 -0700 Subject: [PATCH 1/3] feat: add highlight_type to files.completeUploadExternal and filesUploadV2 Co-Authored-By: Claude --- .../com/slack/api/methods/impl/MethodsClientImpl.java | 3 +++ .../files/FilesCompleteUploadExternalRequest.java | 1 + .../api/methods/request/files/FilesUploadV2Request.java | 9 +++++++++ 3 files changed, 13 insertions(+) diff --git a/slack-api-client/src/main/java/com/slack/api/methods/impl/MethodsClientImpl.java b/slack-api-client/src/main/java/com/slack/api/methods/impl/MethodsClientImpl.java index dc58206a3..b6d05bb4e 100644 --- a/slack-api-client/src/main/java/com/slack/api/methods/impl/MethodsClientImpl.java +++ b/slack-api-client/src/main/java/com/slack/api/methods/impl/MethodsClientImpl.java @@ -2520,6 +2520,7 @@ public FilesUploadV2Response filesUploadV2(FilesUploadV2Request req) throws IOEx FilesCompleteUploadExternalRequest.FileDetails file = new FilesCompleteUploadExternalRequest.FileDetails(); file.setId(fileId); file.setTitle(uploadFile.getTitle()); + file.setHighlightType(uploadFile.getHighlightType()); files.add(file); } @@ -2542,12 +2543,14 @@ public FilesUploadV2Response filesUploadV2(FilesUploadV2Request req) throws IOEx uploadFile.setAltTxt(req.getAltTxt()); uploadFile.setSnippetType(req.getSnippetType()); + uploadFile.setHighlightType(req.getHighlightType()); String fileId = helper.uploadFile(req, uploadFile); FilesCompleteUploadExternalRequest.FileDetails file = new FilesCompleteUploadExternalRequest.FileDetails(); file.setId(fileId); file.setTitle(uploadFile.getTitle()); + file.setHighlightType(uploadFile.getHighlightType()); files.add(file); } return helper.completeUploads(req, files); diff --git a/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesCompleteUploadExternalRequest.java b/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesCompleteUploadExternalRequest.java index 06ba6d05c..78ca935a5 100644 --- a/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesCompleteUploadExternalRequest.java +++ b/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesCompleteUploadExternalRequest.java @@ -53,6 +53,7 @@ public class FilesCompleteUploadExternalRequest implements SlackApiRequest { public static class FileDetails { private String id; // required private String title; // optional + private String highlightType; // optional - file type hint for optimistic rendering } } \ No newline at end of file diff --git a/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesUploadV2Request.java b/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesUploadV2Request.java index ce358dd01..d41ba3827 100644 --- a/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesUploadV2Request.java +++ b/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesUploadV2Request.java @@ -70,6 +70,11 @@ public class FilesUploadV2Request implements SlackApiRequest { * (this is mainly for backward compatibility - using uploadFiles instead is recommended) */ private String snippetType; + /** + * File type hint for optimistic rendering (e.g. "png", "jpg", "gif"). + * (this is mainly for backward compatibility - using uploadFiles instead is recommended) + */ + private String highlightType; /** * Fetches all the file metadata for better v1 compatibility when this property is true. @@ -113,6 +118,10 @@ public static class UploadFile { * Syntax type of the snippet being uploaded. */ private String snippetType; + /** + * File type hint for optimistic rendering (e.g. "png", "jpg", "gif"). + */ + private String highlightType; } /** From 6d557e372e41e9176ea466307ef94c6c48a3b2a4 Mon Sep 17 00:00:00 2001 From: Eden Zimbelman Date: Fri, 15 May 2026 15:03:32 -0700 Subject: [PATCH 2/3] docs: use consistent javadoc for highlightType fields Co-Authored-By: Claude --- .../request/files/FilesCompleteUploadExternalRequest.java | 5 ++++- .../api/methods/request/files/FilesUploadV2Request.java | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesCompleteUploadExternalRequest.java b/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesCompleteUploadExternalRequest.java index 78ca935a5..837cd4c6b 100644 --- a/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesCompleteUploadExternalRequest.java +++ b/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesCompleteUploadExternalRequest.java @@ -53,7 +53,10 @@ public class FilesCompleteUploadExternalRequest implements SlackApiRequest { public static class FileDetails { private String id; // required private String title; // optional - private String highlightType; // optional - file type hint for optimistic rendering + /** + * Optional highlight type hint for the file. The upload processing job may overwrite this value. + */ + private String highlightType; } } \ No newline at end of file diff --git a/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesUploadV2Request.java b/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesUploadV2Request.java index d41ba3827..33be36995 100644 --- a/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesUploadV2Request.java +++ b/slack-api-client/src/main/java/com/slack/api/methods/request/files/FilesUploadV2Request.java @@ -71,7 +71,7 @@ public class FilesUploadV2Request implements SlackApiRequest { */ private String snippetType; /** - * File type hint for optimistic rendering (e.g. "png", "jpg", "gif"). + * Optional highlight type hint for the file. The upload processing job may overwrite this value. * (this is mainly for backward compatibility - using uploadFiles instead is recommended) */ private String highlightType; @@ -119,7 +119,7 @@ public static class UploadFile { */ private String snippetType; /** - * File type hint for optimistic rendering (e.g. "png", "jpg", "gif"). + * Optional highlight type hint for the file. The upload processing job may overwrite this value. */ private String highlightType; } From 32490c09cc1404a9609a79f5b60d9f800f6a034d Mon Sep 17 00:00:00 2001 From: Eden Zimbelman Date: Fri, 15 May 2026 15:09:56 -0700 Subject: [PATCH 3/3] refactor: remove redundant highlightType set on uploadFile in single-file path highlight_type is only needed at the completion step, not during upload. Read directly from the request object instead of round-tripping through uploadFile. Co-Authored-By: Claude --- .../java/com/slack/api/methods/impl/MethodsClientImpl.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/slack-api-client/src/main/java/com/slack/api/methods/impl/MethodsClientImpl.java b/slack-api-client/src/main/java/com/slack/api/methods/impl/MethodsClientImpl.java index b6d05bb4e..f1d26b619 100644 --- a/slack-api-client/src/main/java/com/slack/api/methods/impl/MethodsClientImpl.java +++ b/slack-api-client/src/main/java/com/slack/api/methods/impl/MethodsClientImpl.java @@ -2543,14 +2543,13 @@ public FilesUploadV2Response filesUploadV2(FilesUploadV2Request req) throws IOEx uploadFile.setAltTxt(req.getAltTxt()); uploadFile.setSnippetType(req.getSnippetType()); - uploadFile.setHighlightType(req.getHighlightType()); String fileId = helper.uploadFile(req, uploadFile); FilesCompleteUploadExternalRequest.FileDetails file = new FilesCompleteUploadExternalRequest.FileDetails(); file.setId(fileId); file.setTitle(uploadFile.getTitle()); - file.setHighlightType(uploadFile.getHighlightType()); + file.setHighlightType(req.getHighlightType()); files.add(file); } return helper.completeUploads(req, files);