Feature request: support Capacitor navigation for mobile apps
Les mainteneurs répondent en général sous 1 jour
Une pull request liée a déjà été fusionnée.
- #485 par @rdlabo — fusionnée
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 68/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- typescript
- Domaine
- frontend
Piste de recherche
Start by locating the Pages navigation engine and its URL scheme guard, then read the same-app URL comparison and related tests. Add coverage for capacitor://localhost navigation and for a different Capacitor host; verify HTTP(S) behavior is unchanged and other schemes remain rejected.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Problem
Void Pages rejects capacitor:// URLs, which Capacitor uses by default for local pages in its iOS WKWebView. Initial rendering and hydration work, but submitting a Pages action fails with:
Void Router: refusing to navigate to a capacitor: URL.
Observed with Void / @void/react 1.1.11 on an iOS 26.1 simulator. The same protocol guard is present on main (9ed64ba).
Reproduction
- Serve a Void React Pages application in a Capacitor iOS WebView at
capacitor://localhost, with page requests forwarded to its Worker. - Hydrate the page and submit a Pages form action, or invoke
router.visit('/users', { method: 'POST' }). - The navigation engine rejects the URL before sending the page request.
Expected: same-app Pages GET/POST navigation works under the default capacitor:// scheme.
Changing server.iosScheme to HTTP(S) is not a workaround: WKWebView already handles those schemes and Capacitor cannot register them. See Capacitor's configuration reference.
Proposed scope
Allow capacitor: alongside HTTP(S) in the Pages navigation engine. It also needs a small same-app URL comparison adjustment: new URL('capacitor://localhost/users').origin is "null", so comparing that value directly with WKWebView's window.location.origin does not identify the local app. Compare protocol and host for capacitor: only, preserving HTTP(S) behavior and rejecting other schemes.
No Capacitor dependency or configurable scheme registry is needed. Different Capacitor hosts must not be treated as the same origin.
- Langage dominant
- TypeScript
- Étoiles
- 402
- Forks
- 32
- Merge moyen
- 12 h 1 min
- PR mergées (30 j)
- 80
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de voidzero-dev/void
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
voidzero-dev/void#484 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
voidzero-dev/void#463 ·
Les mainteneurs répondent en général sous 1 jour
-
Deploy after a secret change fails for Workers over ~750 KB: source read-back capped at 1 MiBPeut-être pris @Brooooooklyn l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
voidzero-dev/void#459 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
voidzero-dev/void#428 ·
Les mainteneurs répondent en général sous 1 jour
-
Allow `npm create void` and `void init` to run without promptsPeut-être pris @ashunar0 l’a pris aujourd’hui. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 57/100
voidzero-dev/void#491 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de voidzero-dev/void
Issues similaires
-
area: aria/combobox gemini-triaged
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
angular/components#33973 ·
Les mainteneurs répondent en général sous 1 jour
-
bug priority: P2
Difficulté 1/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour
-
[bug] status, list and push crash with an uncaught NotInitializedError stack trace when teamai is not initializedPeut-être pris @jay23606 l’a pris aujourd’hui. Ouvertebug good first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Tencent/teamai-cli#1227 ·
Les mainteneurs répondent en général sous 1 jour
-
[Tool]: YapOuverte
Difficulté 1/5 1-3 heures Accessibilité débutants 62/100
withkarann/aifoxx#417 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
sindresorhus/eslint-plugin-unicorn#3921 ·
Les mainteneurs répondent en général sous 1 jour