Tunnel di sviluppo
Riseact carica la tua applicazione in un iframe del pannello, ma i suoi server non raggiungono il tuo localhost. riseact app dev apre un tunnel verso l'infrastruttura Riseact e ti assegna un URL pubblico HTTPS che inoltra le richieste al server locale. Non serve nessun account esterno: le versioni precedenti della CLI richiedevano ngrok.
L'URL è stabile
L'indirizzo di sviluppo ha questa forma:
https://d3f2c1a9b8e7d6c5b4a3f2e1d0.tun.riseact.orgIl sottodominio deriva dalle credenziali dell'applicazione, quindi è sempre lo stesso: non devi aggiornarlo a ogni riavvio e i redirect_uri di OAuth restano validi. La CLI aggiorna l'URL registrato su Riseact quando il tunnel è pronto.
Ogni applicazione ha il suo sottodominio e nessun'altra può occuparlo: Riseact autorizza ogni tunnel con le credenziali dell'applicazione.
Il primo avvio è più lento
Al primo tunnel di una nuova applicazione il certificato HTTPS viene emesso al momento. Richiede qualche secondo e la CLI lo segnala:
Preparing the HTTPS certificate, this happens once per app...L'URL viene stampato solo a certificato pronto, quindi funziona subito. Dal secondo avvio il passaggio è istantaneo.
Cosa passa nel tunnel
Tutto il traffico HTTP verso il server locale, WebSocket compresi: l'hot reload dell'SDK funziona anche attraverso il tunnel.
La porta locale
Fra tunnel e server c'è un proxy locale che unisce server applicativo e WebSocket dell'hot reload in un'unica origine. La sua porta è scelta fra quelle libere a ogni avvio, così puoi tenere aperti più progetti insieme.
Di norma lavori sull'URL pubblico e la porta non ti riguarda. Se però qualcosa fuori dalla CLI deve raggiungere il proxy a un indirizzo fisso, per esempio un'app mobile in sviluppo sulla stessa rete con l'indirizzo compilato dentro, fissa la porta:
$ riseact app dev --port 43695Se la porta è occupata la CLI si ferma, invece di sceglierne un'altra.
Il proxy accetta connessioni da tutta la rete locale, non solo da localhost: tienilo presente su reti che non controlli.
Fermare il tunnel
Ctrl+C chiude tunnel e server di sviluppo. Il sottodominio si libera subito, quindi puoi riavviare senza attese. A tunnel spento, l'URL mostra una pagina che invita a lanciare riseact app dev.
Se qualcosa non funziona
"start error: invalid application credentials"
client_id o client_secret nel .env del progetto non corrispondono a quelli registrati su Riseact, per esempio perché l'applicazione è stata ricreata o le credenziali rigenerate. Rilancia riseact app init nella cartella del progetto.
"start error: subdomain does not belong to this application"
Il sottodominio non corrisponde alle credenziali. Di solito il .env è stato modificato a mano mescolando credenziali di applicazioni diverse.
"router config conflict"
C'è già un altro riseact app dev attivo per la stessa applicazione, magari in un altro terminale. Chiudilo e riprova.
L'iframe mostra "The dev server is not answering yet"
Il server locale non ha ancora finito di avviarsi. Aspetta qualche secondo e ricarica; se persiste, controlla nel terminale che il server sia partito sulla porta attesa.
Errore di certificato nel browser
Hai aperto l'URL prima di avviare il tunnel: il certificato viene emesso solo a tunnel aperto. Avvia riseact app dev e riprova; se avevi già riprovato molte volte, aspetta qualche minuto.
Per altri problemi allega al supporto il registro del tunnel, in ~/.config/riseact-tunnel.log.
Fonte: https://dev.riseact.org/docs/cli/dev-tunnel. Copia automatica da dev.riseact.org: non modificare qui, le modifiche vanno fatte sulla documentazione Docusaurus.