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.
New EnsResolver type identified and will be responsible for network calls,
while ens api will use it (until mobile app switches to a new sending flow) and
continue managing other (db) interactions.
This commit bundles the personal sign and the signTypedData_V4 sign request in the same command.
The only difference between these two requests is the order of address and challenge in the params array.
What has changed:
1. PersonalSign.. has been renamed to Sign
2. `getPersonalSignParams` renamed to `getSignParams` and implements the parsing for both personal sign and signTypedData_V4
Geth logger allows overriding the log level, format and writer at
runtime. To make it interchangeable with zap.Logger, a custom zap.Core
has been introduced to enable these features as well.
closes: #6023
This caused communities being passed to the client via `handleCommunitiesSubscription` to not have images and they would "flash" in the client because it would disappear for a second then come back when another signal updated it back.