Krille
05c945b042
fix: Last message set incorrectly on all session key received
...
This fixes a bug that the
last message was sent
incorrectly when a session
key received for example
from the key backup. It may
fix several issues like the
last message is set as a
very old one or the last
message is not decrypted.
2023-01-18 11:46:32 +01:00
Krille
d6c4b530c5
refactor: room displayname calculation
...
This deprecates the displayname
getter in favor of the new
getLocalizedDisplayname which
gets the default localization
by default so it can be
called without defining localizations. It adds a method
to calculate if a room is an
abandoned DM room where
it is made sure that the room
is actually empty.
2023-01-17 08:51:07 +01:00
td
1138012dd1
fix: propogate filter to getParticipants in requestParticipants
2023-01-04 03:36:51 +05:30
Nicolas Werner
58b3098f16
Merge branch 'braid/null-safe-code' into 'main'
...
fix: make some Room getters null safe
See merge request famedly/company/frontend/famedlysdk!1196
2022-12-14 22:36:29 +00:00
TheOneWithTheBraid
35a108b704
fix: make some Room getters null safe
...
- gixes huge error cause in integration tests of related apps
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-12-14 21:20:14 +01:00
Reza
52d6b59cc1
fix: leaved direct chat name
2022-12-12 10:31:40 +01:00
Christian Pauly
f3287dbb99
fix: PowerLevel calculation regarding to spec
2022-11-21 10:14:28 +01:00
Christian Pauly
7caab4d086
chore: Follow up fix for request users in invite rooms
2022-11-14 08:27:47 +01:00
Christian Pauly
f8140866ae
fix: Do not request users in not joined rooms
2022-11-07 08:41:15 +01:00
TheOneWithTheBraid
ed7913e710
feat: introduce hightlighted room getter
...
- adds `Room.isUnreadOrInvited` extending `Room.isUnread` to invited rooms
This is some high-level abstraction simplifying computation of unread
room badges / notifications.
Related: https://gitlab.com/groups/famedly/company/-/epics/28
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-10-26 11:51:32 +02:00
Nicolas Werner
f55bb4776a
feat: Support evaluating pushrules
...
fixes #339
2022-10-17 04:29:20 +02:00
Nicolas Werner
abbc474480
fix: Check ahead of download if a file exceeds the maximum file size
...
fixes https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/539
2022-09-06 11:52:30 +02:00
Nicolas Werner
65205ea734
chore: simplify getTimeline condition a bit
2022-08-16 16:58:36 +02:00
Nicolas Werner
651abc7c14
Merge branch 'krille/add-mark-as-dm-commands' into 'main'
...
feat: Add markasdm and markasgroup commands
See merge request famedly/company/frontend/famedlysdk!1092
2022-08-15 14:19:17 +00:00
Nicolas Werner
6555f36d6d
feat: switch from pedantic to lints
2022-08-15 14:15:51 +00:00
Nicolas Werner
064b84305d
chore: Add markasdm/group tests
2022-08-09 15:33:59 +02:00
cloudwebrtc
9695a5ad10
chore: Use onRoomState to monitor group call creation and member join and leave.
2022-08-08 22:50:43 +08:00
Lanna Michalke
501ee5dce1
Merge branch 'td/add_startGroupCall' into 'main'
...
fix: check for m.call permissions in groupCallEnabled
See merge request famedly/company/frontend/famedlysdk!1088
2022-08-01 09:07:27 +00:00
td
f56e0ddb5f
fix: check for m.call permissions in groupCallEnabled
2022-08-01 14:27:10 +05:30
Lanna Michalke
05ff61ac86
chore: introduce native implementations
...
- adds Client.nativeImplementations
- deprecates Client.compute
Allows to properly implement accelerated native operations in web
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-07-28 13:30:22 +02:00
Nicolas Werner
7f55e131f4
Merge branch 'td/enable_group' into 'main'
...
feat: allow enabling group calls in already created rooms
See merge request famedly/company/frontend/famedlysdk!1084
2022-07-24 19:24:43 +00:00
Jayesh Nirve
29c1241359
chore: add tests for group calls
2022-07-21 23:16:59 +05:30
Henri Carnot
2a019eaec3
feat: keep timeline history for archive rooms in memory
2022-07-21 14:14:17 +00:00
Christian Pauly
7885281c72
refactor: Use import sorter and ci templates
2022-07-21 15:44:04 +02:00
Jayesh Nirve
0aa5ef9eea
feat: allow enabling group calls in already created rooms
2022-07-20 18:44:03 +05:30
Christian Pauly
28231936b1
feat: Calc encryption health state and allow key sharing with unknown devices
...
In order to allow key sharing with
unknown devices (master key has been
verified but this device is not
signed by this master key) the
user should at least be informed.
This makes it possible to set
in the client constructor whether
the app should share keys with
unverified devices or unknown
devices.
2022-07-09 09:39:31 +02:00
Krille Fear
c3a9d64329
Merge branch 'reza/sending-queue' into 'main'
...
fix: implement sending queue
Closes #257
See merge request famedly/company/frontend/famedlysdk!1061
2022-07-01 06:34:22 +00:00
Reza
4af89c6de4
fix:implement sending queue
2022-06-30 20:16:56 +02:00
Christian Pauly
9628095ac9
feat: Implement CachedStreamController
...
This makes it possible to access the last
value of a stream at any time.
2022-06-30 09:22:53 +02:00
Nicolas Werner
21e9b802a0
chore: Update Matrix API Lite for spaces fixes
2022-06-08 12:55:16 +02:00
Christian Pauly
58cfd1f688
refactor: Rename methods and get rid of all Future getter
2022-06-08 08:30:05 +02:00
Christian Pauly
f1751a0744
refactor: Use single quotes
2022-06-07 08:53:14 +02:00
Henri Carnot
44b7247d2c
fix: add deprecation mention for getUserByMYIDSync
2022-06-02 11:13:27 +00:00
Henri Carnot
fb18843b08
refactor: make sender getter async
2022-06-02 08:13:21 +00:00
Henri Carnot
2d018d3d5f
feat: added waitForSync method
2022-05-25 10:53:52 +00:00
Krille Fear
3f3d4d38d6
refactor: Migrate to Matrix Api Lite 1.0.0
2022-05-17 22:50:04 +00:00
Henri Carnot
7e4096cc63
Merge branch 'henri/fix-remove-duplicated-fully-read' into 'main'
...
fix: remove duplicated read marker
See merge request famedly/company/frontend/famedlysdk!1033
2022-05-16 11:09:37 +00:00
Henri Carnot
bfdd4c810e
Henri/fragmented timeline v2
2022-05-16 10:54:42 +00:00
h.carnot
6c2e525a64
fix: remove duplicated read marker
2022-05-16 10:49:57 +02:00
Krille Fear
9a87850092
Revert "feat: non cached fragmented timeline"
...
This reverts commit 09b324674e
2022-05-12 09:46:29 +02:00
Henri Carnot
09b324674e
feat: non cached fragmented timeline
2022-05-03 14:08:33 +00:00
Lanna Michalke
ac16724841
chore: make Client.accountData read-only
...
- for external access, Client.accountData should be read only
- added corresponding getter and private Map
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-05-03 03:29:20 +02:00
Henri Carnot
f23abcd323
feat: get fully read marker
2022-05-02 08:43:54 +00:00
Christian Pauly
bce45cbf2b
refactor: Remove old deprecations
...
They have been lived long
enough and the next version
will have breaking changes
anyway.
2022-04-22 12:44:45 +02:00
Christian Pauly
4e657f8e09
fix: Ignore no permission errors on requesting users
...
In theory even in invite or left rooms it
can be possible to request a room
state regarding the spec. In most
cases it will throw an error though.
2022-04-14 17:32:52 +02:00
Krille Fear
2f4d455eee
fix: Retry sending a file event
2022-04-08 08:41:55 +02:00
Henri Carnot
c6393c67d6
Merge branch 'henri/blurhash-fallback' into 'main'
...
feat: blurhash fallback to thumbnail one
See merge request famedly/company/frontend/famedlysdk!1002
2022-04-07 11:58:48 +00:00
h.carnot
97ca608f60
feat: check thumbnail size
2022-04-06 17:43:31 +02:00
h.carnot
f1c007c655
feat: fallback to thumbnail preview
2022-04-06 11:09:05 +02:00
Christian Pauly
cdd6111ce1
fix: Missing type check in power level calculation
2022-04-03 08:22:53 +02:00
Krille Fear
6f977b7c9d
fix: Store sending files in database and fix retrying to send them
2022-04-01 14:26:57 +02:00
Christian Pauly
117baecfb1
fix: Post load all users on room opening
...
When opening a room we need to
fetch all users from the database.
Otherwise we would need to
update the timeline per user after
creation which should be much slower.
2022-03-31 13:07:40 +02:00
Christian Pauly
6a57f99c00
feat: Pass through a custom image
...
resize function to the client
This allows the use of the
native imaging package in a more
easy way.
2022-03-30 11:15:04 +02:00
Christian Pauly
445252b3a5
feat: Pass through a custom image
...
resize function to the client
This allows the use of the
native imaging package in a more
easy way.
2022-03-30 10:35:17 +02:00
Christian Pauly
a915cdacc8
feat: Display dummy event in timeline for sending files
...
For thumbnail generation, encrypting
and uploading it is not necessary
to block the UI. The given file
event should already be displayed
in the timeline. This placed it in
the UI and adds a additional
fileSendingStatus property so the
app can fetch the current status.
2022-03-30 10:27:42 +02:00
Krille Fear
23e0d29a0d
Merge branch 'krille/try-again-sending' into 'main'
...
feat: Try again uploading file events for one minute
See merge request famedly/company/frontend/famedlysdk!986
2022-03-30 06:38:01 +00:00
Nicolas Werner
e2d2a69e45
Merge branch 'voip/move-voip-methods-from-room' into 'main'
...
chore: Move the call methods in room to the voip class.
See merge request famedly/company/frontend/famedlysdk!980
2022-03-25 23:51:55 +00:00
Duan Weiwei
cac4dc967d
chore: Move the call methods in room to the voip class.
2022-03-25 23:51:55 +00:00
Christian Pauly
f86b242dcf
feat: Try again uploading file events for one minute
...
This also refactors the code for
sending events with the same
Duration of one minute.
2022-03-25 12:54:42 +01:00
Christian Pauly
6b36d6bd79
feat: Get event in a room faster by searching in database
2022-03-24 14:10:41 +01:00
TheOneWithTheBraid
c362ead49a
feat: implement mofifying widgets
...
- add predefined MatrixWidget factories
- allow to create widgets
- allow to delete widgets
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-03-24 10:40:10 +01:00
Christian Pauly
f1d422b89a
fix: Dont encrypt reactions
...
This fixes that server
sends notifications for reactions.
2022-03-15 08:42:53 +01:00
Christian Pauly
b30b340b43
fix: hasNewMessage true when last event is sent
2022-02-16 08:09:57 +01:00
Christian Pauly
01dfdb29fd
fix: Has new messages compares ts
...
This compares the origin server timestamp which might not map
to the real sort order of the timeline. But it is the best
solution for now.
2022-02-15 10:26:17 +01:00
Lanna Michalke
ade7e7e910
fix: handle dynamic content for pinned events
...
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-02-14 18:18:34 +01:00
Christian Pauly
68fcee98cb
fix: Show reactions as last events and refactor hasNewMessage
...
Reactions are triggering push
notifications and should therefore
be displayed as last events
in the room list of a client.
The body should just display
the reaction key.
This fixes that rooms with
new reactions can't set to
read.
2022-02-14 15:06:22 +01:00
Christian Pauly
63e69eaa27
feat: Add hasNewMessages flag to room
...
This makes it possible to check
if muted rooms have unread
messages.
2022-02-14 10:48:57 +01:00
Nicolas Werner
4a52540006
fix: exception on removed widgets
...
And widgets without a name.
fixes #267
2022-02-13 23:11:53 +01:00
Krille Fear
84e87279e8
fix: Remove onHistoryReceived which was broken anyway
2022-02-07 15:15:44 +01:00
Christian Pauly
01d13e7e2c
refactor: Implement on history received in timeline
...
In order to make delta updates
for GUIs displaying the
timeline events easier, the
onHistoryReceived callback
has been introduced.
2022-02-03 09:38:39 +01:00
TheOneWithTheBraid
fa6bd12294
feat: implement to get a room's widgets
...
Please note that this does not implement *modifying* widgets,
as this requires a full implementation of the Matrix Integration Manager
API first. This is to be done later.
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-02-02 08:38:56 +01:00
Christian Pauly
48572f8f10
fix: Trigger onChange for index on aggregation event update
2022-02-01 11:45:29 +01:00
TheOneWithTheBraid
ed6f9c06b7
feat: expose Timeline.onChange to Room.getTimeline
...
Signed-off-by: TheOneWithTheBraid <the-one@with-the-braid.cf>
2022-01-26 12:52:30 +01:00
Lanna Michalke
58f6cde0bf
BREAKING CHANGE: high-level hadling of image sizes
...
- By using [package:image](https://pub.dev/packages/image ), the
`MatrixImageFile` was given automatically generated width and heigth.
- Moreover, `MatrixImageFile` was given a factory to create the image
file from a given maximal dimension.
- When sending images without explicitly providing a thumbnail, the
thumbnail is automatically generated based on the provided image.
- The blur hash in generated automatically based on the provided image.
Fixes:
https://gitlab.com/famedly/company/frontend/famedly-web/-/issues/162 , https://gitlab.com/famedly/fluffychat/-/issues/756
Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
2022-01-19 13:10:17 +01:00
Marcel
1b11efc9eb
fix: Use where and map instead of a loop and a removeWhere
2022-01-17 22:06:29 +00:00
Krille Fear
bcca5e11f2
feat: Let sendDefaultMessage return false on encryption failure
2022-01-07 17:12:20 +00:00
Krille Fear
6d8fabd1e0
Merge branch 'krille/fix-request-user' into 'main'
...
fix: Requested users are not stored
See merge request famedly/company/frontend/famedlysdk!930
2022-01-04 06:28:00 +00:00
Christian Pauly
62a04b52d4
fix: Requested users are not stored
...
Fake Matrix Events for storing
need more paramters to
actually get stored. This fixes
it by creating a fake event ID
which should be unique.
2021-12-26 09:14:52 +01:00
Krille Fear
3bce8b4489
refactor: Remove unnecessary type checks and imports
2021-12-23 11:46:45 +01:00
Nicolas Werner
d687973b01
fix: fallback in body for replies to replies
2021-12-15 19:21:41 +00:00
Sorunome
b009ada0ac
fix: Allow consecutive edits for state events in-memory
...
The lastEvent was incorrect when trying to process an edit of an edit.
This fixes that by allowing consecutive edits for the last event.
2021-12-06 11:11:21 +01:00
Krille Fear
3338da4e09
fix: Ability to remove avatar from room and account
...
To remove an avatar the
client needs to send an
empty object. This is now
possible by making the
MatrixFile parameter nullable.
2021-11-22 19:36:38 +01:00
Krille Fear
b7565af56f
fix: use originServerTs to check if state event is old
...
Due to server bugs or whatever it sometimes
happens that old state events appear
in the setState method in the room class.
Previously we checked if we already know
this event ID, but for this we needed to
check the timeline which is very fluid.
Also this is a database operation in a
non-async method which works in Hive but
not in Sembast.
Using originServerTs is not 100% safe as
well but should be more stable because
the chance that servers have veeery wrong
time (which is necessary here) is much
lower than the risk that the timeline
is not long enough to know the
old event.
2021-11-15 10:57:55 +01:00
Krille Fear
f052957c0a
fix: Change eventstatus of edits in prevEvent
...
Unfortunately the last fix
was not working.
This fixes it for real now and also
adds a test case to make sure it
never breaks again.
2021-11-11 09:48:50 +01:00
Nicolas Werner
be617ee974
Merge branch 'krille/update_api' into 'main'
...
refactor: Update matrix_api_lite and use SyncUpdate constructors
See merge request famedly/company/frontend/famedlysdk!887
2021-11-10 11:40:49 +00:00
Krille Fear
d16c25b26d
fix: Edits as lastEvent do not update
...
This fixes a bug where edit
events as lastEvents do not
update from SENDING status.
Because previously it only
checks if the event ID
matches.
2021-11-10 10:43:05 +01:00
Krille Fear
58b36a67a3
refactor: Update matrix_api_lite and use SyncUpdate constructors
2021-11-10 10:04:03 +01:00
Krille Fear
8116436da8
Merge branch 'krille/improve-start-up-time' into 'main'
...
feat: Make waiting on init db optional
Closes #235
See merge request famedly/company/frontend/famedlysdk!881
2021-11-09 14:35:13 +00:00
Krille Fear
475e810523
feat: Make waiting on init db optional
...
This can improve the start-up time of apps.
The three big db reads on init are
loading account data, rooms and
device keys.
This makes it now possible to let
them run parallel
(while it may depend on platform
if this has any effect)
and the init() method can skip
awaiting them. They will
be at least awaited before handling
the first received sync.
So the app can already display the
room list before device keys are
loaded and request the first sync
from the server before anything
else is loaded from the DB.
2021-11-09 15:27:48 +01:00
Krille Fear
e313426dd9
refactor: Move setreadmarker functionality to timeline
...
Apps had a hard time to just set
the marker for the last event.
The lastEvent in the Room may
not be the actual last event
because we ignore several
event types there. Therefore
it makes sense to refactor
the setUnread method.
Now the timeline class has an
easy method to set the read
marker to the last synced
event, which can only be
known by the timeline if we
want to avoid another DB access.
2021-11-09 14:56:59 +01:00
Jindra
a0bab1b587
feat: choose memberships returned by requestParticipants()
2021-11-02 09:27:00 +01:00
Nicolas Werner
6e20c53b01
refactor: remove redundant null checks
2021-10-28 14:32:09 +02:00
Nicolas Werner
6abd9e7e22
refactor: nullsafe event test
2021-10-28 03:44:01 +02:00
Nicolas Werner
ebd5bc3d24
refactor: make room nullsafe
2021-10-28 00:54:25 +02:00
Jindřich Pikora
c6e0359522
refactor: Change event status to enum
2021-10-14 13:31:07 +00:00
Lukas Lihotzki
66f29c7685
refactor: move voip content in its own file
2021-10-08 14:26:23 +02:00
Jayesh Nirve
77ca7523d0
refactor: remove unused clientId
2021-09-24 16:05:05 +02:00
Sorunome
b455a54304
fix: Less log clutter about tags
2021-09-22 23:32:27 +00:00
Sorunome
1652213ab0
fix: Room previews not showing replies
2021-09-16 15:48:41 +02:00
Krille Fear
00cc439122
fix: Do not set old events as state events
...
Previously we had a check which uses the old
sortOrder value.
This check has been removed with the refactoring which leads to
bug #209 . This fixes it by checking if the
event is already known in the database.
I am not 100% happy with this solution as this database api is impossible
to be implemented with a sqlite db. Once we start to refactor the whole sync update logic
we maybe could find a better way, but only the fox god knows.
2021-09-14 08:29:54 +02:00