Skip to content

Commit

Permalink
Bump deps & improve patches for @slack/web-rtm and @slack/web-api (#44)
Browse files Browse the repository at this point in the history
  • Loading branch information
javiercr authored Dec 11, 2023
1 parent a2b7cb0 commit de0cbe0
Show file tree
Hide file tree
Showing 8 changed files with 75 additions and 138 deletions.
82 changes: 0 additions & 82 deletions .yarn/patches/@slack-rtm-api-npm-6.1.1-13c0993e53.patch

This file was deleted.

18 changes: 18 additions & 0 deletions .yarn/patches/@slack-rtm-api-npm-6.2.0-f7057dcae1.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
diff --git a/dist/RTMClient.js b/dist/RTMClient.js
index 9a6715a20d5f8c688794d1b9057a64c266bc41ad..976b2bfdf9fed236f709050728e7001fb033a48f 100644
--- a/dist/RTMClient.js
+++ b/dist/RTMClient.js
@@ -419,7 +419,12 @@ class RTMClient extends eventemitter3_1.EventEmitter {
if (this.agentConfig !== undefined) {
options.agent = this.agentConfig;
}
- this.websocket = new ws_1.default(url, options);
+ this.websocket = new ws_1.default(url, {
+ ...options,
+ headers: {
+ ...(this.webClient.headers || {}),
+ },
+ });
// attach event listeners
this.websocket.addEventListener('open', (event) => this.stateMachine.handle('websocket open', event));
this.websocket.addEventListener('close', (event) => this.stateMachine.handle('websocket close', event));
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git a/dist/WebClient.d.ts b/dist/WebClient.d.ts
index 9f385903ccc125a9bebba116cf38ea39e3540cf3..086b69c0514682fe64334fd401d63e4d861194aa 100644
index 83558d1babb51c664354f1da52cc513643702c0b..61739ac62b2cc024b78c8fe8008361007cb0d535 100644
--- a/dist/WebClient.d.ts
+++ b/dist/WebClient.d.ts
@@ -52,6 +52,10 @@ export type PageAccumulator<R extends PageReducer> = R extends (accumulator: (in
Expand All @@ -14,7 +14,7 @@ index 9f385903ccc125a9bebba116cf38ea39e3540cf3..086b69c0514682fe64334fd401d63e4d
* The base URL for reaching Slack's Web API. Consider changing this value for testing purposes.
*/
diff --git a/dist/WebClient.js b/dist/WebClient.js
index 3a01bed1181c1cae2ebc9d003d764b09d5d7ffe4..62536e951cd7d27a93df5db7006429e9fa9eba93 100644
index 0acb328abc1d64d99b0165de542bda97610650e5..97a3fe62708dfcd7a6457caab3d6841c383b53f3 100644
--- a/dist/WebClient.js
+++ b/dist/WebClient.js
@@ -63,6 +63,9 @@ const logger_1 = require("./logger");
Expand All @@ -35,25 +35,16 @@ index 3a01bed1181c1cae2ebc9d003d764b09d5d7ffe4..62536e951cd7d27a93df5db7006429e9
// Logging
if (typeof logger !== 'undefined') {
this.logger = logger;
@@ -108,6 +112,9 @@ class WebClient extends methods_1.Methods {
@@ -108,6 +112,8 @@ class WebClient extends methods_1.Methods {
// eslint-disable-next-line no-param-reassign
if (this.token && !headers.Authorization)
headers.Authorization = `Bearer ${this.token}`;
+
+ this.textsClient = texts.createHttpClient();
+
this.axios = axios_1.default.create({
timeout,
baseURL: slackApiUrl,
@@ -123,6 +130,7 @@ class WebClient extends methods_1.Methods {
// protocols), users of this package should use the `agent` option to configure a proxy.
proxy: false,
});
+
// serializeApiCallOptions will always determine the appropriate content-type
delete this.axios.defaults.headers.post['Content-Type'];
this.logger.debug('initialized');
@@ -408,7 +416,39 @@ class WebClient extends methods_1.Methods {
@@ -389,7 +395,39 @@ class WebClient extends methods_1.Methods {
if (url.endsWith('admin.analytics.getFile')) {
config.responseType = 'arraybuffer';
}
Expand Down Expand Up @@ -85,7 +76,7 @@ index 3a01bed1181c1cae2ebc9d003d764b09d5d7ffe4..62536e951cd7d27a93df5db7006429e9
+ response.status = response.statusCode
+ const stringifiedResponse = response.body.toString()
+
+ response.data = stringifiedResponse.startsWith('{')
+ response.data = stringifiedResponse.startsWith('{')
+ ? JSON.stringify(JSON.parse(stringifiedResponse))
+ : stringifiedResponse
+
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
},
"dependencies": {
"@slack/logger": "^4.0.0",
"@slack/rtm-api": "^6.1.1",
"@slack/rtm-api": "^6.2.0",
"@slack/web-api": "^6.10.0",
"@textshq/platform-sdk": "https://github.com/TextsHQ/platform-sdk#main",
"eventemitter3": "^3.1.0",
Expand All @@ -36,7 +36,7 @@
},
"packageManager": "[email protected]",
"resolutions": {
"@slack/web-api": "patch:@slack/web-api@npm%3A6.8.1#./.yarn/patches/@slack-web-api-npm-6.8.1-553b0045dc.patch",
"@slack/rtm-api": "patch:@slack/rtm-api@npm%3A6.1.1#./.yarn/patches/@slack-rtm-api-npm-6.1.1-13c0993e53.patch"
"@slack/web-api": "patch:@slack/web-api@npm%3A6.10.0#./.yarn/patches/@slack-web-api-npm-6.10.0-a5377899bb.patch",
"@slack/rtm-api": "patch:@slack/rtm-api@npm%3A6.2.0#./.yarn/patches/@slack-rtm-api-npm-6.2.0-f7057dcae1.patch"
}
}
3 changes: 2 additions & 1 deletion src/lib/real-time.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ export default class SlackRealTime {
) {}

subscribeToEvents = async (): Promise<void> => {
this.rtm = new RTMClient({
// We pass an empty string as token because we're using the `webClient`, so the token here will be ignored
this.rtm = new RTMClient('', {
webClient: this.api.realTimeWebClient,
autoReconnect: true,
useRtmConnect: true,
Expand Down
7 changes: 4 additions & 3 deletions src/lib/slack.ts
Original file line number Diff line number Diff line change
Expand Up @@ -550,18 +550,19 @@ export default class SlackAPI {

if (content.fileBuffer || content.filePath) {
const buffer = content.fileBuffer || await fs.readFile(content.filePath)
const file = await this.webClient.files.uploadV2({
const result = await this.webClient.files.uploadV2({
file: buffer,
channel_id: channel,
thread_ts,
title: content.fileName,
filename: content.fileName,
})

const [firstFile] = (file as any).files || []
const [firstFile] = result.files as any[] || []
if (!firstFile) return false

const promise = new Promise(resolve => {
this.attachmentsPromises.set(firstFile?.file?.id, resolve)
this.attachmentsPromises.set(firstFile.files[0].id, resolve)
})

return Promise.race([
Expand Down
2 changes: 1 addition & 1 deletion src/mappers.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { truncate } from 'lodash'
import { CurrentUser, Message, MessageAction, MessageActionType, Attachment, AttachmentType, MessageButton, MessageLink, MessageReaction, Participant, ServerEvent, ServerEventType, TextAttributes, Thread, ThreadType, Tweet, Size } from '@textshq/platform-sdk'
import type { Message as CHRMessage } from '@slack/web-api/dist/response/ConversationsHistoryResponse'
import type { MessageElement as CHRMessage } from '@slack/web-api/dist/response/ConversationsHistoryResponse'

import { mapTextAttributes, skinToneShortcodeToEmojiMap, mapBlocks, offsetEntities } from './text-attributes'
import { getEmojiUrl, getNativeShortcodeFromBlock, getEmojiUnicode } from './lib/emoji'
Expand Down
76 changes: 42 additions & 34 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2086,9 +2086,9 @@ __metadata:
languageName: node
linkType: hard

"@slack/rtm-api@npm:6.1.1":
version: 6.1.1
resolution: "@slack/rtm-api@npm:6.1.1"
"@slack/rtm-api@npm:6.2.0":
version: 6.2.0
resolution: "@slack/rtm-api@npm:6.2.0"
dependencies:
"@slack/logger": ">=1.0.0 <3.0.0"
"@slack/web-api": ^5.3.0
Expand All @@ -2100,13 +2100,13 @@ __metadata:
p-cancelable: ^1.1.0
p-queue: ^2.4.2
ws: ^7.5.3
checksum: b968be3fe63ea30c6c75be3266484a81a8ec2f554b07f41a30041cdc10947f736f7dada2d944e05800a870c454f71dce4360fc2a31b7d3bf90fe1ca37d0cfac6
checksum: cc5457e162ac522f6f251540c2cff62d23b093e518d6926d8777ff74dc9ba9f093b86b06a7652a8d9a2444a711d3e4702728797742a2e487f02518873c3c409c
languageName: node
linkType: hard

"@slack/rtm-api@patch:@slack/rtm-api@npm%3A6.1.1#./.yarn/patches/@slack-rtm-api-npm-6.1.1-13c0993e53.patch::locator=%40textshq%2Fplatform-slack%40workspace%3A.":
version: 6.1.1
resolution: "@slack/rtm-api@patch:@slack/rtm-api@npm%3A6.1.1#./.yarn/patches/@slack-rtm-api-npm-6.1.1-13c0993e53.patch::version=6.1.1&hash=2b304d&locator=%40textshq%2Fplatform-slack%40workspace%3A."
"@slack/rtm-api@patch:@slack/rtm-api@npm%3A6.2.0#./.yarn/patches/@slack-rtm-api-npm-6.2.0-f7057dcae1.patch::locator=%40textshq%2Fplatform-slack%40workspace%3A.":
version: 6.2.0
resolution: "@slack/rtm-api@patch:@slack/rtm-api@npm%3A6.2.0#./.yarn/patches/@slack-rtm-api-npm-6.2.0-f7057dcae1.patch::version=6.2.0&hash=f22742&locator=%40textshq%2Fplatform-slack%40workspace%3A."
dependencies:
"@slack/logger": ">=1.0.0 <3.0.0"
"@slack/web-api": ^5.3.0
Expand All @@ -2118,52 +2118,52 @@ __metadata:
p-cancelable: ^1.1.0
p-queue: ^2.4.2
ws: ^7.5.3
checksum: 80d7c478ed0cb582e6da456cc79ea4f74021ae98f0d4db238d504c80cd74e71be9f78d2422651718c6a3b0ad0d1e6734198279fae65b359bc1c7d65a37e8c847
checksum: e403dcdc3dd5b174f91c56c9ee2da555493e92994517bb781bc1f3e17800e80f63a34d9c051285dadf4516d112df05560799f8a19f83b970de3897af6e4d82a6
languageName: node
linkType: hard

"@slack/types@npm:^2.0.0":
"@slack/types@npm:^2.8.0":
version: 2.10.0
resolution: "@slack/types@npm:2.10.0"
checksum: 2fc388de8e66679551d0f73fad0869b6a2b88effdb9c34d3545f42a3a4b8ae9f448b07f749aebbb5ece3b9fef4ea34f1ef6db35dc7e8bfe1ad2eab2553e0967a
languageName: node
linkType: hard

"@slack/web-api@npm:6.8.1":
version: 6.8.1
resolution: "@slack/web-api@npm:6.8.1"
"@slack/web-api@npm:6.10.0":
version: 6.10.0
resolution: "@slack/web-api@npm:6.10.0"
dependencies:
"@slack/logger": ^3.0.0
"@slack/types": ^2.0.0
"@slack/types": ^2.8.0
"@types/is-stream": ^1.1.0
"@types/node": ">=12.0.0"
axios: ^0.27.2
axios: ^1.6.0
eventemitter3: ^3.1.0
form-data: ^2.5.0
is-electron: 2.2.0
is-electron: 2.2.2
is-stream: ^1.1.0
p-queue: ^6.6.1
p-retry: ^4.0.0
checksum: a622f44b0d9bef010799b78feb20cf93a8181a6c858aaccac60cd1041561681e1d444b39865efe3e4febfe3e85ea38e001315bbe6896bb8e0fc065eb9fd6634d
checksum: 7904f5d28fe166ab8ca0839b85f6076d7b66a76a85424fa2e8e0247ee6ad998fc73c8bdfa182ef81ecfdb35bd2be2da532be32686eb2d0f17cd71aa3f9af98ce
languageName: node
linkType: hard

"@slack/web-api@patch:@slack/web-api@npm%3A6.8.1#./.yarn/patches/@slack-web-api-npm-6.8.1-553b0045dc.patch::locator=%40textshq%2Fplatform-slack%40workspace%3A.":
version: 6.8.1
resolution: "@slack/web-api@patch:@slack/web-api@npm%3A6.8.1#./.yarn/patches/@slack-web-api-npm-6.8.1-553b0045dc.patch::version=6.8.1&hash=ac87df&locator=%40textshq%2Fplatform-slack%40workspace%3A."
"@slack/web-api@patch:@slack/web-api@npm%3A6.10.0#./.yarn/patches/@slack-web-api-npm-6.10.0-a5377899bb.patch::locator=%40textshq%2Fplatform-slack%40workspace%3A.":
version: 6.10.0
resolution: "@slack/web-api@patch:@slack/web-api@npm%3A6.10.0#./.yarn/patches/@slack-web-api-npm-6.10.0-a5377899bb.patch::version=6.10.0&hash=88153d&locator=%40textshq%2Fplatform-slack%40workspace%3A."
dependencies:
"@slack/logger": ^3.0.0
"@slack/types": ^2.0.0
"@slack/types": ^2.8.0
"@types/is-stream": ^1.1.0
"@types/node": ">=12.0.0"
axios: ^0.27.2
axios: ^1.6.0
eventemitter3: ^3.1.0
form-data: ^2.5.0
is-electron: 2.2.0
is-electron: 2.2.2
is-stream: ^1.1.0
p-queue: ^6.6.1
p-retry: ^4.0.0
checksum: 232049d09cc4cbad536412f144dc8373968863fc017d39ffe555df4d4fc05625fa5af140afabe289b40c93b491eea173b6116ba1bb8f01b18f40a00236fb1f94
checksum: bfa5316d48a6276ae5c4f46b3431dab4b44504a3d4f4b78710ea6686b7518fcb40a3daa58f83f4004392bfa9beed7f01b43fa0c66a960d72323d6ef81b23a9c3
languageName: node
linkType: hard

Expand Down Expand Up @@ -2199,7 +2199,7 @@ __metadata:
resolution: "@textshq/platform-slack@workspace:."
dependencies:
"@slack/logger": ^4.0.0
"@slack/rtm-api": ^6.1.1
"@slack/rtm-api": ^6.2.0
"@slack/web-api": ^6.10.0
"@textshq/eslint-config": "https://github.com/TextsHQ/eslint-config#main"
"@textshq/platform-sdk": "https://github.com/TextsHQ/platform-sdk#main"
Expand Down Expand Up @@ -2883,13 +2883,14 @@ __metadata:
languageName: node
linkType: hard

"axios@npm:^0.27.2":
version: 0.27.2
resolution: "axios@npm:0.27.2"
"axios@npm:^1.6.0":
version: 1.6.2
resolution: "axios@npm:1.6.2"
dependencies:
follow-redirects: ^1.14.9
follow-redirects: ^1.15.0
form-data: ^4.0.0
checksum: 38cb7540465fe8c4102850c4368053c21683af85c5fdf0ea619f9628abbcb59415d1e22ebc8a6390d2bbc9b58a9806c874f139767389c862ec9b772235f06854
proxy-from-env: ^1.1.0
checksum: 4a7429e2b784be0f2902ca2680964391eae7236faa3967715f30ea45464b98ae3f1c6f631303b13dfe721b17126b01f486c7644b9ef276bfc63112db9fd379f8
languageName: node
linkType: hard

Expand Down Expand Up @@ -4266,7 +4267,7 @@ __metadata:
languageName: node
linkType: hard

"follow-redirects@npm:^1.14.9":
"follow-redirects@npm:^1.15.0":
version: 1.15.3
resolution: "follow-redirects@npm:1.15.3"
peerDependenciesMeta:
Expand Down Expand Up @@ -4838,10 +4839,10 @@ __metadata:
languageName: node
linkType: hard

"is-electron@npm:2.2.0":
version: 2.2.0
resolution: "is-electron@npm:2.2.0"
checksum: 79e497bd5077018ed2e243c1524a2af21d9cac56962a1aa09284450f315626ca41b184f5599c9ab6526245d0cd8fe4abe962817fde48100f632c104ad5d03560
"is-electron@npm:2.2.2":
version: 2.2.2
resolution: "is-electron@npm:2.2.2"
checksum: de5aa8bd8d72c96675b8d0f93fab4cc21f62be5440f65bc05c61338ca27bd851a64200f31f1bf9facbaa01b3dbfed7997b2186741d84b93b63e0aff1db6a9494
languageName: node
linkType: hard

Expand Down Expand Up @@ -6509,6 +6510,13 @@ __metadata:
languageName: node
linkType: hard

"proxy-from-env@npm:^1.1.0":
version: 1.1.0
resolution: "proxy-from-env@npm:1.1.0"
checksum: ed7fcc2ba0a33404958e34d95d18638249a68c430e30fcb6c478497d72739ba64ce9810a24f53a7d921d0c065e5b78e3822759800698167256b04659366ca4d4
languageName: node
linkType: hard

"psl@npm:^1.1.33":
version: 1.9.0
resolution: "psl@npm:1.9.0"
Expand Down

0 comments on commit de0cbe0

Please sign in to comment.