- Subscription common logic is extracted to a separate type.
- Fix race condition where a goroutine extracts value from sync.Map and then another goroutine calls unsubscribe and closes the channel before the first goroutine writes to the channel.
- Moved TestInterleavedChainStatusChanges and TestDelayedChainUpdate to the correct file.
- Renamed test suites with duplicate names.
updates CODEOWNERS
closes#6139
Co-authored-by: Igor Sirotin <sirotin@status.im>
Fixes https://github.com/status-im/status-desktop/issues/16817
There were two issues.
When dismissing a CR, then sending one back, it did mark the two contacts as mutual and showed the 1-1 chat. However, the message sent in the second/final CR was not shown in the first person's client.
Also, the AC notification for the first user didn't update, so it got stuck in a "pending" state.
Those two issues are fixed now with a test to confirm.
Fixes https://github.com/status-im/status-desktop/issues/16688
Since we use the local image server to show the community image, the URL never changes when we update the image, since it's served using a query string containing the community ID. eg: `https://Localhost:46739/communityDescriptionImages?communityID=0x03c5ece7da362d31199fb02d632f85fdf853af57d89c3204b4d1e90c6ec13bb23c&name=thumbnail`
Because of that, the clients cannot know if the image was updated, so they had to force update the image every time, which was inefficient.
We discovered this issue when I refactored the community client code in Desktop so that we only update the changed properties of a community instead of reseting the whole thing.
The solution I came up with in the PR is to add a `version` to the URL when we detect that the image changed. This let's the clients detect when the image was updated without having to do any extra logic.
Fixes https://github.com/status-im/status-desktop/issues/16741
The issue was that in image messages, you can update the text, but then the ContentType would become Text and lose the image.
The solution is to ignore ContentType changes, since there is no way to change the type of message.
* test_: one to one messages
* test_: use default display name
* test_: fix f-string format
* test_: fix signal log save
* test_: put signal saving under flag
* test_: addressed review comments
* test_: address review comment
The community cache that the image server was using was not intended to be used for that. It can be invalidated at any moment. Also, it did not contain changes made by admins (admin events).
Using this new approach, we pass functions from the community manager to the media server so that it can have access to the correct community description.