Skip to content

Commit becd01b

Browse files
authored
Merge branch 'master' into avg-response-time
2 parents 39d0d8e + 8699f04 commit becd01b

File tree

6 files changed

+14
-9
lines changed

6 files changed

+14
-9
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
## [9.10.1](https://github.com/GetStream/stream-chat-js/compare/v9.10.0...v9.10.1) (2025-07-08)
2+
3+
### Bug Fixes
4+
5+
* allow the composition of unchanged edited message ([#1578](https://github.com/GetStream/stream-chat-js/issues/1578)) ([6aec136](https://github.com/GetStream/stream-chat-js/commit/6aec13619e0a3dc53afa73b1d72add3d413e7d3a))
6+
* query reminders filter key and add channel to the reminder response ([#1575](https://github.com/GetStream/stream-chat-js/issues/1575)) ([0b9be45](https://github.com/GetStream/stream-chat-js/commit/0b9be450cce5abca112f15f63ec045f460d7d58f))
7+
18
## [9.10.0](https://github.com/GetStream/stream-chat-js/compare/v9.9.0...v9.10.0) (2025-06-25)
29

310
### Features

src/client.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4575,7 +4575,7 @@ export class StreamChat {
45754575
*/
45764576
async queryReminders({ filter, sort, ...rest }: QueryRemindersOptions = {}) {
45774577
return await this.post<QueryRemindersResponse>(`${this.baseURL}/reminders/query`, {
4578-
filter_conditions: filter,
4578+
filter,
45794579
sort: sort && normalizeQuerySort(sort),
45804580
...rest,
45814581
});

src/messageComposer/messageComposer.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ export class MessageComposer extends WithSubscriptions {
306306
const initiatedWithoutDraft = this.lastChange.draftUpdate === null;
307307
const composingMessageFromScratch = initiatedWithoutDraft && !this.editedMessage;
308308

309-
// does not mean that the original editted message is different from the current state
309+
// does not mean that the original edited message is different from the current state
310310
const editedMessageWasUpdated =
311311
!!this.editedMessage?.updated_at &&
312312
new Date(this.editedMessage.updated_at).getTime() < this.lastChange.stateUpdate;

src/messageComposer/middleware/messageComposer/compositionValidation.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,7 @@ export const createCompositionValidationMiddleware = (
2828
const hasExceededMaxLength =
2929
typeof maxLengthOnSend === 'number' && inputText.length > maxLengthOnSend;
3030

31-
const editedMessageIsUnchanged =
32-
composer.editedMessage && !composer.lastChangeOriginIsLocal;
33-
34-
if (isEmptyMessage || editedMessageIsUnchanged || hasExceededMaxLength) {
31+
if (isEmptyMessage || hasExceededMaxLength) {
3532
return await discard();
3633
}
3734

src/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4057,6 +4057,7 @@ export type ReminderResponseBase = {
40574057
};
40584058

40594059
export type ReminderResponse = ReminderResponseBase & {
4060+
channel: ChannelResponse;
40604061
user: UserResponse;
40614062
message: MessageResponse;
40624063
};
@@ -4094,7 +4095,7 @@ export type ReminderFilters = QueryFilters<{
40944095
| RequireOnlyOne<
40954096
Pick<
40964097
QueryFilter<ReminderResponseBase['remind_at']>,
4097-
'$eq' | '$gt' | '$lt' | '$gte' | '$lte'
4098+
'$exists' | '$eq' | '$gt' | '$lt' | '$gte' | '$lte'
40984099
>
40994100
>
41004101
| PrimitiveFilter<ReminderResponseBase['remind_at']>;

test/unit/MessageComposer/middleware/messageComposer/compositionValidation.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ describe('stream-io/message-composer-middleware/data-validation', () => {
322322
expect(result.status).toBeUndefined;
323323
});
324324

325-
it('should discard composition for edited message without any local change', async () => {
325+
it('should not discard composition for edited message without any local change', async () => {
326326
const { messageComposer, validationMiddleware } = setupMiddleware();
327327
const localMessage: LocalMessage = {
328328
attachments: [],
@@ -355,7 +355,7 @@ describe('stream-io/message-composer-middleware/data-validation', () => {
355355
}),
356356
);
357357

358-
expect(result.status).toBe('discard');
358+
expect(result.status).toBeUndefined();
359359
});
360360

361361
it('should not discard composition for newly composed message initiated with draft', async () => {

0 commit comments

Comments
 (0)