status-go
status-go copied to clipboard
Added Store Handlers for Synced Settings
trafficstars
What's Changed?
This PR adds new StickerPacksStoreHandlers for settings that are synced. In this PR I've introduced 2 types:
OverwriteStoreHandler, general setting updateStickerPacksStoreHandler, specific sticker pack merge handling. Currently does not handle deletion of sticker packs.
Added comprehensive testing for merge scenarios:
Merge from only device 1
device 1anddevice 2pairdevice 1addssticker pack 1device 2receives syncedsticker pack 1device 1addssticker pack 2device 2receives syncedsticker pack 2device 2gets all stored sticker packsdevice 2has 2 sticker packs
Merge into device 2 with pre-pair sticker pack
device 2addssticker pack 3device 1anddevice 2pairdevice 1addssticker pack 4device 2receivessticker pack 4device 2has 2 sticker packs- original
sticker pack 3fromdevice 2andsticker pack 4fromdevice 1
- original
Merge both directions with pre and post pair sticker packs
device 1addssticker pack 1device 2addssticker pack 2device 1anddevice 2 pairdevice 1shows 2 sticker packs,sticker pack 1and2device 2shows 2 sticker packs,sticker pack 2and1device 1addssticker pack 3device 2addssticker pack 4device 1shows 4 sticker packs,sticker pack 1,2,3and4device 2shows 4 sticker packs,sticker pack 2,1,4and3
To Do
- [x] Add merge handling of sticker packs
- [x] Merge https://github.com/status-im/status-go/pull/2719 to prevent regression in next version
- [ ] Add deletion handling of sticker packs
- [ ] Sync with desktop and mobile UI on implementing handling
deletedAtfields on theStickerPackstruct
Pull Request Checklist
- [ ] Have you updated the documentation, if impacted (e.g. docs.status.im)?
- [ ] Have you tested changes with mobile?
- [ ] Have you tested changes with desktop?
Jenkins Builds
Click to see older builds (30)
| :grey_question: | Commit | :hash: | Finished (UTC) | Duration | Platform | Result |
|---|---|---|---|---|---|---|
| :heavy_check_mark: | cf5e54f6 | #1 | 2022-06-15 12:38:46 | ~2 min | linux |
:package:zip |
| :heavy_check_mark: | cf5e54f6 | #1 | 2022-06-15 12:41:23 | ~4 min | ios |
:package:zip |
| :heavy_check_mark: | cf5e54f6 | #1 | 2022-06-15 12:41:32 | ~4 min | android |
:package:aar |
| :heavy_check_mark: | e46bcc50 | #2 | 2022-06-15 12:51:57 | ~1 min | linux |
:package:zip |
| :heavy_check_mark: | e46bcc50 | #2 | 2022-06-15 12:52:08 | ~1 min | ios |
:package:zip |
| :heavy_check_mark: | e46bcc50 | #2 | 2022-06-15 12:55:09 | ~4 min | android |
:package:aar |
| :heavy_check_mark: | ccf9d0d2 | #3 | 2022-06-15 12:57:44 | ~1 min | linux |
:package:zip |
| :heavy_check_mark: | ccf9d0d2 | #3 | 2022-06-15 12:58:03 | ~1 min | ios |
:package:zip |
| :heavy_check_mark: | ccf9d0d2 | #3 | 2022-06-15 12:59:03 | ~3 min | android |
:package:aar |
| :heavy_check_mark: | 682e48af | #4 | 2022-06-16 13:16:01 | ~1 min | ios |
:package:zip |
| :heavy_check_mark: | 682e48af | #4 | 2022-06-16 13:17:04 | ~3 min | android |
:package:aar |
| :heavy_check_mark: | 682e48af | #4 | 2022-06-16 13:18:06 | ~4 min | linux |
:package:zip |
| :heavy_check_mark: | ca6ac627 | #5 | 2022-06-20 10:35:08 | ~1 min | linux |
:package:zip |
| :heavy_check_mark: | ca6ac627 | #5 | 2022-06-20 10:35:44 | ~2 min | ios |
:package:zip |
| :heavy_check_mark: | ca6ac627 | #5 | 2022-06-20 10:36:44 | ~3 min | android |
:package:aar |
| :heavy_check_mark: | 8acf8b62 | #6 | 2022-06-20 11:42:55 | ~1 min | linux |
:package:zip |
| :heavy_check_mark: | 8acf8b62 | #6 | 2022-06-20 11:44:58 | ~3 min | android |
:package:aar |
| :heavy_check_mark: | 8acf8b62 | #6 | 2022-06-20 11:47:43 | ~6 min | ios |
:package:zip |
| :heavy_check_mark: | 3ebbc7c9 | #7 | 2022-06-20 11:51:49 | ~3 min | android |
:package:aar |
| :heavy_check_mark: | 3ebbc7c9 | #7 | 2022-06-20 11:51:59 | ~3 min | linux |
:package:zip |
| :heavy_check_mark: | 3ebbc7c9 | #7 | 2022-06-20 11:53:06 | ~4 min | ios |
:package:zip |
| :heavy_check_mark: | 8ae9c49a | #8 | 2022-06-20 13:09:34 | ~1 min | linux |
:package:zip |
| :heavy_check_mark: | 8ae9c49a | #8 | 2022-06-20 13:10:04 | ~2 min | ios |
:package:zip |
| :heavy_check_mark: | 8ae9c49a | #8 | 2022-06-20 13:11:47 | ~4 min | android |
:package:aar |
| :heavy_check_mark: | e6e7d2ca | #9 | 2022-06-20 13:16:54 | ~2 min | ios |
:package:zip |
| :heavy_check_mark: | e6e7d2ca | #9 | 2022-06-20 13:17:31 | ~2 min | android |
:package:aar |
| :heavy_check_mark: | e6e7d2ca | #9 | 2022-06-20 13:17:54 | ~3 min | linux |
:package:zip |
| :heavy_check_mark: | 961199e6 | #10 | 2022-06-20 13:39:44 | ~1 min | linux |
:package:zip |
| :heavy_check_mark: | 961199e6 | #10 | 2022-06-20 13:40:47 | ~2 min | ios |
:package:zip |
| :heavy_check_mark: | 961199e6 | #10 | 2022-06-20 13:42:46 | ~4 min | android |
:package:aar |
| :grey_question: | Commit | :hash: | Finished (UTC) | Duration | Platform | Result |
|---|---|---|---|---|---|---|
| :heavy_check_mark: | 54879fa1 | #11 | 2022-06-20 13:58:23 | ~1 min | linux |
:package:zip |
| :heavy_check_mark: | 54879fa1 | #11 | 2022-06-20 13:58:39 | ~1 min | ios |
:package:zip |
| :heavy_check_mark: | 54879fa1 | #11 | 2022-06-20 13:59:51 | ~3 min | android |
:package:aar |
| :heavy_check_mark: | 87ddd53c | #12 | 2022-09-01 09:56:46 | ~5 min | ios |
:package:zip |
| :heavy_check_mark: | 87ddd53c | #12 | 2022-09-01 09:57:02 | ~6 min | linux |
:package:zip |
| :heavy_check_mark: | 87ddd53c | #12 | 2022-09-01 09:57:24 | ~6 min | android |
:package:aar |