Shopify / Shopify/react-native-skia
Display Density change is ignored (Android)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 8.6k
- Forks
- 647
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 35
Description
Description
It seems react-native-skia ignores the fact of 'display density change' possibility on Android.
Yes, this might be quite rare case of change-density-on-the-fly, but completely ruins user experience and overall impression about application quality once faced with the case.
Unfortunately, I am not on that level of understanding RNS source code to propose a solution, but I will be happy to do my best to figure out and verify a one.
Current workaround is only: "stop engine, get out of the car, lock the doors, then unlock the doors, get in and try to start it again".
Version
1.3.13
Steps to reproduce
- run rns-density test app (repository linked)
- change "display size" in android settings
- switch back to the app
- check elements position/size on screen
Snack, code example, screenshot, or link to a repository
Test app repository:
https://github.com/kedikx/rns-density/
Screen recording:
https://github.com/user-attachments/assets/08a91aaf-1743-482a-8490-8d64ffa7f0cf
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the linked rns-density test app and reproduce the issue by changing Android display size, then returning to the app. Trace how react-native-skia handles display density across that transition. Done means element positions and sizes reflect the new density without restarting the engine.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, react-native, typescript
- Domain
- computer-graphics, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100