AOSSIE-Org / AOSSIE-Org/Rein

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

Aperta
#78 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
TypeScript
Stelle
38
Fork
78
Merge medio
2g 3h
PR unite (30g)
6

Descrizione

### 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

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.