[WIP] Message List Data Source Decorator
π Issue Links
N/A
π― Goal
Possibility of overriding the data source in the message list.
Potential edge cages: 1- If all messages from the first page are removed (unlikely), loading more messages is impossible. 2- If from the first 25 messages, only 1 or 2 are filtered, then it will feel like there are no more pages, but there is. 3- The preview message in the CHannel list might not be in sync if last message from the message list is removed
π Summary
Provide bullet points with the most important changes in the codebase.
π Implementation
Provide a detailed description of the implementation and explain your decisions if you find them relevant.
π¨ Showcase
Add relevant screenshots and/or videos/gifs to easily see what this PR changes, if applicable.
| Before | After |
|---|---|
| img | img |
π§ͺ Manual Testing Notes
Explain how this change can be tested manually, if applicable.
βοΈ Contributor Checklist
- [ ] I have signed the Stream CLA (required)
- [ ] This change follows zero β οΈ policy (required)
- [x] This change should be manually QAed
- [ ] Changelog is updated with client-facing changes
- [ ] New code is covered by unit tests
- [ ] Comparison screenshots added for visual changes
- [ ] Affected documentation updated (docusaurus, tutorial, CMS)
π Meme
Provide a funny gif or image that relates to your work on this pull request. (Optional)
| 1 Warning | |
|---|---|
| :warning: | Please be sure to complete the Contributor Checklist in the Pull Request description |
| 1 Message | |
|---|---|
| :book: | There seems to be app changes but CHANGELOG wasn't modified. Please include an entry if the PR includes user-facing changes. You can find it at CHANGELOG.md. |
Generated by :no_entry_sign: Danger
StreamChat XCMetrics
target |
metric |
benchmark |
branch |
performance |
status |
|---|---|---|---|---|---|
| MessageList | Hitches total duration | 10 ms | 10.01 ms | -0.1% π½ | π‘ |
| Duration | 2.6 s | 2.54 s | 2.31% πΌ | π’ | |
| Hitch time ratio | 4 ms per s | 3.93 ms per s | 1.75% πΌ | π’ | |
| Frame rate | 79 fps | 78.19 fps | 1.03% πΌ | π’ | |
| Number of hitches | 1 | 1.2 | -20.0% π½ | π΄ | |
| ChannelList | Hitches total duration | 12.5 ms | 19.19 ms | -53.52% π½ | π΄ |
| Duration | 2.6 s | 2.55 s | 1.92% πΌ | π’ | |
| Hitch time ratio | 5 ms per s | 7.52 ms per s | -50.4% π½ | π΄ | |
| Frame rate | 76 fps | 74.17 fps | 2.41% πΌ | π’ | |
| Number of hitches | 1.2 | 2.2 | -83.33% π½ | π΄ |
Quality Gate passed
Issues
129 New issues
0 Accepted issues
Measures
0 Security Hotspots
84.5% Coverage on New Code
0.0% Duplication on New Code
StreamChat XCMetrics
target |
metric |
benchmark |
branch |
performance |
status |
|---|---|---|---|---|---|
| MessageList | Hitches total duration | 10 ms | 10.01 ms | -0.1% π½ | π‘ |
| Duration | 2.6 s | 2.54 s | 2.31% πΌ | π’ | |
| Hitch time ratio | 4 ms per s | 3.95 ms per s | 1.25% πΌ | π’ | |
| Frame rate | 79 fps | 77.99 fps | 1.28% πΌ | π’ | |
| Number of hitches | 1 | 1.0 | 0.0% π½ | π’ | |
| ChannelList | Hitches total duration | 12.5 ms | 28.37 ms | -126.96% π½ | π΄ |
| Duration | 2.6 s | 2.56 s | 1.54% πΌ | π’ | |
| Hitch time ratio | 5 ms per s | 11.08 ms per s | -121.6% π½ | π΄ | |
| Frame rate | 76 fps | 73.72 fps | 3.0% πΌ | π’ | |
| Number of hitches | 1.2 | 2.8 | -133.33% π½ | π΄ |
StreamChat XCMetrics
target |
metric |
benchmark |
branch |
performance |
status |
|---|---|---|---|---|---|
| MessageList | Hitches total duration | 10 ms | 8.34 ms | 16.6% πΌ | π’ |
| Duration | 2.6 s | 2.55 s | 1.92% πΌ | π’ | |
| Hitch time ratio | 4 ms per s | 3.27 ms per s | 18.25% πΌ | π’ | |
| Frame rate | 79 fps | 78.04 fps | 1.22% πΌ | π’ | |
| Number of hitches | 1 | 0.8 | 20.0% πΌ | π’ | |
| ChannelList | Hitches total duration | 12.5 ms | 33.38 ms | -167.04% π½ | π΄ |
| Duration | 2.6 s | 2.55 s | 1.92% πΌ | π’ | |
| Hitch time ratio | 5 ms per s | 13.08 ms per s | -161.6% π½ | π΄ | |
| Frame rate | 76 fps | 73.75 fps | 2.96% πΌ | π’ | |
| Number of hitches | 1.2 | 3.2 | -166.67% π½ | π΄ |
@nuno-vieira if we would use cursor for pagination, would it solve these pagination issues? (but I guess it is a bit of a change as well)