- android: fix crash when trying to send typing notifications to none existing room
- Improved Event type to accept generic type parameters for their content and type
- iOS: fixed crash when retrieving rooms
- iOS: fixed issue where promise of joinRoom did neither resolve/nor reject (was blocking)
- Removed age property from events
- Added
getRoom(roomId)
functionality
- Added
setCredentials
method which can be used to just pass the credentials instead of logging in
- (Not public yet) added on android
loginWithToken
- Fixed
uploadContent
on android to return the upload id in response, instead of string "uploadId"
- Added
uploadContent
and contentGetDownloadableUrl
to the SDK
- Upgraded android matrix SDK to 0.19.35
- Upgraded iOS matrix SDK 0.16.5
- Fixed that login / startSession won't be called when already init
- Fixed some crash causes on iOS
- Changed android package name to a unique one
- Changed
loadMessagesInRoom
to backPaginate
to be in accordance with how the native SDKs work, thus supportign offline fetching of messages
- Added
canBackPaginate
- Added name parameter to
createRoom
method
- Fixed crash on iOS when requesting left rooms and user have none
- Fixed issue on iOS where
markRoomAsRead
promise would not resolve
- Fixed issue in iOS where
isDirect
field could be wrong
- Fixed typescript array usage
- Added
members
attribute to room
- Fixed android left rooms having no room summary
- Changed signature for room creation to:
createRoom(userIds: Array<string>, isDirect: boolean, isTrustedPrivateChat: boolean): Promise<MXRoomAttributes>;
Trusted chats are:
isTrustedPrivateChat: join_rules is set to invite. history_visibility is set to shared. All invitees are given the same power level as the room creator.```
- Fixed issue where changeUserPermission to admin was only promoting user to moderator.
- Fixed issue on iOS where room was not set to
isDirect
although true
was passed as argument.
- Fixed issue in android where creating a room with
isDirect
didn't work correctly
- Fixed that message content can be
any
.
- Fixed issue in iOS with
createRoom
- Added leaveRoom
- Added removeUserFromRoom
- Added changeUserPermission
- Added addUserToRoom
- Changed createRoom signature to support multiple participants:
createRoom(userIds: Array<string>, isDirect: boolean): Promise<MXRoomAttributes>;
- Added
sendEventToRoom(roomId: string, eventType: string, data: any)
API
- Removed event types, and set string for field event.event_type to support custom events
- Added
setAdditionalEventTypes(types: string[]): void
for adding a list of custom events that a client needs to support (iOS only, android doesn't need this)
- Added typing:
sendTyping(roomId: string, isTyping: boolean, timeout: number): Promise<void>
- Added
ts
(server timestamp) to events (don't use age
, use ts
)
- Added
setUserDisplayName(displayName: string)
to SDK
- Fixed issue on iOS related to device token encoding with base64
- Fixed issue in android where age was 0
- Fixed issue in iOS where
getLastEventsForAllRooms
caused a crash
- Added
sendReadReceipt(roomId: string, eventId: string)
in android
- Added
markRoomAsRead(roomId)
- base64 encoding device token when doing iOS push notification registration
- add
appId
parameter to registerPushNotification
- Changing name of application when doing
registerPushNotifications
to
yourpackagename.(android|ios)
- Fixed implementation issues with
registerPushNotifications
API
- Added
registerPushNotifications
API (android and iOS)
/**
* Adds a new pusher (service) to the user at the matrix homeserver. The matrix homeserver will
* use this pusher service to broadcast (push) notifications to the user's device (using FCM, APNS).
* @param appDisplayName
* @param pushServiceUrl
* @param token (FCM ID, or APNS device token)
*/
registerPushNotifications(appDisplayName: string, pushServiceUrl: string, token: string): Promise<void>;
- Corrected
MXRoomAttributes
name from notificationcount
-> notification_count
, thus fixing that undefined is returned
- Android and iOS use now a file store instead of a memory store, which is a performance optimization
- Changed how
loadMessagesInRoom
works. Instead of needing to register a listener, it now returns the events of the room
as a promise array Promise<MXMessageEvents[]>
(docs updated accordingly)
- Fixed issue where android SDK was crashing when started listening without having started a session.
- Fixed issue where credentials returned by
login
were a string instead of an object.
- Added getLastEventsForAllRooms API for android
- Added listen (and unlisten) API to listen to the overall global events of a user
- Added unlistenToRoom and loadMessagesInRoom API for android
- Fixed state issues on android side.
- Added following methods for android:
- createRoom(userId: string): Promise;
- getJoinedRooms(): Promise<[MXRoomAttributes]>;
- listenToRoom(roomId: string): Promise; -> will send events to RN
- sendMessageToRoom(roomId: string, messageType: string, data: any): Promise;
- Added following methods for iOS - android will follow tomorrow. (Not all methods have been intensively tested yet!):
- createRoom(userId: string): Promise;
- joinRoom(roomId: string): Promise;
- getInvitedRooms(): Promise;
- getPublicRooms(url: string): Promise;
- getUnreadEventTypes(): Promise<[string]>;
- getLastEventsForAllRooms(): Promise<[MXMessageEvent]>;
- getJoinedRooms(): Promise<[MXRoomAttributes]>;
- listenToRoom(roomId: string): Promise; -> will send events to RN
- unlistenToRoom(roomId: string): Promise;
- loadMessagesInRoom(roomId: string, perPage: number, initialLoad: boolean): Promise;
- searchMessagesInRoom(roomId: string, searchTerm: string, nextBatch: string, beforeLimit: string, afterLimit: string);
- getMessages(roomId: string, from: string, direction: string, limit: string): Promise;
- sendMessageToRoom(roomId: string, messageType: string, data: any): Promise;
- sendReadReceipt(roomId: string, eventId: string): Promise;
- Fixed iOS implementation of login
- Android and iOS do now resolve according to the
types/index.d.ts
- Added iOS build setup and added implementation of methods in iOS (not tested yet).
- Removing unnecessary files
- Actually implemented
configure
, login
, startSession
functionality in library
- This is for android only implemented, next version will implement those in iOS
- Renamed API
MatrixSdk
-> MatrixSDK
- Using appropriate versioning, and suffixing library version with
-alpha
o give clear indication that this isn't ready yet.
- Fixed issue when including project
General error during semantic analysis: Unsupported class file major version 57
- Add static types (just for
configure
for now)
- Added documentation on how to setup library for android
- Fixed android build issue