Skip to content

Commit fa67adf

Browse files
fix: custom doUploadRequest permission adjustments (#3243)
### 🎯 Goal Ref: https://getstream.slack.com/archives/C02R5UCGN6N/p1784023573649669 Relies on: GetStream/stream-chat-js#1800 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved file-upload availability by basing upload enablement on the message composer’s configured file limits. * Made the multi-action attachment UI consistently display the file upload option, even when channel capability details are unavailable. * Updated upload control behavior to better reflect current attachment slot availability and upload-request handling. * **Chores** * Updated the underlying `stream-chat` dependency version (main and example apps). <!-- end of auto-generated comment: release notes by coderabbit.ai -->
1 parent 6b6a828 commit fa67adf

7 files changed

Lines changed: 15 additions & 19 deletions

File tree

examples/tutorial/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"emoji-mart": "^5.6.0",
1717
"react": "^19.2.6",
1818
"react-dom": "^19.2.6",
19-
"stream-chat": "^9.49.0",
19+
"stream-chat": "^9.50.2",
2020
"stream-chat-react": "workspace:^"
2121
},
2222
"devDependencies": {

examples/vite/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"modern-normalize": "^3.0.1",
1717
"react": "^19.2.6",
1818
"react-dom": "^19.2.6",
19-
"stream-chat": "^9.49.0",
19+
"stream-chat": "^9.50.2",
2020
"stream-chat-react": "workspace:^"
2121
},
2222
"devDependencies": {

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@
114114
"modern-normalize": "^3.0.1",
115115
"react": "^19.0.0 || ^18.0.0 || ^17.0.0",
116116
"react-dom": "^19.0.0 || ^18.0.0 || ^17.0.0",
117-
"stream-chat": "^9.49.0"
117+
"stream-chat": "^9.50.2"
118118
},
119119
"peerDependenciesMeta": {
120120
"@breezystack/lamejs": {
@@ -184,7 +184,7 @@
184184
"react-dom": "^19.2.6",
185185
"sass": "^1.100.0",
186186
"semantic-release": "^25.0.3",
187-
"stream-chat": "^9.49.0",
187+
"stream-chat": "^9.50.2",
188188
"typescript": "^6.0.3",
189189
"typescript-eslint": "^8.59.4",
190190
"vite": "^8.1.3",

src/components/MessageComposer/AttachmentSelector/AttachmentSelector.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,6 @@ export const AttachmentSelector = ({
343343
const { t } = useTranslationContext();
344344
const { ContextMenu: ContextMenuComponent = ContextMenu, Modal = GlobalModal } =
345345
useComponentContext();
346-
const { channelCapabilities } = useChannelStateContext();
347346
const messageComposer = useMessageComposerController();
348347
const isCooldownActive = useIsCooldownActive();
349348
const { command } = useStateStore(
@@ -434,7 +433,7 @@ export const AttachmentSelector = ({
434433
return (
435434
<AttachmentSelectorContextProvider value={{ fileInput }}>
436435
<div className='str-chat__attachment-selector' {...inertProps}>
437-
{channelCapabilities['upload-file'] && <UploadFileInput ref={setFileInput} />}
436+
<UploadFileInput ref={setFileInput} />
438437
<AttachmentSelectorButton
439438
{...buttonProps}
440439
aria-expanded={menuDialogIsOpen}

src/components/MessageComposer/hooks/useAttachmentManagerState.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ export const useAttachmentManagerState = () => {
1414
availableUploadSlots: attachmentManager.availableUploadSlots,
1515
blockedUploadsCount: attachmentManager.blockedUploadsCount,
1616
failedUploadsCount: attachmentManager.failedUploadsCount,
17+
hasAvailableUploadSlots: attachmentManager.hasAvailableUploadSlots,
18+
hasCustomDoUploadRequest: attachmentManager.hasCustomDoUploadRequest,
1719
isUploadEnabled: attachmentManager.isUploadEnabled,
1820
pendingUploadsCount: attachmentManager.pendingUploadsCount,
1921
successfulUploadsCount: attachmentManager.successfulUploadsCount,

src/components/ReactFileUtilities/UploadButton.tsx

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ import React, { forwardRef, useCallback, useMemo } from 'react';
66
import { useHandleFileChangeWrapper } from './utils';
77
import { useMessageComposerContext, useTranslationContext } from '../../context';
88
import { useMessageComposerController } from '../MessageComposer/hooks/useMessageComposerController';
9-
import { useAttachmentManagerState } from '../MessageComposer/hooks/useAttachmentManagerState';
10-
import { useIsCooldownActive } from '../MessageComposer/hooks/useIsCooldownActive';
119
import { useStateStore } from '../../store';
1210
import type { MessageComposerConfig } from 'stream-chat';
1311
import type { PartialSelected } from '../../types/types';
@@ -43,12 +41,10 @@ export const UploadFileInput = forwardRef(function UploadFileInput(
4341
const { textareaRef } = useMessageComposerContext();
4442
const messageComposer = useMessageComposerController();
4543
const { attachmentManager } = messageComposer;
46-
const { isUploadEnabled } = useAttachmentManagerState();
4744
const { acceptedFiles, maxNumberOfFilesPerMessage } = useStateStore(
4845
messageComposer.configState,
4946
attachmentManagerConfigStateSelector,
5047
);
51-
const isCooldownActive = useIsCooldownActive();
5248
const id = useMemo(() => nanoid(), []);
5349

5450
const onFileChange = useCallback(
@@ -65,7 +61,6 @@ export const UploadFileInput = forwardRef(function UploadFileInput(
6561
accept={acceptedFiles?.join(',')}
6662
aria-label={t('aria/File upload')}
6763
data-testid='file-input'
68-
disabled={!isUploadEnabled || isCooldownActive}
6964
id={id}
7065
multiple={maxNumberOfFilesPerMessage > 1}
7166
{...props}

yarn.lock

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2079,7 +2079,7 @@ __metadata:
20792079
emoji-mart: "npm:^5.6.0"
20802080
react: "npm:^19.2.6"
20812081
react-dom: "npm:^19.2.6"
2082-
stream-chat: "npm:^9.49.0"
2082+
stream-chat: "npm:^9.50.2"
20832083
stream-chat-react: "workspace:^"
20842084
typescript: "npm:^6.0.3"
20852085
vite: "npm:^8.1.3"
@@ -2105,7 +2105,7 @@ __metadata:
21052105
react: "npm:^19.2.6"
21062106
react-dom: "npm:^19.2.6"
21072107
sass: "npm:^1.100.0"
2108-
stream-chat: "npm:^9.49.0"
2108+
stream-chat: "npm:^9.50.2"
21092109
stream-chat-react: "workspace:^"
21102110
typescript: "npm:^6.0.3"
21112111
vite: "npm:^8.1.3"
@@ -10106,7 +10106,7 @@ __metadata:
1010610106
remark-parse: "npm:^11.0.0"
1010710107
sass: "npm:^1.100.0"
1010810108
semantic-release: "npm:^25.0.3"
10109-
stream-chat: "npm:^9.49.0"
10109+
stream-chat: "npm:^9.50.2"
1011010110
typescript: "npm:^6.0.3"
1011110111
typescript-eslint: "npm:^8.59.4"
1011210112
unified: "npm:^11.0.5"
@@ -10124,7 +10124,7 @@ __metadata:
1012410124
modern-normalize: ^3.0.1
1012510125
react: ^19.0.0 || ^18.0.0 || ^17.0.0
1012610126
react-dom: ^19.0.0 || ^18.0.0 || ^17.0.0
10127-
stream-chat: ^9.49.0
10127+
stream-chat: ^9.50.2
1012810128
dependenciesMeta:
1012910129
"@parcel/watcher":
1013010130
built: true
@@ -10150,9 +10150,9 @@ __metadata:
1015010150
languageName: unknown
1015110151
linkType: soft
1015210152

10153-
"stream-chat@npm:^9.49.0":
10154-
version: 9.49.0
10155-
resolution: "stream-chat@npm:9.49.0"
10153+
"stream-chat@npm:^9.50.2":
10154+
version: 9.50.2
10155+
resolution: "stream-chat@npm:9.50.2"
1015610156
dependencies:
1015710157
"@types/jsonwebtoken": "npm:^9.0.8"
1015810158
"@types/ws": "npm:^8.18.1"
@@ -10168,7 +10168,7 @@ __metadata:
1016810168
built: true
1016910169
husky:
1017010170
built: true
10171-
checksum: 10c0/2fceb2434d69523b09b9c6419ab46f2c181aa2ef0b269ed388ce53254f8a4c618eb14ead46d2ae5245c2070c33ab35d33ac1c3671610774503da8a160d71e985
10171+
checksum: 10c0/5ddd07124f74538f8fc3f9b875e928e60b854d8c85736d0af0692e7fbae58d27f6d1683f36c274b2ff7c78ad5980e28d3bf050f482e670d7fbf3886e01bcca4d
1017210172
languageName: node
1017310173
linkType: hard
1017410174

0 commit comments

Comments
 (0)