-
-
Notifications
You must be signed in to change notification settings - Fork 679
MatrixRTC: New membership manager #4726
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 125 commits
Commits
Show all changes
136 commits
Select commit
Hold shift + click to select a range
a404539
WIP doodles on MembershipManager test cases
hughns 834d461
.
hughns 6594860
initial membership manager test setup.
toger5 738016f
Updates from discussion
hughns ec375f3
revert renaming comments
toger5 8c8e97e
remove unused import
toger5 d9192f3
fix leave delayed event resend test.
toger5 0444816
comment out and remove unused variables
toger5 7125d45
es lint
toger5 3d46d05
use jsdom instead of node test environment
toger5 b0492ca
remove unused variables
toger5 c59f04d
remove unused export
toger5 e1fbdcd
temp
toger5 cd1321b
review
toger5 28f17be
fixup tests
toger5 a21c6e5
more review
toger5 8df56bb
remove wait for expect dependency
toger5 73bed3b
temp
toger5 8db2d0a
fix wrong mocked meberhsip template
toger5 7e4636b
rename MembershipManager -> LegacyMembershipManager
toger5 412ee18
Add new memberhsip manager
toger5 cd87cb4
fix tests to be compatible with old and new membership manager
toger5 3ac28c2
Comment cleanup
toger5 a81106e
Allow join to throw
toger5 6c2a5d1
introduce membershipExpiryTimeoutSlack
toger5 061285f
more detailed comments and cleanup
toger5 d116b53
warn if slack is misconfigured and use default values instead
toger5 c3a02db
fix action resets.
toger5 0236657
flatten MembershipManager.spec.ts
toger5 1cf0caa
rename testEnvironment to memberManagerTestEnvironment
toger5 a16f1ca
allow configuring Legacy manager in the matrixRTC session
toger5 2f90d9c
deprecate LegacyMembershipManager
toger5 83f0af1
remove usage of waitForExpect
toger5 87bb597
flatten tests and add comments
toger5 0c4f6b2
Merge branch 'hughns/membershipmanager-test-cases' into toger5/new-Me…
toger5 c7017b9
clean up leave logic branch
toger5 4e60a35
add more leave test cases
toger5 d3f4ec6
Merge branch 'hughns/membershipmanager-test-cases' into toger5/new-Me…
toger5 4502083
use defer
toger5 d745605
review ("Some minor tidying things for now.")
toger5 5b35b73
add onError for join method and cleanup
toger5 7f75daa
use pop instead of filter
toger5 23c6eec
fixes
toger5 724f690
simplify error handling and MembershipAction
toger5 493f0db
Add diagram
toger5 e5e5434
Merge branch 'develop' into hughns/membershipmanager-test-cases
toger5 cf1a87b
Merge branch 'hughns/membershipmanager-test-cases' into toger5/new-Me…
toger5 33e203f
fix new error api in rtc session
toger5 9fa9bd6
fix up retry counter
toger5 d9b22cb
Merge branch 'develop' into hughns/membershipmanager-test-cases
toger5 77bf8b9
Merge branch 'hughns/membershipmanager-test-cases' into toger5/new-Me…
toger5 e835561
fix lints
toger5 4c3d1f4
make unrecoverable errors more explicit
toger5 3dee61a
fix tests
toger5 172c3ea
Allow multiple retries on the rtc state event http requests.
toger5 3488863
use then catch for startup
toger5 8f77442
no try catch 1
toger5 a1e4f25
update expire headroom logic
toger5 6334faf
replace flushPromise with advanceTimersByTimeAsync
toger5 495bf8b
fix leaving special cases
toger5 5a680b0
more unrecoverable errors special cases
toger5 bb5b0de
move to MatrixRTCSessionManager logger
toger5 8005dc8
add state reset and add another unhandleable error
toger5 b8aa7fc
missed review fixes
toger5 998e16b
remove @jest/environment dependency
toger5 72994f2
Cleanup awaits and Make mock types more correct.
toger5 ce24845
remove flush promise dependency
toger5 88f40e4
fix not recreating default state on reset
toger5 fe3cc26
Use per action rate limit and retry counter
toger5 c50fa32
add linting to matrixrtc tests
toger5 94bb78f
Add fix async lints and use matrix rtc logger for test environment.
toger5 5461fbf
Merge branch 'hughns/membershipmanager-test-cases' into toger5/new-Me…
toger5 1016b05
prettier
toger5 a2c8d93
review step 1
toger5 218c6d9
change to MatrixRTCSession logger
toger5 55c2e42
Merge branch 'hughns/membershipmanager-test-cases' into toger5/new-Me…
toger5 5c43bf2
review step 2
toger5 453b0cb
make LoopHandler Private
toger5 86b5a30
update config to use NewManager wording
toger5 66c1f8e
emit error on rtc session if the membership manager encounters one
toger5 fbb2a70
network error and throw refactor
toger5 177e2f4
make accessing the full room deprecated
toger5 9e60a36
remove deprecated usage of full room
toger5 c83429c
Merge branch 'develop' into hughns/membershipmanager-test-cases
toger5 74f76b4
Clean up the deprecation
hughns ce3ff17
Merge branch 'hughns/membershipmanager-test-cases' into toger5/new-Me…
toger5 4a2d35b
add network error handler and cleanup
toger5 631de6e
better logging, another test, make maximumNetworkErrorRetryCount conf…
toger5 713ea89
Merge branch 'develop' into toger5/new-MembershipManager
toger5 4b45931
more logging & refactor leave promise
toger5 7e20f11
add ConnectionError as possible retry cause
toger5 ec6a258
Make it work in embedded mode with a server that does not support del…
toger5 5d69555
review iteration 1
toger5 e2d131e
review iteration 2
toger5 79abd60
first step in improving widget error handling
toger5 b9c20cc
make the embedded client throw ConnectionErrors where desired.
toger5 8a711c3
fix tests
toger5 f4c4b7d
delayed event sending widget mode stop gap fix.
toger5 dabb8aa
improve comment
toger5 a2c4295
fix unrecoverable error joinState (and add JoinStateChanged) emission.
toger5 06545e8
check that we do not add multipe sendFirstDelayed Events
toger5 9c2eab3
also check insertions queue
toger5 f46f099
always log "Missing own membership: force re-join"
toger5 0603181
Do not update the membership if we are in any (a later) state of send…
toger5 987a0a8
make leave reset actually stop the manager.
toger5 27b689a
fix tests (and implementation)
toger5 6d67407
Allow MembershipManger to be set at runtime via JoinConfig.membership…
hughns c5435a5
Map actions into status as a sanity check
hughns c4eaf5e
Log status change after applying actions
hughns 40dd4f6
Add todo
hughns d59f9d9
Cleanup
hughns 5942f05
Log transition from earlier status
hughns 31b6e45
remove redundant status implementation
toger5 2b464c9
More cleanup
hughns b501057
Consider insertions in status()
hughns 075e186
Log duration for emitting MatrixRTCSessionEvent.MembershipsChanged
hughns 3065180
add another valid condition for connected
toger5 72cc607
some TODO cleanup
toger5 e8d588d
review add warning when using addAction while the scheduler is not ru…
toger5 ddb02e4
Merge branch 'develop' into toger5/new-MembershipManager
toger5 47a7e4c
es lint
toger5 fce95bf
refactor to return based handler approach (remove insertions array)
toger5 246354a
refactor: Move action scheduler
toger5 b00a630
refactor: move different handler cases into separate functions
toger5 798c77c
linter
toger5 9cd2358
review: delayed events endpoint error
toger5 de492d9
review
toger5 31c5cfd
Suggestions from pair review
hughns 6af4730
resetState is actually only used internally
hughns 3e4caff
Revert "resetState is actually only used internally"
hughns 2c6062f
refactor: running is part of the scheduler (not state)
toger5 2f77b7e
refactor: move everything state related from schduler to manager.
toger5 9af3bfe
review
toger5 2729f3a
Update src/matrixrtc/NewMembershipManager.ts
toger5 288edf5
review
toger5 08ffaba
public -> private + missed review fiexes (comment typos)
toger5 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.