All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
8.43.0 (2024-11-07)
- add support for archiving channels (#1386) (2e74619)
- add support for pinning channels (#1378) (7e39944)
- moderation endpoints for query and delete config and check api (#1387) (1316fd2)
8.42.0 (2024-10-30)
8.41.1 (2024-10-28)
8.41.0 (2024-10-24)
8.40.9 (2024-09-19)
- addToMessageList: prevent messages shifting when adding reactions (#1368) (40e06bd)
- deprecate ne and nin operators for query filters (#1363) (696d3a6)
8.40.8 (2024-09-17)
8.40.7 (2024-09-13)
8.40.6 (2024-09-11)
8.40.5 (2024-09-11)
- adding message to an empty message list (#1358) (599385d)
- allow hydrating thread's channel with an empty members list (#1359) (0946f45)
8.40.4 (2024-09-11)
8.40.3 (2024-09-10)
8.40.2 (2024-09-06)
8.40.1 (2024-09-04)
8.40.0 (2024-09-02)
8.39.0 (2024-08-22)
- add an extra step after yarn link for the RN setup (#1341) (47fe71c)
- encode all the values interpolated to HTTP request URLs (#1340) (f7407da)
8.38.0 (2024-08-21)
- moderation submit action endpoint (#1329) (c6a5ab2)
- moderation v2 api endpoints (#1312) (b1f47f0)
- moderation v2 endpoints under client.moderation (#1327) (2276b85)
8.37.0 (2024-06-25)
8.36.0 (2024-06-10)
8.35.0 (2024-06-06)
8.34.0 (2024-06-04)
8.33.1 (2024-06-03)
- update quoted message references on message.updated and message.deleted events (#1310) (6c4e29a)
- wrong sort field names (#1308) (a361ee7)
8.33.0 (2024-05-17)
8.32.0 (2024-05-16)
8.31.0 (2024-05-02)
- ability to send poll with campaigns (#1292) (cace193)
- member_limit option on queryThreads and getThread endpoint (#1291) (78fae3d)
8.30.0 (2024-04-30)
- "include_soft_deleted_channels" option to export channels api (#1288) (dcd7621)
- support privacy settings (#1283) (f16552b)
8.29.0 (2024-04-30)
8.28.0 (2024-04-29)
- add reactiongroups in
MessageResponse
(#1278) (0d5f87f) - sort option on getReplies endpoint (#1284) (9ad65d3)
8.27.0 (2024-04-24)
8.26.0 (2024-04-12)
8.25.1 (2024-03-28)
8.25.0 (2024-03-26)
- add before_message_send_failed to Message (#1268) (6b096b8)
- campaign instantiation without id (#1267) (b6d3286)
8.24.0 (2024-03-13)
- add thread_id to mark unread options typescript (#1262) (20b184d)
- fixing typescript for queryCampaigns sort option (#1261) (95ae2f6)
8.23.1 (2024-03-11)
- types for
PartialThreadUpdate
(37efc4a)
8.23.0 (2024-03-11)
- lint fix (240def4)
- typescript for datadog info and threads (c1d49a6)
- typescript for datadog info and threads (8b8eab5)
8.22.0 (2024-03-08)
8.21.0 (2024-03-07)
8.20.0 (2024-03-05)
- add message edited timestamp (#1248) (a80813f)
- add support for show_deleted_message in
getMessage
(#1252) (dc4e44e)
8.19.1 (2024-03-04)
8.19.0 (2024-02-27)
8.18.2 (2024-02-23)
8.18.1 (2024-02-23)
8.18.0 (2024-02-22)
8.17.0 (2024-02-22)
- dispatch capabilties.changed event on partial update if own_capabilties are changed (#1230) (0b935a9)
- add missing in$ operator for teams filter in queryUsers (#1226) (3c2166c)
- markRead and markUnread can be called from server-side (#1228) (c477fef)
- segment ts issue (#1220) (e2c385c)
8.16.0 (2024-02-05)
8.15.0 (2024-02-01)
- add batch unread endpoint (#1212) (5ea11db)
- add moderation types (#1213) (2a13b05)
- handle notification.mark_unread (#1208) (4d73838)
- segments API v2 (#1205) (d2bf603)
- missing types for datadog_info and blocklist type (33f09b9)
- prevent channel unread count reset to 0 when sending message and on new own or thread messages (#1210) (9cedf6f)
8.14.5 (2024-01-09)
8.14.4 (2023-11-29)
8.14.3 (2023-11-22)
8.14.2 (2023-11-16)
8.14.1 (2023-11-03)
8.14.0 (2023-11-01)
8.13.1 (2023-10-19)
8.13.0 (2023-10-16)
8.12.4 (2023-10-06)
8.12.3 (2023-10-03)
8.12.2 (2023-10-03)
- axios param serializer to comply with RFC 3986 (#1180) (d2ff8ec), closes GetStream/stream-chat-react-native#2235
8.12.1 (2023-09-20)
- allow search with offset and sort (d0c3f35)
- allow search with offset and sort (#1174) (fd24276)
- remove unused unread count api endpoint (33823be)
8.12.0 (2023-09-18)
- add field deleted_reply_count to MessageResponseBase (#1172) (f350692)
- declare and export types SendMessageOptions and UpdateMessageOptions (#1170) (8a2ad69)
8.11.0 (2023-08-21)
- add the option to exclude expired bans (#1147) (9a488a6)
- update last_read_message_id on message.read (#1155) (83f1c56)
- add geofences type (#1148) (31da90b)
- add missing property 'silent' to MessageBase type (#1154) (ba30397)
8.10.1 (2023-07-06)
8.10.0 (2023-07-03)
- prevent truncating message timestamps when updating references to deleted quoted message (#1141) (ab54f94)
8.9.0 (2023-06-09)
8.8.0 (2023-05-25)
8.7.0 (2023-05-17)
8.6.0 (2023-04-24)
- do not delete the active channel if offlineMode is true (#1116) (2004e28)
- receive last_read_message_id from server (#1113) (64e9165)
8.5.0 (2023-03-29)
8.4.1 (2023-02-20)
8.4.0 (2023-02-15)
8.3.0 (2023-01-19)
8.2.1 (2023-01-02)
8.2.0 (2022-12-24)
8.1.3 (2022-12-05)
8.1.2 (2022-11-18)
8.1.1 (2022-11-15)
- add missing property "joined" to ChannelResponse type (#1066) (5602322)
- set local device's check for alive websocket connection (#1067) (a47b55b)
8.1.0 (2022-11-01)
8.0.0 (2022-10-12)
- compatible node version changed to >=v16
7.2.0 (2022-10-11)
- don't keep removed users when reinitializing channel (#1044) (c61f55a)
- update client to use channel.cid as config keys (#1047) (aaf5c4c)
7.1.0 (2022-09-02)
- async moderation config in app settings (#1039) (54863d0)
- campaign missing pieces (#1028) (edbcbe2)
- campaign type updates (#1041) (0f674e7)
7.0.0 (2022-08-23)
- changes to support offline feature (#1011) (f8300e7)
- replaces console.warn instead throwing error when event is not valid (#1037) (90e3097)
6.9.0 (2022-08-18)
- do not mutate settings param (#1032) (a516cc1)
- update partial and query do not update channel.data (#1033) (c9ab4a4)
6.8.0 (2022-08-11)
- add more sync function types (#1024) (b34fe11)
- add pending message in send message request and response (#1016) (db32e24)
- get pending message with metadata (#1026) (62e81f8)
- pending messages in channel response (#1019) (1db90fe)
- pending messages in channel state (#1023) (252c6e3)
- message update and delete events override own reactions (#1009) (fe1ad64)
- race condition of query channels and ws connection (#1029) (f3a9ab4)
6.7.3 (2022-07-06)
6.7.2 (2022-06-27)
6.7.1 (2022-06-24)
6.7.0 (2022-06-22)
-
feat: add
first_reporter
field to theFlagReport
type (#987) (0667f2e) -
types: added support for thumb_url for video attachments in send file response (#982) (79ed099)
6.6.0 (2022-06-02)
- add TestCampaignResponse type (#967) (2c2e0c8)
- delete_user: add task_id to deleteuser response (#963) (0090f93)
- rename field (#966) (6c34e92)
- types: add types to support permission migration parameters (#976) (6f82e1a)
6.5.1 (2022-04-22)
6.5.0 (2022-04-15)
- mark all active channels as read only if notification.mark_read event's unread_channels is 0 (#955) (8d2e3ca)
6.4.0 (2022-04-05)
- add multi bundle into devices (#932) (014e470)
- add provider filtering into check push (#933) (2a4c7ec)
- add reminders feature (#935) (9ae3438)
- added import mode (#927) (c7679f2)
- truncate: add truncated by options (#938) (a7637da)
- added missing push and reminders related types (#942) (b7543eb)
- catch tokenProvider rejection (#934) (250aea6)
- Thread reply preview not added to channel state (#940) (38d78af)
- types of fields in ChannelSort (#941) (d8a2d38)
6.3.0 (2022-03-23)
- add provider management (#930) (2d35b81)
- add types for get app providers (#929) (610e98d)
- Jump to message (#851) (6eca258)
6.2.0 (2022-03-10)
6.1.0 (2022-03-07)
- channel unreadCount to be set as 0 when notification.mark_read event is dispatched [CRNS - 433] (#914) (667969e)
- unread count to not increment if channel has read_events off (#904) (75ebc95)
6.0.0 (2022-02-11)
-
convert Generics into a single Generic (#837)
5.6.0 (2022-02-09)
- fire health.check event after successful connection when using long poll transport (#900) (0b3cd97)
- ignore unread count for thread replies (#890) (7a014be)
5.5.0 (2022-02-02)
5.4.0 (2022-01-25)
5.3.0 (2022-01-24)
5.2.0 (2022-01-20)
- Add async user export endpoint support (#860)
- Add permission tags support (#867)
- add automated release flow (#866) (9b81974)
- remove imgur from commands (#865) (9efeea4)
- add channel.kicked event (#878) (d9334f5)
- Fix flickering and out-of-order events on truncate.channel with system message (#870)
5.1.2 (2022-01-13)
- Types: Fix some missing attributes by @mahboubii in #857
- Chore: Break CI into multiple workflow by @mahboubii in #858
- Fix: FormData accepts browser Blob by @mahboubii in #856
- Fix: Don't add messages from shadow banned users to state by @madsroskar in #859
- Types: Image attachment's dimensions by @vishalnarkhede in #861
5.1.1 (2022-01-03)
- Fix: prevent
own_capabilities
andhidden
set to undefined in state bychannel.update
event by @yetieaterxb1 in #849
5.1.0 (2021-12-30)
- Add support for new pinned messages endpoint @AnatolyRugalev in #853
- Add support for version 2 of export endpoint @SiddhantAgarwal in #813
5.0.1 (2021-12-02)
- Fix Longpoll disconnect by @mahboubii in #831
- New
transport.changed
event by @mahboubii in #832
5.0.0 (2021-12-02)
- Remove
BanUserOptions
deprecateduser
&user_id
fields,banned_by
andbanned_by_id
can be use instead, by @mahboubii in #828 - Refactor and simplify StableWSConnection constructor params by @mahboubii in #822
- Extend channel truncation options by @driver-devel in #815 & #805
- Add
hide_history
parameter toaddMembers
by @yaziine in #817 - LongPoll by @mahboubii in #814
- Add channel update options to member endpoints by @ferhatelmas in #821
- ChannelOptions type definition by @szuperaz in #824
- Add
quoted_message
toReservedMessageFields
by @vicnicius in #825 - Remove unused fields in WS JSON payload by @mahboubii in #829
- Prettier increase line width to 120char by @mahboubii in #818
- Drop husky hooks by @mahboubii in #816
- Types: UR alias UnknownType by @mahboubii in #819
- Refactor connection logger by @mahboubii in #820
- CI run on node v17 by @mahboubii in #826
- Upgrade axios to v0.22 by @mahboubii in #827
4.4.3 (2021-11-17)
- Provide
client_request_id
as part of ws failure insights #811 @thesyncim @vishalnarkhede @mahboubii
4.4.2 (2021-11-11)
- Inject
instance_client_id
as part of insights so insights from different client instances can be distinguished 5bd6394 @thesyncim
4.4.1 (2021-11-10)
4.4.0 (2021-11-10)
- Removed
flag
from CommandsVariant type @yaziine f1de4b6
-
Added ability to send insights about websocket failures from client @thesyncim @vishalnarkhede 5fdd032
const client = StreamChat.getInstance('apikey', { enableInsights: true })
-
Added
quotes
flag on channel config types @nmerkulov a130cf4
4.3.0 (2021-11-01)
- Fixed conditions on
window.removeEventLister
to avoid breaking react-native by @vishalnarkhede in #781 - Fix
queryMembers
sort type by @DanC5 in #787 - Deprecate
client.markAllRead
and addclient.markChannelsRead
by @yaziine in #800
GetTask
endpoint to retrieve async task results by @gumuz in #770- Add Huawei push provider by @ferhatelmas in #772
- Change
Permission.Condition
type by @AnatolyRugalev in #775 - Fix unread count by excluding system messages by @khushal87 in #777
- Add search backend type by @ferhatelmas in #780
- New
enrichURL
OG endpoint by @mahboubii in #771 - Add async
deleteChannels
endpoint by @yaziine in #769 & #788 - New
async_url_enrich_enabled
flag by @mahboubii in #793 - Add ExportChannel Options missing
include_truncated_messages
by @mahboubii in #794 - Expose
webhook_events
field by @nmerkulov in #792 - Added i
d_around
&created_at_around
to query messages by @gumuz in #798 - New
skip_enrich_url
flag by @mahboubii in #799 - New endpoint for async batch delete users by @gumuz in #762
- Fixed the behavior of
isConnecting
flag inStableWSConnection
class. Alsoclient.connecting
flag has been removed, so this could potentially be a breaking change for you, although this flag was never properly set so ideally you shouldn't be using this flag. bb165f8
- Added option
clear_deleted_message_text
inexportChannels
endpoint 33f627f
- Add
own_capabilities
attribute to channel response data #741 - Add
team
filter for query flagged messages #754 queryChannel
supportuser_id
for server-side queries #753
- Campaign namespace update #760
From now on client.connectUser()
should be awaited #747. All instances of connectUser()
should be changed to:
await connectUser();
// or
connectUser().then();
// ....
// queryChannels and other methods should be called after promosie is resolved
The behavior is now improved for poor connections and connectUser
retries to establish the connection before throwing an error. Make sure to handle the failure gracefully and do not proceed to query channels or other methods until connectUser
resolves.
- Campaign feature flag, name and description added #745 #736
- Campaign and Segment pagination option #737
queryChannels
options to skip initialization of certain channels #743 #740
- Allowing listeners for
channel.deleted
andnotification.channel_deleted
before disconnecting the channel from client cc8796e - Fixing issue with presence indicator not updating feff028
- Clear channel from
client.activeChannels
when its deleted on backend #728 - Remove deleted properties from user objects on client when user-update related events are received #727
- Remove reference to quoted message, when message gets deleted #726
Please note that channel can't be used once its deleted. You will need to re-create the channel using
client.channel(channelType, channelId)
call
-
Added following enpoints to client:
createSegment
getSegment
listSegments
updateSegment
deleteSegment
createCampaign
getCampaign
listCampaigns
updateCampaign
deleteCampaign
scheduleCampaign
stopCampaign
resumeCampaign
testCampaign
-
Removed target user id from payload on
client.sendUserCustomEvent
function 8bfcca3 -
Added
grant
field types to AppSettings 991b8118
- Fixed an issue with event (
message.updated
,message.deleted
etc) based updates to message list, which can cause messages to go out of sync than desired state. Please read the PR description for more details - #713
-
Updates to
client.search()
andchannel.search()
endpoint #677- supports sorting results
- returns
next
andprevious
parameters to get the next/previous page of results - supports pagination using the
next
parameter
-
Added new
channel.assignRoles
method for assigning custom roles to the channel members (#692) -
Switched
pinMessage
andunpinMessage
to partial update (#712)
- Fixed timer throttling issue, which was introduced with recent release of Chrome browser #698
- Fixed issues with unread count on muted channels #678
client.partialUpdateMessage()
to partially update messages #576client.queryMessageFlags()
to query flagged messages #676client.createToken
add support to haveiat
claim while generating tokens #674client.revokeTokens()
method to revoke/unrevoke tokens on an application level #674client.revokeUserToken()
method to revoke/unrevoke tokens on user level #674client.revokenUsersToken()
method to revoke/unrevoke tokens for multiple users at once #674
- Better handling of user.deleted and user.updated events 6eddf39
- When
user.deleted
event is received, mark messages from corresponding user as deleted. - When
user.updated
event is received, update references of corresponding user in messages.
- When
- Bug with with ChannelState.clean function 28581fd
- Allow overriding of https agent on StreamChat f18e397
const client = StreamChat.getInstance(apiKey, { httpsAgent: new https.Agent({ keepAlive: true, keepAliveMsecs: 6000, }); })
- Updated following types
- Receive unsubscribe handler from
channel.on
1ae1fca
const eventHandler = (e) => {
/** handle event here */
};
const { unsubscribe } = channel.on(eventHandler);
// When you want to remove listener:
unsubscribe();
- Added extra check in
client.updateMessage
to make sure we don't sendmentions_users
as array of user objects. If yes, then convert it to array of userIds (which is what API expects) #647
message.__html
type is deprecated in favor ofmessage.html
#646message.__html
is ignoredupdateMessage
function #645
- Add support to set
baseURL
fromoptions
#644StreamChat.getInstance('key', { baseURL })
Remove call to channel._disconnect
from client.closeConnection. For end user this will fix the issue - You can't use a channel after client.disconnect() was called
#639
-
Deprecated
client.disconnect
. A new method has been introduced as alias -client.disconnectUser
-
Introduced following two methods on client:
- client.openConnection - establish a ws connection on current client.
- client.closeConnection - close the ws connection on current client, doesn't remove user
-
Moved call to
setHealth(true)
, (which marks the connection as healthy) to only after you receive first event on websocket. Please check the description of PR #626 for details.
QueryMembers - Added support for pagination by user_id 0c41232
- Added the
Client.getRateLimits
function to retrieve rate limit quotas and usage, with the option to filter per platform and endpoint #631 - Support reactions sync for pinned messages in channel state #629
- Added the
Client.queryBannedUsers
function to query banned users with optional filters #625
- Clear (set to false)
isUpToDate
flag, when channel watcher is disconnected #624
- Change stream client header from
x-stream-client
toX-Stream-Client
#622
- Fixed regression introduced in 3.1.0 causing
ChannelState.messages
not to update on incoming reaction events #621
- Channel state message list mutation #619
sendMessage
accepts askip_push
flag to skip sending push notifications #608
- Add back some deprecated functions for convenience #615
-
Removed
seamless-immutable
library completely for client/channel state management in favor of pure JS objects #602. This will likely require some changes to frontend usage of these states with spread operators for deeply nested data updates -
Changed channel state
messageToImmutable
function toformatMessage
#602 -
channel.sendReaction(messageID: string, reaction: Reaction, user_id?: string, enforce_unique?: boolean)
is changed tochannel.sendReaction(messageID: string, reaction: Reaction, options?: { enforce_unique?: boolean })
. the removeduser_id
parameter should be added toreaction
. -
client.setUser()
function is removed in favor ofclient.connectUser()
#612 -
client.setAnonymousUser()
function is removed in favor ofclient.connectAnonymousUser()
#612 -
client.updateUser()
function is removed in favor ofclient.upsertUser()
#612 -
client.updateUsers()
function is removed in favor ofclient.upsertUsers()
#612 -
client._userAgent()
function is removed in favor ofclient.getUserAgent()
#612
- Upgrade Dependencies #613
- New
StreamClient.getInstance
function to be use instead ofnew StreamClient()
#599 - Types for file and image upload app configuration #582
- Allow consecutive calls with warning to
client.connectUser
for the same user #600
- Skip sorting channel members while instantiating a channel without id #591
- Ensure uniqe channel per cid on client's activeChannel state #586
- Added types for query by date parameters - b249e0b
- Added missing type definitions around channel config - 9c3067f
- Add thread_participants to MessageResponse and correct pinned types 8e357a8
- Updated/fixed types on event object regarding unread counts. 36e2297
- Added support for quoted messages #561
- Added support for
enforce_unique
param on send reaction api. When true, previous reaction (if any) from user will be replaced with new reaction. 27ddd4f - Added event handler for event
reaction.updated
27ddd4f - Added new flag on channel state
isUpToDate
(please check description for details) 588c0e9 - Fixed types for
client.user
d855779
- New
channel.updatePartial()
function can be used to set and unset specific fields when it is necessary to retain additional custom data fields on Channel #550 client.testPushSettings()
acceptsskipDevices
boolean attribute which skip config/device checks and sending to real devices #548channel.sendReaction()
acceptsenforce_unique
attribute to overwrite existing reactions if any #527
-
deprecate
setUser
andsetAnonymousUser
in favor ofconnectUser
andconnectAnonymousUser
#529 -
Update channel read state when a new message is sent #536
-
Removed unused
user_details
field fromquery_channels
#545 -
MessageResponse
type #551 -
AppSettings
type #541
- Adding
recoverStateOnReconnect
option - #534 - Adding
UpdatedMessage
typescript type
- Reset
unreadCount
when channel gets truncated #521
- add
custom_event
to channel types #520
- Replace uuid with simple random generator #518
- Duplicate message from current user #509
- Sort direction array for queries #501
- Add
enforce_unique_usernames
toAppSettingsAPIResponse
type #511
- Channel Export #504
- New event
notification.invite_rejected
#467 - Channel stopTyping accepts optional
parent_id
for typing in threadsnotification.invite_rejected
#505
- Mute users no longer counted in channel unread #498
AppSettingsAPIResponse
type includesimage_moderation_enabled
#497- User ban function signature updated #502:
client.banUser('user1', {user_id: 'user2'})
is replaced withclient.banUser('user1', {banned_by_id: 'user2'})
- Ban user by ip #485
- Browser file upload incorrect file name #487
- Improve types of
sendMessage()
,updateMessage()
,ChannelFilters
andAppSettingsAPIResponse
#480 #483
- New functions to shadow ban a user from one or all channels #447
// global shadow ban on all channels
client.shadowBan(target_user_id);
client.removeShadowBan(target_user_id);
// channel speceifc shadow ban
channel.shadowBan(target_user_id);
channel.removeShadowBan(target_user_id);
- Upgrade dependencies #477
channel.addMessageSorted
performance has been improved. It now accepts an extra parametertimestampChanged: boolean
which needs to be set for updating a message in the state with the sameid
and differentcreated_at
#470
- Typing events for thread #445 #445
- Hard deleted messages are removed from
channel.state.messages
#454 - Simplify and document flag/unflag functions for server side usage #462
- BlockList types #455
Channel.countUnread()
returns correct unread #452type
key-value pair added to image uploads to fix React Native Android image upload failures #464
- Add permission for using frozen channels
UseFrozenChannel
#444 SendFile
accepts buffer and other types of streams #448
- Discard reservered fields from
channel.update()
#439 - Custom Command handler in
AppSettingsAPIResponse
renamed tocustom_action_handler_url
fromcustom_command_url
#409 - Regenerate yarn.lock file #449
SendFile
properly check forFile
instances #448
Channel.keystroke
not firing for the first typing event #440
- Added backward compatible types and move type definitions for production out of dev dependencies #432
- Changed ordering of Typescript generics from usage preference based to alphabetical for consistency throughout the project #425
- Fixing possible race condition between warmUp options request and first queryChannels call. 372b22c
- Fixing typescript for
filters
param in queryChannels endpoint 5e840ba
- Add
warmUp
option for StreamChat constructor, to improve the network latency on api calls 74a9121
- Move @types dependencies to devDependencies #418
- Fix connection recovery of client #414
- Removed unused recovery option from queryChannels api payload #414
- Typescript related fixes 4e538e6
- Add null checks for tests and correct types to reflect null returns on reactions
- Change updateMessage to use Message instead of MessageResponse
-
Added endpoints to enable and disable slow mode 06fe1b2
- enableSlowMode
- disableSlowMode
-
Added endpoints for custom commands f79baa3
- createCommand
- getCommand
- updateCommand
- deleteCommand
- listCommand
-
Typescript related fixes 5f2ae83
- added generic type
CommandType
- Fixing backward compatibility related issues
- added generic type
- Library has been migrated to full typescript.
- No breaking changes regarding underlying javascript api.
- The
Event
type no longer takes a string generic that maps to thetype
property of the response. Event now takes multiple high level generics instantiated along with the client and the propertytype
on the response is on of the string unionEventTypes
.
- Added timeout for muteUser client method 6f44677
- Removing cross-fetch from rollup externals c7dafb0
- Changing ws issue logs to warn level 1836606
- Add size comparison action #361
- Drop cross-fetch and use Axios for uploads, use local instance of Axios #365
- Drop support for node v11, v13 #372
- Fixing typescript for channel.getCommands 52e562a
- Adding sync endpoint for offline support eb4793f
- Fixing typescript for translateMessage endpoint c9aea32
- Fixing request retry logic upon token expiry ab20729
- Fixing types for setUser function on client 36d04ec
- Added
translateMessage
function/endpoint to client c5e1462
- Improved channel.config types in typescript file 5524675
- Added support for
user.deleted
event b3c328a
- Fixing issue with connection recovery and queryChannels api call #340
- Introducing queryMembers endpoint #321
- Fixed typescript issues a9fa49c
- Fixing read status issue 3289ae2
- Reverting uuid version change from 1.10.0 due to incompatibility with react-native issue
- Token refresh functionality #327
- Bump uuid version to
8.0.0
d1957d9 - Updated typescript for multitenant feature 6160aa6
- Updated flag function signatures to allow server side flagging/unflagging 05c2281
- Disabled presence by default for queryUsers endpoint 26616f5
- Multi-tenant feature
- Ws Disconnect improvements - forcefully assume closed after 1 sec
- Silent message feature
- Breaking: updated typescript namespace to avoid conflict with getstream package
- Fixes: GetStream/stream-js#258
- Fixed types for verifyWebhook function
- Adding missing event types in typescript file - 8ed49dd
- Fixing typescript for StreamChat, Channel and ChannelState classes 2c78981
- Fixing typescript for getConfig function in Channel class 5bf2d7e
- Add types for channel.getConfig()
-
Adding (missing) following permission constants in typescript file 5b08dec
- Allow
- Deny
- AnyResource
- AnyRole
- MaxPriority
- MinPriority
-
Moving following dependencies from devDependencies to dependencies to avoid ts errors regarding missing types 5b08dec
- @types/seamless-immutable
- @types/ws
-
Reverting c5413c0
Commit description: Avoid duplication of reaction, by adding check for existing reaction
Reason:
- latest_reactions only contain 10 reactions. So the added check is not sufficient.
- It will need handle remove reactions as well.
- own_reactions doesn't contain user object always. So that use case will need handling as well.
- Deprecating updateUser and updateUsers api from StreamChat client.
- Introducing alias for updateUser and updateUsers api
- updateUser --> upsertUser
- updateUsers --> upsertUsers
- Fixing typescript for StreamChat constructor 583b528
- Fixing typescript for event subscribers a0c2ef0
- Added typescript for getMessage and getMessagesById endpoint a0c2ef0
- Avoid duplication of reaction, by adding check for existing reaction c5413c0
- Fixing
removeMessage
function in ChannelState to handle thread message - e67a432 - Fixing typescript file for channel mutes - c7fefa8
- Support for channel mutes
- Support filtering by messages custom fields - #264
- Increment wsID when ws connection is disconnected manually, to ensure any of the callbacks (onclose, onerror etc) are obsolete - 792de5b
- Fixing broken browser bundle - fixes #259
- Allowing
.off
(event listener removal) on uninitialized channels - 985155f
- Fixing client.disconnect and connection.disconnect to always return promise - 600da6c
- Fixing type definitions for Reaction object - 08c802e
- Fixing type definitions for channel method on client - f2d99b8
- Adding some more logs for ws connection callback handlers such as onclose, onmessage, onerror - b54fa53
- Added tests for channels operator $in with custom fields - 1896d98
- Fixed types (in typescript declaration file) for sendReaction function in channel - e0aa1fa
- Fixed types (in typescript declaration file) for sendFile and sendImage functions - 346048f
- Added
getMessagesById
endpoint for channel - cdc2a8e
- Updated devtoken methode (for compatibility with RN). Switching to base64-js - 96c338e
- Fixed types (in typescript declaration file) for setUser function of client - 6139e4e
- Fixed and updated types for partialUpdateUser function - 201257d
- Handling
channel.hidden
event
- Handling
channel.truncated
event - Support for system message for addMember/removeMember functionality
- Throw clear errors when trying to build tokens without secret
- Improve client.channel signature, support short-hand with only type and object as well as null or undefined ID (instead of only "")
- Add support for member invites after channel creation.
- Fixing types for client and connection in typescript declaration file.
- Fix for issue #133 - Updating user object in client, when
user.updated
is received corresponding to user of client - Adding types for ChannelData object
- Fixing tests
- File upload issue fix - Allowing File object as valid uri in sendFile function in client.
- Moving @types to devDependencies
- Syncing and improving the typescript declaration file
- Added
channel.hide
andchannel.show
- Improving event handling in js client. Earlier, event listeners on client were executed before channel could handle the event and update the state. This has been fixed by handling event completely on client and channel level first before executing any of the listeners on client or channel.
- Added error logs for errors in API calls
- Support $exists operator for queryChannels/queryUsers
- Support hard delete messages for server side auth
- Fixing broken types in ts declaration file : 264ee9a87d6591d39f20b99d1d87381532b9957b
- This library is stable and used in production already, bump to 1.0.0
- Avoid memory leaks server-side when client is created many times
- Track client version with WS
- Add configurable logging
- Bugfix: reconnection and threads' replies are now handled correctly
- Bugfix: replies pagination now works with both ASC and DESC ordering
- Improve reconnection mechanism
- Added populated
channel.data
when callingchannel.watch()
- Improved channel.unreadCount
- Improved user presence support. If listening to user presence, channel.state.members and channel.state.watchers are now automatically updated with the user's online/offline presence.
- add channel.countUnreadMentions
- improve client.disconnect
- add userID param to add reactions server-side
- add babel runtime to dependencies
- GDPR endpoints: deleteUser, exportUser and deactivateUser
- markRead now supports sending a message_id to mark the channel read up to (and including) that specific message
- added markAllRead client method
- countUnread can be called without any parameters now client-side and it will default to current user's read state
- queryChannels used to return the list of members twice, this has now been resolved. However if you were using the duplicate list of members in channel.members you'll want to update to Object.values(channel.state.members)
- event.own_user renamed to event.me
- user.status.changed renamed to user.presence.changed
- connectResponse.unread renamed to connectResponse.unread_count
- channelState.online renamed to channelState.watcher_count