Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Enhancement: Camera API support for privacy-preserving computer-vision games

Aperta
#285 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
28/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
react, typescript

Direzione di ricerca

Start with the devvit.json permission model and the current Devvit Web template's handling of unsupported web APIs. Compare that behavior with the React proof of concept using navigator.mediaDevices.getUserMedia() and MediaPipe Pose Landmarker. Done would require a reviewed permission design covering user gesture, expanded mode, iframe policy, mobile WebView forwarding, lifecycle cleanup, and camera error states.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Area: Devvit Web — web label requested (repository labels are maintainer-managed).

Feature request

Please add opt-in camera access to Devvit Web so developers can build privacy-preserving, camera-controlled games inside Reddit.

I am developing a line of interactive computer-vision games, starting with Fly or Die: players flap their arms in front of their phone or computer camera, on-device pose estimation recognizes the movement, and a bird flies through an obstacle course. This could expand into gesture-controlled rhythm games, dance challenges, fitness games, charades, and community competitions.

Proof of concept

I created a React Devvit Web test app:

  • App slug: you-fly-or-die
  • Playtest community: r/you_fly_or_die_dev
  • Devvit version: 0.14.1
  • Camera API: navigator.mediaDevices.getUserMedia()
  • Pose engine: MediaPipe Pose Landmarker, with its model and WASM assets bundled on the app's own webview origin

The exact client works locally: the camera becomes active, pose tracking starts, and hundreds of frames are processed successfully. The current Devvit template, however, identifies camera access as an unsupported web API with no alternative, which blocks this class of experience inside Reddit.

Requested capability

A secure implementation could include:

  1. An explicit camera permission in devvit.json, subject to app review.
  2. Camera access only from a trusted user gesture and only in expanded mode.
  3. The required iframe permission policy and native iOS/Android WebView permission forwarding.
  4. Consistent support for front- and rear-facing camera selection where available.
  5. Clear error states for denied, unavailable, and unsupported cameras.
  6. Automatic suspension and track cleanup when the post is hidden, minimized, backgrounded, or closed.
  7. A visible Reddit-level camera-active indicator.

Privacy and safety model

For these games, all video processing can remain on-device:

  • Raw camera frames are never uploaded or stored.
  • Only ephemeral pose landmarks are used by the game loop.
  • The user sees a live preview and explicitly starts and stops the camera.
  • Camera tracks are stopped immediately when gameplay ends or visibility changes.
  • Apps requesting camera access could be required to provide a privacy disclosure and pass additional review.

Camera support would enable a distinctive category of active, social games that are difficult to create with touch controls alone, while keeping sensitive video data on the player's device.

Would the Devvit team consider camera access as a reviewed permission, or offer an experimental allowlist/pilot for developers building on-device computer-vision experiences? I would be happy to share the working proof of concept and help test desktop, iOS, and Android behavior.

Lingua principale
TypeScript
Stelle
211
Fork
89
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di reddit/devvit

Tutte le issue di reddit/devvit

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.