Skip to content

Commit a976cf5

Browse files
authored
Merge branch 'famedly:main' into add-sticky-events-to-sync-update
2 parents 6d4f0b4 + ea887cf commit a976cf5

102 files changed

Lines changed: 1772 additions & 825 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/dependabot.yml

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,24 @@
1-
# To get started with Dependabot version updates, you'll need to specify which
2-
# package ecosystems to update and where the package manifests are located.
3-
# Please see the documentation for all configuration options:
4-
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5-
61
version: 2
72
updates:
8-
- package-ecosystem: "pub" # See documentation for possible values
9-
directory: "/" # Location of package manifests
3+
- package-ecosystem: "pub"
4+
directory: "/"
105
schedule:
11-
interval: "weekly"
6+
interval: "daily"
7+
allow:
8+
- dependency-name: "*"
9+
commit-message:
10+
prefix: "build: "
11+
include: "scope"
12+
assignees:
13+
- "famedly/frontend"
14+
open-pull-requests-limit: 5
15+
versioning-strategy: increase-if-necessary
16+
- package-ecosystem: "github-actions"
17+
directory: "/"
18+
schedule:
19+
interval: "daily"
20+
allow:
21+
- dependency-name: "*"
22+
commit-message:
23+
prefix: "build: "
24+
include: "scope"

.github/workflows/integrate.yml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@ jobs:
3737
# since the dendrite job is optional, actually run all tests to the end instead of failing on first error.
3838
fail-fast: false
3939
steps:
40-
- uses: actions/checkout@v4
40+
- uses: actions/checkout@v6
4141
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
4242
- uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46
4343
with:
4444
sdk: ${{ env.dart_version }}
45-
- uses: famedly/backend-build-workflows/.github/actions/rust-prepare@v4
45+
- uses: famedly/backend-build-workflows/.github/actions/rust-prepare@v5
4646
- name: Run tests
4747
run: |
4848
export HOMESERVER_IMPLEMENTATION=${{matrix.homeserver}}
@@ -60,7 +60,7 @@ jobs:
6060
env:
6161
NO_OLM: 1
6262
steps:
63-
- uses: actions/checkout@v4
63+
- uses: actions/checkout@v6
6464
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
6565
- uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46
6666
with:
@@ -69,7 +69,7 @@ jobs:
6969
run: |
7070
sudo apt-get update && sudo apt-get install --no-install-recommends --no-install-suggests -y lcov libsqlite3-0 libsqlite3-dev
7171
./scripts/test.sh
72-
- uses: actions/upload-artifact@v4
72+
- uses: actions/upload-artifact@v7
7373
if: ${{ !cancelled() }}
7474
with:
7575
name: coverage_without_olm
@@ -81,19 +81,19 @@ jobs:
8181
runs-on: ubuntu-latest
8282
timeout-minutes: 20
8383
steps:
84-
- uses: actions/checkout@v4
84+
- uses: actions/checkout@v6
8585
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
8686
- uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46
8787
with:
8888
sdk: ${{ env.dart_version }}
8989
#architecture: "arm64"
90-
- uses: famedly/backend-build-workflows/.github/actions/rust-prepare@v4
90+
- uses: famedly/backend-build-workflows/.github/actions/rust-prepare@v5
9191
- name: Run tests
9292
run: |
9393
sudo apt-get update && sudo apt-get install --no-install-recommends --no-install-suggests -y lcov libsqlite3-0 libsqlite3-dev libssl3
9494
./scripts/prepare_vodozemac.sh
9595
./scripts/test.sh
96-
- uses: actions/upload-artifact@v4
96+
- uses: actions/upload-artifact@v7
9797
if: ${{ !cancelled() }}
9898
with:
9999
name: coverage
@@ -106,20 +106,20 @@ jobs:
106106
timeout-minutes: 30
107107
needs: [coverage, coverage_without_olm]
108108
steps:
109-
- uses: actions/checkout@v4
110-
- uses: actions/download-artifact@v4
109+
- uses: actions/checkout@v6
110+
- uses: actions/download-artifact@v8
111111
- name: Merge lcov files
112112
run: |
113113
sudo apt-get -y install lcov
114114
lcov -a coverage/lcov.info -a coverage_without_olm/lcov.info -o merged.info
115115
genhtml merged.info -o merged
116116
echo $(lcov --summary merged.info | grep 'lines......:') >> $GITHUB_STEP_SUMMARY
117117
- name: Codecov - Upload coverage
118-
uses: codecov/codecov-action@v4
118+
uses: codecov/codecov-action@v5
119119
with:
120120
token: ${{secrets.CODECOV_TOKEN}}
121121
files: ./merged.info, ./coverage/lcov.info, ./coverage_without_olm/lcov.info
122-
- uses: actions/upload-artifact@v4
122+
- uses: actions/upload-artifact@v7
123123
with:
124124
name: merged
125125
path: merged/
@@ -129,7 +129,7 @@ jobs:
129129
runs-on: ubuntu-latest
130130
timeout-minutes: 30
131131
steps:
132-
- uses: actions/checkout@v4
132+
- uses: actions/checkout@v6
133133
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
134134
- uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46
135135
with:
@@ -146,7 +146,7 @@ jobs:
146146
env:
147147
NO_OLM: 1
148148
steps:
149-
- uses: actions/checkout@v4
149+
- uses: actions/checkout@v6
150150
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
151151
- uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46
152152
with:
@@ -160,7 +160,7 @@ jobs:
160160
pub-dev-dry-run:
161161
runs-on: ubuntu-latest
162162
steps:
163-
- uses: actions/checkout@v4
163+
- uses: actions/checkout@v6
164164
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
165165
- uses: dart-lang/setup-dart@a57a6c04cf7d4840e88432aad6281d1e125f0d46
166166
with:

