RepoSense icon indicating copy to clipboard operation
RepoSense copied to clipboard

Dashboard fails to load on iPhones for large reports

Open gekjunxu opened this issue 5 months ago • 0 comments

Tell us about your environment

  • RepoSense Version: https://github.com/reposense/RepoSense/commit/a0e771ee53
  • OS and Version: iOS 18.5
  • Web Browser and Version (if applicable): Safari on iPhone

Please include the steps to reproduce the bug.

  1. On iPhone, visit link: https://nus-cs2103-ay2425s2.github.io/tp-dashboard/?search=&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code~other&since=2025-02-21
  2. Either it gets stuck on loading screen, or it freezes and user is unable to scroll.

What was expected to happen?

Page was expected to load normally.

What actually happened? Please include a screenshot of the output.

Sample screenshot:

Image

If possible, include the URL to your RepoSense report or log files (if any).

Link of the report is as follows: https://nus-cs2103-ay2425s2.github.io/tp-dashboard/?search=&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code~other&since=2025-02-21

Troubleshooting Steps Taken

Tried accessing the page on numerous devices, and it seems to only affect iPhones.

Devices tried with issue: iPhone 12 Pro (iOS 18.5), iPhone XS (iOS 16.7), iPhone 13 (unknown version) Devices tried with no issue: Pixel 3a, iPad 10th Generation, Chrome on Windows

The same issue persists on Chrome browser on iPhone, unlikely a browser issue. Have tested using a friend's iPhone 13 as well, so it is unlikely a result of other apps on my phone interfering.

However, when I try another report with less data, it successfully loads. Link: https://nus-cs2103-ay2425s2.github.io/tp-feature-freeze-dashboard/?search=&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=functional-code&since=2025-04-05

When I open Chrome DevTools it shows a memory consumption of around 354MB, and there seems to be reports online suggesting Safari on iOS limits memory usage to around 200-400MB.

Screenshot:

Image

When I run Console on macOS for my iPhone, I managed to find the error Process MobileSafari [49996] killed by jetsam reason per-process-limit when Safari crashes after freezing at the loading page for a few minutes.

My guess is that it could be because the report size is large, and perhaps iOS limits system resources when loading web pages. If this is indeed the case, then perhaps a feature to lazy load the report data on mobile could be implemented.

gekjunxu avatar Jul 13 '25 06:07 gekjunxu