Breaking Changes
Please see UPGRADING.md
for full guidance on upgrading from version 0.2.1 and before.
- The default typing timeout has now been reduced to 5 seconds. #361
- Room and Connection status types have been renamed. #382
- Renamed the
timeserial
field on theMessage
type toserial
. Messages may now be compared for global order by string comparison of this field. Rooms.get
is now asynchronous and returns aPromise
that will resolve once anyrelease
operations on the room are complete. #387.- The
Room.channel
property is now an instance ofAbly.RealtimeChannel
, rather than aPromise
. #387 - In React, accessing the room via
useRoom
, or properties of the room via other hooks, now returnsValueType | undefined
. Once the room's promise is resolved (see above), this will update to the actual value. #387 - The default Room status is now
Initialized
. TheInitializing
status is retained for use in React when the room has not yet been resolved. #387 - The
direction
argument to message history has been replaced byorderBy
, which uses a new enumOrderBy
with valuesOldestFirst
andNewestFirst
. Its behavior is identical todirection: forwards | backwards
.
New Features
- Added new fields to Messages to support editing and deleting. #362
- Added the ability to delete messages in the chat. #365
- Added the ability to edit messages in the chat. #378
Fixed Bugs
- The Room will now transition immediately to
released
ifrelease
is called whilst its status isInitialized
. #400 - When paginating messages (e.g. via
getPreviousMessages
) the objects returned by successive pages will now fully implement theMessage
interface. Previously they were simple JSON objects after the first page. #403. - Fixed a bug whereby a room may get stuck in the
Suspended
status after network issues. #409
Other Changes
ably-chat
is no longer a reserved key on Message and Reaction metadata/headers. #374