.github/workflows/issue-triage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
name: Add issue to project
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/add-to-project@v0.5.0
13+
- uses: actions/add-to-project@v1.0.2
1414
with:
1515
# You can target a repository in a different organization
1616
# to the issue

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
contents: write
2424
id-token: write
2525
steps:
26-
- uses: actions/checkout@v4
26+
- uses: actions/checkout@v6
2727

2828
- name: Create release
2929
run: |

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ coverage_badge.svg
1919
coverage.xml
2020
TEST-report.*
2121
rust
22+
.tmp_files
2223

2324
# IntelliJ related
2425
*.iml

CHANGELOG.md

Lines changed: 64 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,42 @@
1+
## [7.0.0] 15th April 2026
2+
3+
- refactor: (BREAKING) add type for power level as extension type over int (Christian Kußowski)
4+
- fix(voip): allow updating `application` and stop timers for cancelled delayed events (Yash Garg)
5+
- chore: Ignore avoid void async in webworker (Christian Kußowski)
6+
- feat: Store sending files in file cache for 30 days (Christian Kußowski)
7+
- fix: shrinkImage fail blocks sendFileEvent without ux feedback (Christian Kußowski)
8+
9+
## [6.2.0] 13th March 2026
10+
11+
- chore: (BREAKING) Apply default soft logout handling (Christian Kußowski)
12+
- chore: Add exit 0 to tear down all in bootstrap test (Christian Kußowski)
13+
- chore: improve to_device log lines (td)
14+
- chore: remove \_discoveryDataLoading dead code (Karthikeyan S)
15+
- feat(auth): add additionalFields support to AuthenticationData for UIA stages (arman)
16+
- feat: Add support for low priority room and sort rooms properly (Christian Kußowski)
17+
- fix: expiresIn from OIDC is in seconds not milliseconds (Christian Kußowski)
18+
- fix: Katex markdown syntax (Christian Kußowski)
19+
- fix: pass missing additional profile info to CachedProfileInformation (Christian Kußowski)
20+
- refactor: Make Matrix SDK Database extendable (Christian Kußowski)
21+
- refactor: Remove commented code (Christian Kußowski)
22+
- test: check if init() with waitUntilLoadCompletedLoaded hangs (Karthikeyan S)
23+
- test: dehydrated devices logic in synapse (Karthikeyan S)
24+
25+
## [6.1.1] 7th Feb 2026
26+
27+
- fix: handle UIA case for unexpectedResponse during exception + tests
28+
29+
## [6.1.0] 6th Feb 2026
30+
31+
- build: Update vodozemac to 0.5.0 (Christian Kußowski)
32+
- chore: Add tests for OIDC refresh and logout (Christian Kußowski)
33+
- chore: better default body for unknown message format in calcUnlocalizedBody (Karthikeyan S)
34+
- chore: Store oidc client id (Christian Kußowski)
35+
- feat: Logout with oidc (Christian Kußowski)
36+
- feat: Refresh token with matrix native oidc (Christian Kußowski)
37+
- fix: Room.searchEvents() returns empty list if all events are cached in db (Christian Kußowski)
38+
- refactor: Always try deserialize error as matrixexception (Christian Kußowski)
39+
140
## [6.0.0] 21st Jan 2026
241

