* test_: add option to get file from status-backend container
* feat_: automatically create dataDir and logsDir directories
* test_: unskip and update TestInitializeLogging
* fix_: parametrize test
* ci_: use ms precision for func tests docker project_name to
* chore_: rename to extract_data
* fix_: linter
* fix_: set timestamp in python as well
Needed for https://github.com/status-im/status-desktop/issues/16640
In Desktop, we still used a "forked" version of the BlockContact function that had as differences that it didn't leave the chat nor delete the messages.
However, we want to have parity now and those features, so it makes no sense to use a different function.
This is a breaking change because it removes an API, but I took care of removing the use of that function in the Desktop app and Mobile never used it, so it's an inoffensive breaking change.
Additionally, I added the notifications to the messenger response.
From and to chains added to SendDetails type that can be used on the client side if the sending fails
that we can display appropriate ephemeral notifications, saying sending from which chain has failed.
test_: fewer nodes for multiple_contact_requests test
test_: fewer nodes for multiple_contact_requests test
test_: skip multiple_contact_requests test
test_: address review comments
test_: check messages just in event/messages
test_: get expected message by content type
test_: address review comments
Found when fixing https://github.com/status-im/status-desktop/issues/16639
When a message is deleted, we need to delete the pins too as they are no longer available. This was done using an ON DELETE clause (thanks @osmaczko)
I also made sure the SELECT query for the pins doesn't return deleted messages
- 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.