@@ -77,6 +77,7 @@ describe("GithubFrontendReleaseNotificationTask", () => {
77
77
version : mockRelease . tag_name ,
78
78
status : "stable" ,
79
79
isStable : true ,
80
+ releaseNotes : mockRelease . body ,
80
81
createdAt : new Date ( mockRelease . created_at ) ,
81
82
releasedAt : new Date ( mockRelease . published_at ) ,
82
83
} ) ;
@@ -87,10 +88,11 @@ describe("GithubFrontendReleaseNotificationTask", () => {
87
88
version : mockRelease . tag_name ,
88
89
status : "stable" ,
89
90
isStable : true ,
91
+ releaseNotes : mockRelease . body ,
90
92
createdAt : new Date ( mockRelease . created_at ) ,
91
93
releasedAt : new Date ( mockRelease . published_at ) ,
92
94
slackMessage : {
93
- text : "🎨 ComfyUI_frontend <https://github.com/Comfy-Org/ComfyUI_frontend/releases/tag/v1.0.0|Release v1.0.0> is stable!" ,
95
+ text : "🎨 ComfyUI_frontend <https://github.com/Comfy-Org/ComfyUI_frontend/releases/tag/v1.0.0|Release v1.0.0> is stable!\n\n*Release Notes:*\nRelease notes " ,
94
96
channel : "test-channel-id" ,
95
97
url : "https://slack.com/message/123" ,
96
98
} ,
@@ -135,10 +137,11 @@ describe("GithubFrontendReleaseNotificationTask", () => {
135
137
version : mockRelease . tag_name ,
136
138
status : "stable" ,
137
139
isStable : true ,
140
+ releaseNotes : mockRelease . body ,
138
141
createdAt : new Date ( mockRelease . created_at ) ,
139
142
releasedAt : new Date ( mockRelease . published_at ) ,
140
143
slackMessage : {
141
- text : "🎨 ComfyUI_frontend <https://github.com/Comfy-Org/ComfyUI_frontend/releases/tag/v1.0.0|Release v1.0.0> is stable!" ,
144
+ text : "🎨 ComfyUI_frontend <https://github.com/Comfy-Org/ComfyUI_frontend/releases/tag/v1.0.0|Release v1.0.0> is stable!\n\n*Release Notes:*\nRelease notes " ,
142
145
channel : "test-channel-id" ,
143
146
url : "https://slack.com/message/123" ,
144
147
} ,
@@ -173,6 +176,7 @@ describe("GithubFrontendReleaseNotificationTask", () => {
173
176
version : mockPrerelease . tag_name ,
174
177
status : "prerelease" ,
175
178
isStable : false ,
179
+ releaseNotes : mockPrerelease . body ,
176
180
createdAt : new Date ( mockPrerelease . created_at ) ,
177
181
releasedAt : new Date ( mockPrerelease . published_at ) ,
178
182
} ) ;
@@ -183,10 +187,11 @@ describe("GithubFrontendReleaseNotificationTask", () => {
183
187
version : mockPrerelease . tag_name ,
184
188
status : "prerelease" ,
185
189
isStable : false ,
190
+ releaseNotes : mockPrerelease . body ,
186
191
createdAt : new Date ( mockPrerelease . created_at ) ,
187
192
releasedAt : new Date ( mockPrerelease . published_at ) ,
188
193
slackMessageDrafting : {
189
- text : "🎨 ComfyUI_frontend <https://github.com/Comfy-Org/ComfyUI_frontend/releases/tag/v1.0.0-beta.1|Release v1.0.0-beta.1> is prerelease!" ,
194
+ text : "🎨 ComfyUI_frontend <https://github.com/Comfy-Org/ComfyUI_frontend/releases/tag/v1.0.0-beta.1|Release v1.0.0-beta.1> is prerelease!\n\n*Release Notes:*\nBeta release notes " ,
190
195
channel : "test-channel-id" ,
191
196
url : "https://slack.com/message/456" ,
192
197
} ,
@@ -224,6 +229,7 @@ describe("GithubFrontendReleaseNotificationTask", () => {
224
229
version : mockDraft . tag_name ,
225
230
status : "draft" ,
226
231
isStable : false ,
232
+ releaseNotes : mockDraft . body ,
227
233
createdAt : new Date ( mockDraft . created_at ) ,
228
234
releasedAt : undefined ,
229
235
} ) ;
@@ -265,6 +271,7 @@ describe("GithubFrontendReleaseNotificationTask", () => {
265
271
version : oldRelease . tag_name ,
266
272
status : "stable" ,
267
273
isStable : true ,
274
+ releaseNotes : oldRelease . body ,
268
275
createdAt : new Date ( oldRelease . created_at ) ,
269
276
releasedAt : new Date ( oldRelease . published_at ) ,
270
277
} ) ;
@@ -299,6 +306,7 @@ describe("GithubFrontendReleaseNotificationTask", () => {
299
306
version : mockRelease . tag_name ,
300
307
status : "stable" ,
301
308
isStable : true ,
309
+ releaseNotes : mockRelease . body ,
302
310
createdAt : new Date ( mockRelease . created_at ) ,
303
311
releasedAt : new Date ( mockRelease . published_at ) ,
304
312
slackMessage : {
@@ -314,8 +322,9 @@ describe("GithubFrontendReleaseNotificationTask", () => {
314
322
version : mockRelease . tag_name ,
315
323
status : "stable" ,
316
324
isStable : true ,
325
+ releaseNotes : mockRelease . body ,
317
326
slackMessage : {
318
- text : "🎨 ComfyUI_frontend <https://github.com/Comfy-Org/ComfyUI_frontend/releases/tag/v1.0.0|Release v1.0.1> is stable!" ,
327
+ text : "🎨 ComfyUI_frontend <https://github.com/Comfy-Org/ComfyUI_frontend/releases/tag/v1.0.0|Release v1.0.1> is stable!\n\n*Release Notes:*\nUpdated release notes " ,
319
328
channel : "test-channel-id" ,
320
329
url : "https://slack.com/message/123" ,
321
330
} ,
@@ -331,6 +340,59 @@ describe("GithubFrontendReleaseNotificationTask", () => {
331
340
} ) ,
332
341
) ;
333
342
} ) ;
343
+
344
+ it ( "should truncate long release notes in Slack message" , async ( ) => {
345
+ const longReleaseNotes = "x" . repeat ( 600 ) ; // Create a 600 character string
346
+ const mockRelease = {
347
+ html_url : "https://github.com/Comfy-Org/ComfyUI_frontend/releases/tag/v1.0.0" ,
348
+ tag_name : "v1.0.0" ,
349
+ draft : false ,
350
+ prerelease : false ,
351
+ created_at : new Date ( ) . toISOString ( ) ,
352
+ published_at : new Date ( ) . toISOString ( ) ,
353
+ body : longReleaseNotes ,
354
+ } ;
355
+
356
+ mockGh . repos = {
357
+ listReleases : jest . fn ( ) . mockResolvedValue ( {
358
+ data : [ mockRelease ] ,
359
+ } ) ,
360
+ } as any ;
361
+
362
+ // First call - save initial data
363
+ collection . findOneAndUpdate . mockResolvedValueOnce ( {
364
+ url : mockRelease . html_url ,
365
+ version : mockRelease . tag_name ,
366
+ status : "stable" ,
367
+ isStable : true ,
368
+ releaseNotes : longReleaseNotes ,
369
+ createdAt : new Date ( mockRelease . created_at ) ,
370
+ releasedAt : new Date ( mockRelease . published_at ) ,
371
+ } ) ;
372
+
373
+ // Second call - save with truncated message
374
+ collection . findOneAndUpdate . mockResolvedValueOnce ( {
375
+ url : mockRelease . html_url ,
376
+ version : mockRelease . tag_name ,
377
+ status : "stable" ,
378
+ isStable : true ,
379
+ releaseNotes : longReleaseNotes ,
380
+ slackMessage : {
381
+ text : expect . stringContaining ( "... <" ) ,
382
+ channel : "test-channel-id" ,
383
+ url : "https://slack.com/message/123" ,
384
+ } ,
385
+ } ) ;
386
+
387
+ await runGithubFrontendReleaseNotificationTask ( ) ;
388
+
389
+ // Check that the message was truncated and includes a "Read more" link
390
+ expect ( upsertSlackMessage ) . toHaveBeenCalledWith (
391
+ expect . objectContaining ( {
392
+ text : expect . stringMatching ( / \. \. \. < .* \| R e a d m o r e > / ) ,
393
+ } ) ,
394
+ ) ;
395
+ } ) ;
334
396
} ) ;
335
397
336
398
describe ( "Database Index" , ( ) => {
0 commit comments