nextcloud-talk-android/app
Marcel Hibbe 609e5a2c71
Use WorkManager queue to chain workers.
This is necessary as many of the workers store user data. When running in parallel, there are race conditions and user data that was stored by one worker gets directly overwritten by the next worker. E.g. this happened with the "externalSignalingServer" attribute of user:
SignalingSettingsWorker saved the user with the externalSignalingServer value, but then
CapabilitiesWorker kicked in and saved the user without this value.

Because of this, in WebsocketConnectionsWorker getExternalSignalingServer() of the user was null.
Because of this, webSocketConnectionHelper.getExternalSignalingInstanceForServer(..) was not called.
So the webSocketInstanceMap in WebSocketConnectionHelper was never filled.
This is why WebSocketConnectionHelper.getMagicWebSocketInstanceForUserId(..) in ChatController failed to get a webSocketInstance.

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
2023-03-10 14:44:20 +01:00
..
schemas/com.nextcloud.talk.data.source.local.TalkDatabase Room db schema v8 2022-07-01 08:59:12 +02:00
src Use WorkManager queue to chain workers. 2023-03-10 14:44:20 +01:00
build.gradle Build(deps): Bump org.mockito:mockito-core from 5.1.1 to 5.2.0 2023-03-10 02:58:31 +00:00
lint.xml Get rid of BaseController, ButterknifeController, and ButterKnife 2022-08-18 17:19:08 +02:00
proguard-rules.pro Initial import 2017-10-23 12:40:38 +02:00