matrix_sdk 0.20.1 matrix_sdk: ^0.20.1 copied to clipboard
A Dart implementation of the federated communications protocol, Matrix.
0.20.1 #
- Fix
User
hash code implementation
0.20.0 #
-
Redo
Members
implementation -
Members can now be retrieved remotely
-
Remove
User.isIdenticalTo
The
==
operator is now equivalent to the removed method.
0.19.8 #
-
Add
Storables.isLastPossibleItem
Used so that the timeline will not try to get events from store or remote when the
RoomCreationEvent
has been passed. -
Add
SyncState.dirtyRooms
-
Fix exception when
typingUsers
containsnull
s
0.19.6 #
- Add
isSomeoneTyping
andisSomeoneElseTyping
properties toRoom
0.19.4 #
- Implement typing notifications
- Use
room.typingUsers
to see which users are typing - Use
room.setIsTyping
to notify that theLocalUser
is typing
- Use
- Add
PowerLevelsChangeEvent
0.19.3 #
- Export TopicChangeEvent
0.19.2 #
-
Implement
m.room.topic
-
Fix exception when room summary is null (thanks Mathieu!)
-
Format code with
dartfmt
For new merge requests, code is checked with
dartfmt
anddartanalyzer
whether it's formatted and correct.
0.19.1 #
- Downgrade meta package dependency to 1.1.6
0.19.0 #
- Add
from
andcount
toStore.getMembers(..)
- Use protected methods of
Storables
correctly - Let
Storables.getFromMemory(..)
be sync instead of async - Fix some issues with
Members
not returning anything
0.18.3 #
-
Add
Members.count
This is the actual amount of users in the room, not how many users are stored in memory or the store.
0.18.2 #
-
Add paginating functionality to
Storables
A new method has been added to
Storables
:paginate
. This can be used to get a 'page' of items (like from theTimeline
). -
Remove use of
Stream
sStorables
methods that returnedStream<T>
before will now return aFuture<Iterable<T>>
-
Process state when fetching events remotely
This means that the user states are now correctly set for remote messages!
-
Don't parse events with invalid user IDs
-
Add
MemoryStore
Changes thanks to Mathieu:
- Remote
state_key
fromStateEventContent
- Fix parsing of redaction of state events
- Add
upload
method toLocalUser
- Use
Stream<List<int>>
forupload
anddownload
method instead ofUint8List
0.17.3 #
- Fix missing semicolon
0.17.2 #
- Don't handle room upgrades without a replacement specified
0.17.1 #
- Export
RoomUpgradeEvent
0.17.0 #
Room.timeline(..)
can now return message from a previous room if the room was upgraded, for a seamless timeline between upgrades- Restructuring of protected methods and other things in
Storables
- Handle mapping of Matrix types differently
0.16.3 #
- Fix url
FormatException
not handled
0.16.2 #
- Mark a room as non-direct if someone new joins
0.16.1 #
- Fix
upTo
beingnull
raising an exception
0.16.0 #
- Rename
upTo(..)
toget(..)
inStorables
- Merge
all(..)
in toget(..)
inStorables
- Rename
get(..)
togetStateOf(..)
Members
- Don't process state events without a
state_key
0.15.2 #
- Use actual nulls when serializing urls
0.15.1 #
- Don't check whether
Url
is valid indownload
methods The givenUrl
already is valid.
0.14.0 #
- Enforce URL validity
Use
Url.parse(..)
to parse aString
to anUri
, but which is guaranteed to be an URL, not just an URI (if parsing was successful, otherwise throws aFormatException
).
0.13.3 #
- Add
Homeserver.fromWellKnown
function Use this to create aHomeserver
based on.well-known
data.
0.13.2 #
- Set
_directUser
based onInviteEvent
too - Don't serialize
width
andheight
ifnull
- Add proper
toString
toMatrixException
0.13.1 #
- Implement
LeftRoom
- Change
Store
Room
methods to general names (getRooms(..)
instead ofgetJoinedRooms(..)
, etc.) - Set room name to null if set to empty string
- Remove
fromJson(..)
factory constructor fromRoom
- Remove
store
param fromRoom
- Make all
Room
parameters named
0.12.3 #
- Fix
remote
var being wrong type
0.12.2 #
- Add original json
body
toMatrixException
- Use
UnknownException
as defaultMatrixException
- Handle
null
room names correctly - Fix exception when a
Storables
has no remote items - Handle when
width
and/orheight
ofImageInfo
arenull
0.12.0 #
- Remove all
from
parameters
0.11.0 #
Changes from Mathieu Velten:
- Add
allowRemote
to option toupTo
- Add
to
parameter toupTo
- Remove
from
fromupTo
- Add
AudioMessageEvent
0.10.1 #
- Add
rooms.create
method - Remove integration tests These will be replaced with proper unit tests in the future.
0.10.0 #
- Rename
AvatarUrlChangeEvent
toAvatarChangeEvent
- Rename
AvatarChangeEvent
toRoomAvatarChangeEvent
- Rename
NameChangeEvent
toRoomNameChangeEvent
- Add
RoomCreationEvent
members.get()
returns oldest user state if the given time (at
) is lower than any known state.- Fix state not being processed properly if room was newly created. Now all processing of events is done in a single function.
0.9.0 #
- Replace
subjectId
ofMemberChangeEvent
s withsubject
, aUser
containing the state at the time of the event - Fix wrong id being used when adding user state
- Fix exception when image dimensions are
double
s
0.8.2 #
- Fix emote messages being the fallback message
0.8.1 #
- Implement
m.emote
0.8.0 #
- Relicense to AGPL
- Remove
SyncFailReason
- Remove dependency on
dart:io
- Add members from state processing
- Update
README
0.7.2 #
- Complete relicense to LGPL
- Save
membership
inprev_content
ofDisplayNameChangeEvent
andAvatarUrlChangeEvent
0.7.1 #
- Relicense under LGPL
- Move storing remote items logic
Changes by Mathieu Velten:
- Implement long polling and exponential back off for sync
- Optimize removing local echo events
- Fix instance where context could not be null
0.7.0 #
- Rename
events
totimeline
- Save events retrieved from
messages
endpoint - Change return types to
RoomEvent
- Add null check for context
- Use
FutureOr
more - Let
User
extendsIdentifiable
Changes from Mathieu Velten (thank you!)
- Split
sync
betweensync
andsyncOnce
- Add
filter
andtimeout
support - Implement
setPusher
- Add support for custom key-value data at the app level
on
Identifiable
s
0.6.0 #
- Keep track of user state changes
0.5.8 #
- Add
DisplayNameChangeEvent
andAvatarUrlChangeEvent
- Check if the user id is valid when processing direct chats
0.5.7 #
- Sort items from memory in
all()
call
0.5.6 #
- Implement redactions
0.5.5 #
- Leave user name null if unset
0.5.4 #
- Add
avatarUrl
field toUser
- Make
membershipType
protected
0.5.3 #
- Add
directUser
toJoinedRoom
constructor
0.5.2 #
- Implement m.direct
0.5.1 #
- Set room name to null if name is an empty string
0.5.0 #
- Let room name be null if unset
0.4.12 #
- Serialize replies
0.4.11 #
- Add
inReplyToId
field toMessageEventContent
0.4.10 #
- Add
transaction_id
param tosend
- Serialize
transaction_id
- Use
RoomEventArgs
inEvent.fromJson
0.4.9 #
- Pass
sentState
toargs
- Await sending
0.4.8 #
- Add
RoomEventArgs
and renameSentState.waiting
0.4.7 #
- Add getUnsentEvents method to Store
- Retry sending if failed
0.4.6 #
- Get display name from
prev_content
as backup
0.4.5 #
- Fix leave events not having a display name set
0.4.4 #
- Pass a SyncState object in the sync stream
0.4.3 #
- Add
downloadThumbnail
method
0.4.2 #
- Fix sending test
- Add formattedBody field to TextMessageEvent
- Fix store required being non-null
0.4.1 #
- Serialize display name of member change event
0.4.0 #
- Implement local message echo
0.3.9 #
- Serialize url and image info properly
0.3.8 #
- Fix url not being serialized of image message
0.3.7 #
- Add image information to image message event
0.3.6 #
- Return null if image url is null
0.3.5 #
- Implement
m.image
message event
0.3.2 #
- Add
delete()
method toStore
0.3.1 #
- Add ability to logout
0.3.0 #
- Implement message sending
- Move content fields to seperate classes
0.2.4 #
- Don't pass dependency injection scope seperately
- Don't silence dependency injection errors
- Fix events sometimes being null
0.2.3 #
- Implement fetching events from history
- Use dependency injection (using Kiwi)
- Simplify user assignment when creating events
- Don't sort items when adding them
- Implement
upTo(count)
method inStorables
0.2.2 #
- Fix exception when handling avatar deletion
0.2.1 #
- Add option to set user when creating event
- Let display names also be set on subsequent syncs
0.2.0 #
- Add
Room
andUser
reference to events - Save more efficiently
- Remove
print
when using historical localpart - Add
fullState
param to sync api - Implement members
- Change some field names
- Add null checks to
LocalUser.fromStore()
0.1.9 #
- Remove
idb_shim
dependency - Make
Rooms
andEvents
implementation generic - Deserialize other member events, add displayname
- Restructure event classes
- Implement
m.room.member
- Fix
events.state()
returningMessageEvent
stream
0.1.8 #
- Cast specific event streams
- Use room id as name if room name is null
0.1.7 #
- Add avatar url to
JoinedRoom
constructor
0.1.6 #
- Fix
AvatarChangeEvent
not being able to serialize
0.1.5 #
- Implement
m.room.avatar
event - Add media download method
0.1.4 #
- Add
LocalUser.fromStore
- Add ability to store homeserver and user id
0.1.3 #
- Don't check whether
Store
is open inLocalUser
constructor
0.1.2 #
- Make
Store
per user - Remove
IndexedDbStore
0.1.1 #
- Export event(s)
0.1.0 #
- Add basic event support
- Use IndexedDB instead of Sembast store
- Let store support multiple
LocalUser
s - Fix equality issues
- Restructure tests, use a test room on matrix.org
- Use dotenv for username and password in tests
0.0.7 #
- Fix bug where
sync
would continously add duplicate rooms
0.0.6 #
- Fix
sync
always being initial sync
0.0.5 #
- Depend on a lower version of the
meta
package
0.0.4 #
- Fix syncing without store throwing exception
- Add missing meta dependency
- Add example code
- Remove unused imports