status-go/protocol/communities
Jonathan Rainville 0794edc3db
feat(community)_: add version to image url to let clients update (#6118)
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.
2024-12-03 14:33:49 -05:00
..
token feat(community tokens)_: Upgrade ERC721 contract to enable batch transfers 2024-07-08 11:30:51 +02:00
adaptors.go fix(communities)_: ensure community sync doesn't override joined state 2024-06-20 15:37:20 +02:00
check_permissions_response.go fix_: filter private permissions & add Id keys in check_permissions_response (#5059) 2024-04-19 09:23:54 -07:00
check_permissions_response_test.go feat: add permissions reevaluation request 2024-03-12 14:15:01 +01:00
community.go fix(community)_: fix missing mediaserver when cloning a community (#6026) 2024-11-21 14:12:22 -05:00
community_bloom_filter.go feat(communities)_: introduce bloom filter members list 2024-07-04 17:54:29 +02:00
community_bloom_filter_test.go feat(communities)_: introduce bloom filter members list 2024-07-04 17:54:29 +02:00
community_categories.go refactor: simplify events creation logic 2023-08-17 08:24:51 +02:00
community_categories_test.go refactor: update community access enum naming 2023-10-25 17:34:37 +02:00
community_changes.go feat(community)_: add version to image url to let clients update (#6118) 2024-12-03 14:33:49 -05:00
community_description_encryption.go fix: encrypt community's Categories and ActiveMembersCount 2024-03-20 18:41:07 -04:00
community_description_encryption_test.go fix(communities)_: ensure read-only channels are not encrypted 2024-05-16 11:21:55 +02:00
community_encryption_key_action.go Fix encryption metadata issues #4613 2024-02-07 10:25:41 +00:00
community_encryption_key_action_test.go chore(community)_: serialise community jsons with image URLs 2024-07-11 18:55:24 +07:00
community_event.go feat: admins can delete all members messages during the ban (#4834) 2024-02-29 18:54:17 +01:00
community_event_message.go fix: ensure community events eventual consistency 2024-02-20 21:07:01 +01:00
community_events_factory.go feat: admins can delete all members messages during the ban (#4834) 2024-02-29 18:54:17 +01:00
community_events_processing.go chore(communities)_: mv `unmarshalCommunityDescriptionMessage` to 2024-10-11 18:59:58 +02:00
community_events_processing_test.go fix: ensure community events eventual consistency 2024-02-20 21:07:01 +01:00
community_test.go feat(community)_: add version to image url to let clients update (#6118) 2024-12-03 14:33:49 -05:00
community_token_permission.go feat_: delete or update permission when deleting a channel (#5297) 2024-06-07 18:30:01 +02:00
communnity_privileged_member_sync_msg.go fix(logs)_: remove community private key logging in publishCommunityPrivilegedMemberSyncMessage 2024-07-19 16:50:40 +02:00
errors.go fix(CommunitySharedAddresses)_: 2024-07-09 18:19:40 +02:00
manager.go feat(community)_: add version to image url to let clients update (#6118) 2024-12-03 14:33:49 -05:00
manager_archive.go feat_: log on panic (#5849) 2024-09-27 06:37:32 +08:00
manager_archive_file.go chore(no-torrent)_: Refactored NewArchiveManager to use config pattern 2024-06-07 13:44:12 +01:00
manager_archive_file_nop.go chore(no-torrent)_: Renamed archive files to archive_file 2024-06-07 13:44:12 +01:00
manager_archive_nop.go chore(no-torrent)_: Refactored NewArchiveManager to use config pattern 2024-06-07 13:44:12 +01:00
manager_test.go feat(community)_: add version to image url to let clients update (#6118) 2024-12-03 14:33:49 -05:00
permission_checker.go fix(communities)_: correct >1 NFT token requirement evaluation 2024-06-20 15:23:38 +02:00
permission_checker_test.go fix(communities)_: correct >1 NFT token requirement evaluation 2024-06-20 15:23:38 +02:00
permissioned_balances.go Fix: cover case where criteria doesn't have token IDs 2024-02-07 20:10:49 +00:00
permissioned_balances_test.go feat: New field in TokenCriteria proto 2024-02-27 16:25:26 +01:00
persistence.go fix: reject handling requests to join without revealed accounts (#5549) 2024-08-07 17:57:02 +02:00
persistence_mapping.go chore(community)_: serialise community jsons with image URLs 2024-07-11 18:55:24 +07:00
persistence_test.go chore(community)_: serialise community jsons with image URLs 2024-07-11 18:55:24 +07:00
persistence_test_helpers.go Add last opened at key for community (#4514) 2024-01-21 12:55:14 +02:00
request_to_join.go fix_: share all future addresses storage 2024-07-18 12:08:40 +03:00
request_to_join_test.go Sync Communities (#2253) 2021-08-06 16:40:23 +01:00
request_to_leave.go feat: introduce and distribute RequestToLeave community 2022-08-26 11:25:33 +02:00
roles_authorization.go feat: admins can delete all members messages during the ban (#4834) 2024-02-29 18:54:17 +01:00
utils.go chore(community)_: reevaluateMembers optimization (#5169) 2024-05-17 18:15:39 +02:00
validator.go feat: community tags (#2708) 2022-06-24 09:40:12 -04:00