AOSSIE-Org / AOSSIE-Org/Rein

[Feature]: Keep mobile screen awake while using the trackpad

Ouverte
#78 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
TypeScript
Étoiles
38
Forks
78
Merge moyen
2 j 3 h
PR mergées (30 j)
6

Description

### Problem Statement
When using Rein to control my PC from my phone, the phone screen often dims or turns off after a minute of inactivity. This is pretty frustrating because I have to constantly unlock my phone just to move the cursor again, especially when I'm watching a movie or presenting and only need the remote occasionally.

Currently, there's no way to tell the mobile browser to stay awake while the trackpad interface is active.

**Implementation details:**
- Add a hook or logic in [trackpad.tsx](file:///Users/nakshatrasharma/Desktop/Rein/src/routes/trackpad.tsx) to request the wake lock when the component mounts.
- Handle the `visibilitychange` event so that the lock is re-acquired if the user switches tabs and comes back.
- Release the lock when the user navigates away from the trackpad or closes the tab to save battery.

### Checklist
- [x] I have searched for existing feature requests to avoid duplicates

### Proposed Solution

I suggest implementing the **Screen Wake Lock API**. This would allow the web app to request a "wake lock" when the user is on the trackpad route, preventing the OS from dimming the screen.

### Alternatives Considered

- Increasing the system-wide sleep timer on the phone (annoying to change back and forth).
- Using a library like `NoSleep.js`, but the native Wake Lock API is much cleaner for modern browsers.

### Additional Context

This would significantly improve the UX for "couch use" cases. I'd be happy to help test this on a few different mobile devices if needed!

### Checklist

- [x] I have searched for existing feature requests to avoid duplicates

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.