Part of #3364
To make the drag and drop reorder work correctly on channels, we needed to change the model again so that it was sorted in the model itself.
That is because the drag and drop gives us the value of the position it is dropped to as a single list, so dragging the second item of the second category would mean from position 5 to position to position 4, but what the backend wants is moving the item 2 to position 1.
Sorting the model enables us to get the category that is the parent of that position and call the service with the right positions and id.
It also enables us to reorder the channel in and out of the category.
See the module code to see how the calculation is done with an explanatory comment.
The model needed some changes to support that. Some of the function where changed from dataChange calls to resetModel calls, since we need to re-sort the model.
I tried using beginMove, but it would crash. Maybe there is a bug in NimQML or I used it badly, I'm not sure.
Lazily load chat and community sections but do not unload them,
otherwise all temporary data such as scroll position, text input,
cursor position, etc., would vanish
iterates: #10286
Fixes#10313
There were a couple of small issues.
First, we didn't call the function to calculate the highlight on new messages.
Secondly, the calculation was bugged because the category wasn't saved correctly in the channelGroup update.
- hide the market and other stuff that can't be used while offline
- recent stickers and already installed packs can still be used; they
will be sent when we return online
- when we return online, reload the views instead of closing the popup
- fix an evil NIM typo that prevented reloading the already installed
sticker packs
- remove the NIM parts that haven't been ported to the async nature; just
`loadStickers()` on the QMl side does the trick
the button to (un)install would be either greyed out or result in a crash:
- we were passing the popup a wrong store (w/o networkConnectionStore)
- the condition to `greyedOut` was inverted
fixes the currently selected sticker pack not being highlighted in the
popup footer
The strict equality operator would no longer yield true here:
```
property int selectedPackId
...
selected: stickerPackListView.selectedPackId === packId
```
the AC popup was being recreated on every click and never destroyed,
leading to:
- memory leaks
- slow operation on opening (it's not trivial to create)
Now we keep a reference the the created popup object, thus making it
faster to appear on every (second) click. It gets destroyed via its
parent at the application shutdown
the Popup has to be modal and the overlay should catch/eat all the mouse
events to prevent them from propagating to the contents behind the popup
Fixes#9838
Useful for tracking down which commit introduced a breaking change.
I'm lowering `maxConcurrentTotal` limit for e2e parallel build since the
release builds on `ci.infra.status.im` do not share the same throttling
limits across Jenkins instances, so we can hit a licenses usage limit.
Also increasing number of builds to keep to 30.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
* fix(ActivityCenter): Move ActivityCenterNotificationTypeCommunityKicked to the right place
Close#9811
* fix(ActivityCenter): fix accepting community request to join