diff --git a/.changeset/fix-upload-image-alt-text.md b/.changeset/fix-upload-image-alt-text.md new file mode 100644 index 000000000..3042370f7 --- /dev/null +++ b/.changeset/fix-upload-image-alt-text.md @@ -0,0 +1,5 @@ +--- +"@slack/web-api": patch +--- + +fix: image alt text passed to `files.uploadV2` is now saved. Before, it was sent as `alt_text`, which Slack ignores. Deprecate `alt_text` in `files.getUploadURLExternal` arguments in favor of `alt_txt` ([#2788](https://github.com/slackapi/node-slack-sdk/issues/2788)) diff --git a/packages/web-api/src/WebClient.test.ts b/packages/web-api/src/WebClient.test.ts index 6d4984f05..05c815069 100644 --- a/packages/web-api/src/WebClient.test.ts +++ b/packages/web-api/src/WebClient.test.ts @@ -1662,7 +1662,7 @@ describe('WebClient', () => { it('uploads multiple files', async () => { const scope = nock('https://slack.com') - .post('/api/files.getUploadURLExternal', { filename: 'test-png.png', length: 55292 }) + .post('/api/files.getUploadURLExternal', { filename: 'test-png.png', length: 55292, alt_txt: 'A test image' }) .reply(200, { ok: true, file_id: 'F0000000001', @@ -1717,6 +1717,7 @@ describe('WebClient', () => { { file: fs.createReadStream('./test/fixtures/test-png.png'), filename: 'test-png.png', + alt_text: 'A test image', }, ], }); diff --git a/packages/web-api/src/WebClient.ts b/packages/web-api/src/WebClient.ts index e212cf5dd..5f72a2dc3 100644 --- a/packages/web-api/src/WebClient.ts +++ b/packages/web-api/src/WebClient.ts @@ -502,7 +502,7 @@ export class WebClient extends Methods { const options = { filename: upload.filename, length: upload.length, - alt_text: upload.alt_text, + alt_txt: upload.alt_text, snippet_type: upload.snippet_type, } as FilesGetUploadURLExternalArguments; if ('token' in upload) { diff --git a/packages/web-api/src/types/request/files.ts b/packages/web-api/src/types/request/files.ts index af0794c94..77a039007 100644 --- a/packages/web-api/src/types/request/files.ts +++ b/packages/web-api/src/types/request/files.ts @@ -95,6 +95,8 @@ export interface FilesGetUploadURLExternalArguments extends TokenOverridable { /** @description Size in bytes of the file being uploaded. */ length: number; /** @description Description of image for screen-reader. */ + alt_txt?: string; + /** @deprecated Slack does not use this. Use `alt_txt`. */ alt_text?: string; /** @description Syntax type of the snippet being uploaded. E.g. `python`. */ snippet_type?: string;