342
- feat: add an option to intercept log events (#2233) (Yash Garg)
@@ -6,6 +45,7 @@
645
- refactor: (BREAKING) Use unified requestAndCache method (Christian Kußowski)
746

847
## [5.0.0] 12th Jan 2026
48+
949
- feat: Implement MSC2964 dynamic client registration (Christian Kußowski)
1050
- feat: Implement MSC2964 OIDC login flow (Christian Kußowski)
1151
- feat: MSC4075 - MatrixRTC notification event (call ringing) (Karthikeyan S)
@@ -18,9 +58,11 @@
1858
- test: \[Room].isDirectChat functionality (Karthikeyan S)
1959

2060
## [4.1.0] 20th December 2025
61+
2162
- refactor: Deprecated Client.customRefreshTokenLifetime in favor of method parameter (Christian Kußowski)
2263

2364
## [4.0.3] 17th December 2025
65+
2466
- fix: remove call member event wrt unprotected state keys (td)
2567

2668
## [4.0.2] 16th December 2025
@@ -49,6 +91,7 @@ v4.0.0 It comes with some breaking changes:
4991
- `RelationshipType.reply` has been removed in favor of `Event.inReplyToEventId()` where you can set if you want to ignore fallbacks or not. This makes it easier to differenciate fallback replies and replies inside of a thread.
5092

5193
#### All changes
94+
5295
- feat: (BREAKING) Discover OIDC auth metadata on Client.checkHomeserver() (Christian Kußowski)
5396
- feat: Allow init with access token (Christian Kußowski)
5497
- feat: Implement msc 3381 polls (krille-chan)
@@ -70,6 +113,7 @@ v4.0.0 It comes with some breaking changes:
70113
- test: matrixRTCEventStream emitted events in a group call (Karthikeyan S)
71114

72115
## [3.0.1] 15th October 2025
116+
73117
- feat: Make display sending event configurable in Room.sendEvent() (Christian Kußowski)
74118
- chore: tidy up call membership event (td)
75119
- fix: Remove avatar crashes with invalid uri (Christian Kußowski)
@@ -102,11 +146,12 @@ v4.0.0 It comes with some breaking changes:
102146
- chore: Revert on upload progress (Christian Kußowski)
103147

104148
## [2.0.1] 9th Sept 2025
149+
105150
- fix: scheduled event list init (td)
106151

107152
## [2.0.0] 9th Sept 2025
108153

109-
There have been some breaking changes to the VoIP codebase. Specifically, you will have to pass your instance of the VoIP class to existing `getCallMemberships*` functions which are an extension on the Room class.
154+
There have been some breaking changes to the VoIP codebase. Specifically, you will have to pass your instance of the VoIP class to existing `getCallMemberships*` functions which are an extension on the Room class.
110155

111156
- feat: delayed and device owned state events support for group calls (td)
112157
- feat: allow setting keyring size (td)
@@ -124,8 +169,8 @@ There have been some breaking changes to the VoIP codebase. Specifically, you wi
124169
- refactor: Restrict canRequestHistory to joined or archived rooms (Christian Kußowski)
125170
- refactor: Sync for unknown room in push helper and catch timeout exceptions (Christian Kußowski)
126171

127-
128172
## [1.1.0] 14th July 2025
173+
129174
- fix: (BREAKING) Can not logout and login again with same Client object (Christian Kußowski)
130175
- refactor: Clean up new dart version lints (Christian Kußowski)
131176

@@ -139,6 +184,7 @@ client.database = await MatrixSdkDatabase.init(/*...*/);
139184
```
140185

141186
## [1.0.1] 16th June 2025
187+
142188
- chore: Add hint to init vodozemac also in native implementations (Christian Kußowski)
143189
- fix: exportDump and importDump and add unit tests (Christian Kußowski)
144190
- fix: user.canKick should be true for knocking users as well (Christian Kußowski)
@@ -216,11 +262,12 @@ This should work on Android, iOS, macOS, Linux and Windows.
216262

217263
For web you need to compile vodozemac to wasm. [Please refer to the Vodozemac bindings documentation](https://pub.dev/packages/vodozemac#build-for-web).
218264

219-
220265
## [0.40.2] 5th June 2025
266+
221267
- fix: fallback on homeserver is userID null (The one with the braid)
222268

223269
## [0.40.1] 2nd June 2025
270+
224271
- feat: Add logout command (Christian Kußowski)
225272
- feat: Switch to github flavor markdown to render checkboxes (krille-chan)
226273
- fix: Add missing copy json in updateInboundGroupdSessionAllowedAtIndex method (Christian Kußowski)
@@ -229,6 +276,7 @@ For web you need to compile vodozemac to wasm. [Please refer to the Vodozemac bi
229276
- refactor: Do not store room update for leave rooms not cached anyway (Christian Kußowski)
230277

231278
## [0.40.0] 9th May 2025
279+
232280
- feat: Add localization for voice message type (Krille)
233281
- feat: Support fallback for threads in Event.getReplyEvent() (Krille)
234282
- fix: Fetch well-known from domain from userId, not from homeserver domain (krille-chan)
@@ -243,9 +291,11 @@ For web you need to compile vodozemac to wasm. [Please refer to the Vodozemac bi
243291
- fix: sanity if room prev_batch null, populate it (td)
244292

245293
## [0.39.3] 6th May 2025
294+
246295
- fix: Do not load timeline while sync is processed (Krille)
247296

248297
## [0.39.2] 30th April 2025
298+
249299
- fix: add proper description for `User` class (Yash-Garg)
250300
- fix: handling of existing calls in `onCallInvite` (Yash-Garg)
251301
- fix: make sure to keep track of aggregated events after requesting history or future (td)
@@ -290,19 +340,22 @@ For web you need to compile vodozemac to wasm. [Please refer to the Vodozemac bi
290340
Now you can pass a `StringBuffer` object to the command handler to pass some arbitrary data back to the caller.
291341

292342
**Before:**
343+
293344
```
294345
addCommand('newCommand', (CommandArgs args){});
295346
```
296347

297348
**After:**
349+
298350
```
299351
addCommand('newCommand', (CommandArgs args, StringBuffer? stdout){});
300352
```
301353

302-
In order to use the stdout, you should create a `StringBuffer` stdout object and
354+
In order to use the stdout, you should create a `StringBuffer` stdout object and
303355
pass it to the `parseAndRunCommand` method or `sendTextEvent` (that uses `parseAndRunCommand` internally).
304356

305357
Like this:
358+
306359
```
307360
final stdout = StringBuffer();
308361
@@ -328,6 +381,7 @@ if(output != null) {
328381
```
329382

330383
### All changes:
384+
331385
- feat: (BREAKING) Make share keys with logic configurable (Krille)
332386
- feat: BREAKING improve command_extension (The one with the braid)
333387
- fix: Megolm sessions become invalid after restarting client (Krille)
@@ -393,6 +447,7 @@ trigger a notification.
393447
#### How to migrate from onMigration to onInitStateChanged
394448

395449
**Before:**
450+
396451
```dart
397452
Client('Name', onMigration: () {
398453
print('Migrating now....');
@@ -424,8 +479,9 @@ Client('Name', onInitStateChanged: (state) {
424479
- refactor: Do not set the deprecated dont_notify action in push rules (Krille)
425480
- refactor: Fix new lints from flutter 3.27 (Krille)
426481
- refactor: Remove unnecessary roomId parameter from decryptRoomEvent method (Krille)
427-
482+
428483
## [0.35.0] 11th November 2024
484+
429485
Fixes a minor performance leak where the app re-requests the member list of all encrypted rooms.
430486
For this the parameter `cache` in `Room.requestParticipants()` is now also
431487
responsible to store the member data in the database. Also it is not `true` by default anymore for
@@ -437,6 +493,7 @@ unencrypted rooms.
437493
- chore: add require trailing comma lint (Mohammad Reza Moradi)
438494

439495
## [0.34.0] 21st Oct 2024
496+
440497
- feat: add equality and hashCode overrides for autogenerated models (BREAKING CHANGE) (td)
441498
- feat: v1.12 spec endpoints support (BREAKING CHANGE) (td)
442499
- fix: (BREAKING) Change power level without changing memory (Krille)
@@ -494,7 +551,7 @@ unencrypted rooms.
494551
- fix: Call logout on soft logout fail (Krille)
495552
- fix: don't restart github action service after apt install (Nicolas Werner)
496553
- fix: leave->invite in the same sync would hide the invite (Nicolas Werner)
497-
- (BREAKING) fix: update last event properly on cancel send (td)
554+
- (BREAKING) fix: update last event properly on cancel send (td)
498555

499556
## [0.31.0] 28th July 2024
500557

@@ -518,6 +575,7 @@ unencrypted rooms.
518575
- refactor: Remove Matrix Connection Exception (Krille)
519576

520577
## [0.29.13] 24th June 2024
578+
521579
- chore: allow clients to set their own voip key delays (td)
522580
- chore: use not cancelled in actions instead of always (td)
523581
- fix: Return empty uri instead of original uri if uri is not mxc (Krille)

0 commit comments

Comments
 (0)