Home Homebrew RAWeb si aggiorna: tre update migliorano interfaccia, funzioni e stabilità

RAWeb si aggiorna: tre update migliorano interfaccia, funzioni e stabilità

64
0

Pubblicati tre aggiornamenti in rapida successione per RAWeb, la piattaforma sviluppata da RetroAchievements.org per la gestione di obiettivi, dati di gioco e funzionalità dedicate alla community.

L’applicazione, realizzata in Laravel sfruttando il TALL stack, si conferma così uno degli strumenti più versatili e in costante crescita per gli appassionati che vogliono monitorare i propri progressi e condividere le esperienze con altri utenti.

Il primo aggiornamento ha aperto a tutti la beta della nuova pagina di gioco, consentendo di abilitare la visualizzazione aggiornata tramite le impostazioni.

La nuova interfaccia offre un layout mobile più pulito, tab dedicate, un header ottimizzato, la possibilità di ordinare gli obiettivi secondo l’ordine originale anche dopo il loro sblocco e di visualizzare la posizione attuale nelle classifiche.

Introdotto inoltre un pulsante per fornire feedback diretto al team di sviluppo, che riceve i commenti degli utenti in tempo reale.

Sono stati apportati numerosi miglioramenti alla gestione dei team, ai profili utente, ai forum, agli eventi e al sistema di crediti per gli achievement, insieme a ottimizzazioni di performance e aggiornamenti delle dipendenze tecniche.

Il secondo aggiornamento ha corretto alcuni problemi specifici relativi alle URL dei migliori giocatori, ai link della barra laterale per utenti autenticati, alla gestione dei Rollout Sets e a un bug di Inertia su iOS, oltre a migliorare la visualizzazione dei titoli dei giochi su mobile.

Il terzo aggiornamento ha continuato a risolvere problematiche legate alla navigazione mobile, all’invio di dati per sottoserie, alla visualizzazione delle percentuali di sblocco degli obiettivi su dispositivi mobili, alla gestione dei punti nella componente Compare Progress e alla corretta associazione dei guide URL, garantendo un’esperienza più fluida e coerente su tutte le piattaforme.

Requisiti

Per eseguire RAWeb localmente, sono necessari i seguenti componenti:

  • Server web locale: È necessario un server web per eseguire l’applicazione.
  • PHP 8.2: La piattaforma richiede PHP 8.2, con diverse estensioni abilitate (come curl, gmp, mysqli, pdo_mysql, gd, intl, sockets).
  • Composer: Il gestore di dipendenze PHP, necessario per installare le librerie richieste da RAWeb.
  • MariaDB 10: Il database supportato per memorizzare i dati.
  • Node.js 20 e pnpm 9: Questi strumenti sono utilizzati per la gestione dei pacchetti frontend e la build degli asset.

RAWeb è compatibile con i seguenti sistemi operativi e configurazioni:

  • Windows, macOS, Linux.
  • Diverse opzioni di configurazione sono disponibili: Docker (con Laravel Sail), XAMPP e Laravel Valet per macOS.

Opzioni di configurazione

Esistono diverse opzioni per configurare RAWeb:

  1. Docker Compose (Windows, Linux, macOS):
    Utilizzando Laravel Sail, l’ambiente di sviluppo viene creato automaticamente con i container Docker. La documentazione di Laravel Sail descrive i passaggi dettagliati. Una volta configurato, è possibile avviare i container con il comando sail up o in modalità demone con sail up -d.
  2. XAMPP (Windows, Linux, macOS):
    È necessario installare XAMPP con PHP 8.2, che include un server Apache, MySQL/MariaDB e PHP. Si dovranno abilitare alcune estensioni in php.ini (come curl, gmp, mysqli, ecc.) per garantire la compatibilità con le dipendenze di RAWeb.
  3. Laravel Valet (macOS):
    Se si utilizza Laravel Valet su macOS, è possibile configurare facilmente l’ambiente locale. Valet agisce come driver per l’ambiente di sviluppo e fornisce una configurazione web locale senza complicazioni.

Installazione di RAWeb

Una volta che il server e le dipendenze sono configurati, l’installazione di RAWeb avviene in due fasi principali:

  1. Installazione delle dipendenze: Dopo aver clonato il repository di RAWeb, eseguire composer install per installare tutte le librerie necessarie. Se si desidera utilizzare la versione locale di composer.phar invece di una globale, si può eseguire php composer.phar install.
  2. Configurazione dell’ambiente: È necessario eseguire il comando composer setup per configurare correttamente l’ambiente. Questo script imposterà le variabili di ambiente e le configurazioni iniziali. Durante questa fase, si consiglia di adattare il file .env con le credenziali del database e l’URL dell’applicazione.

Configurazione dell’ambiente (.env)

Il file .env contiene valori predefiniti sensati, ma potrebbero essere necessarie alcune modifiche:

  • Credenziali del database: Impostare i valori per la connessione al database locale (DB_*).
  • Configurazione dell’URL dell’applicazione: Impostare l’URL dell’applicazione (APP_URL). Per esempio, se si usa Docker, l’URL potrebbe essere http://localhost:64000. Con Valet, potrebbe essere https://raweb.test.

Se si sta utilizzando un ambiente Docker, non sono necessarie ulteriori configurazioni specifiche, poiché l’applicazione rileverà automaticamente la configurazione del container Laravel Sail.

Se si utilizza XAMPP o Valet, sarà necessario regolare l’URL dell’applicazione e configurare correttamente i virtual host o il dominio.

Costruzione e configurazione del frontend

Per generare gli asset frontend:

  1. Installazione delle dipendenze frontend: Utilizzare pnpm install per installare le dipendenze necessarie.
  2. Costruzione degli asset: Eseguire pnpm build per creare la build finale. Con Docker Sail, è possibile eseguire questi comandi tramite sail pnpm install e sail pnpm build.
  3. Creazione dei symlink per il filesystem: Per rendere accessibili i file di archiviazione, eseguire php artisan ra:storage:link --relative per creare i collegamenti simbolici necessari. Anche questo comando è disponibile tramite Sail (sail artisan ra:storage:link --relative).

Configurazione del database

Dopo aver configurato l’ambiente e costruito gli asset, è necessario preparare il database:

  1. Esegui la migrazione: Esegui php artisan migrate per applicare le migrazioni e configurare il database.
  2. Popola il database con dati di test: Usa il comando php artisan db:seed per popolare il database con i dati di test. Puoi eseguire anche questo comando tramite Sail (sail artisan db:seed).

Accesso all’applicazione

A seconda dell’ambiente scelto, puoi accedere all’applicazione nel seguente modo:

Utilizzo per lo sviluppo di obiettivi

Se desideri sviluppare obiettivi localmente, puoi aggiungere un file host.txt nella directory di RALibRetro accanto al file RAIntegration.dll. Questo file deve contenere l’URL del tuo server locale, che potrebbe essere uno dei seguenti:

Sicurezza

Per gestire eventuali vulnerabilità di sicurezza, consulta la Security Policy di RetroAchievements.org, che fornisce indicazioni su come gestire i rischi e proteggere la piattaforma.

In questo modo, puoi configurare e utilizzare RAWeb per gestire obiettivi, giochi e funzionalità della community direttamente dal tuo server locale.

Changelog 2025.09.24

Nuove funzionalità

  • Achievement Logic Displays: Mostra i tooltip per gli indirizzi all’interno di una nota ‘N bytes’ da @Jamiras #3934
  • Beta Game Page: Consente di ordinare la lista degli achievement secondo l’ordine originale anche dopo lo sblocco da @wescopeland #3913
  • Beta Game Page: Mostra la posizione attuale dell’utente nelle classifiche da @wescopeland #3902
  • Beta Game Page: Aggiunto modulo di feedback beta da @wescopeland #3900
  • Beta Game Page: Aggiunto tab mobile da @wescopeland #3933
  • Beta Game Page: Aggiunto nuovo componente header solo per mobile da @wescopeland #3917 e @wescopeland #3931
  • Beta Game Page: Abilitata la beta da @wescopeland #3897
  • Beta Game Page: Ridisegnata l’area dei progressi su mobile da @wescopeland #3925
  • Team Inboxes: Inoltrate anche le risposte dell’account del team ai thread del forum Discord da @wescopeland #3903
  • Users: Rimossi tutti i ruoli Discord quando un utente è silenziato o bannato da @wescopeland #3904

Correzioni bug

  • Events: Corretta la visualizzazione della data di fine da @wescopeland #3880
  • Forums: Corretto un raro problema di word-wrapping da @wescopeland #3889
  • Beta Game Page: Corretto bug layout nel dialogo dei crediti da @wescopeland #3892
  • Beta Game Page: Mantenuto ‘Base Set’ non tradotto da @wescopeland #3893
  • Beta Game Page: Non mostra tooltip per i tab di selezione set su mobile da @wescopeland #3922
  • Beta Game Page: Non linka richieste giocatore se l’utente non è autorizzato da @wescopeland #3912
  • Beta Game Page: Non mostra tooltip di progresso vuoti da @wescopeland #3910
  • Beta Game Page: Spostato il pulsante ‘View Unpublished Achievements’ da @wescopeland #3911
  • Beta Game Page: Corretto stringa non traducibile nella sidebar Series da @wescopeland #3914
  • Beta Game Page: Velocizzato il caricamento delle sottopagine da @wescopeland #3915
  • Beta Game Page: Resettato l’ordine di ordinamento quando si cambia set da @wescopeland #3938
  • Developer Profile: Escluso code notes eliminate dal conteggio da @wescopeland #3906
  • Subscriptions: Ignorati disiscrizioni esplicite per sottoscrizioni umbrella implicite da @Jamiras #3916
  • User List: Resi visibili Junior Developers, Developers e Moderators non tracciati da @wescopeland #3890
  • User Profiles: Inclusi gli achievement di subset nello stato ‘Achievements unlocked’ da @wescopeland #3898
  • User Profiles: Mostrato solo special collaboration claims sotto collaborators da @Jamiras #3941

Modifiche Management Console

  • Credit: Gestione dei crediti per achievement più intuitiva da @wescopeland #3905
  • Emulators: aggiornamento etichette per maggiore chiarezza da @wescopeland #3876
  • Games: consente la visualizzazione e modifica degli script RP nell’app di gestione da @wescopeland #3891
  • Release Management: aggiunge pagine di integrazione release da @Jamiras #3936

Miglioramenti performance

  • Beta Game Page: Ridotto il consumo di memoria al caricamento da @wescopeland #3908
  • Beta Game Page: Ottimizzato il caricamento dell’hub da @wescopeland #3909
  • Navigation: Assicura che i breadcrumbs React utilizzino Inertia links, con prefetch su hover desktop da @wescopeland #3932

Modifiche API

  • Connect API: Ritorna 401 su fallimento autenticazione per routine con design action-oriented da @Jamiras #3899
  • Connect API: Rifattorizzato ?r=postactivity con design action-oriented da @Jamiras #3875
  • Connect API: Rifattorizzato ?r=latestclient con design action-oriented da @Jamiras #3935
  • Connect API: Nuova routine per invio rich presence da toolkit di sviluppo, ?r=submitrichpresence da @wescopeland #3879

Modifiche ambiente

Changelog 2025.09.24-B

  • fix(game): Utilizza l’URL corretto per i top achievers nei subset da @wescopeland #3943
  • fix(game): Mostra link aggiuntivi nella sidebar per utenti autenticati da @wescopeland #3944
  • fix(game): Mantiene il prefisso per i Rollout Sets hubs nei metadata da @wescopeland #3945
  • fix: Aggiunto workaround per il bug di Inertia iOS relativo allo history state da @wescopeland #3946
  • fix(GameMobileHeader): Utilizza GameTitle per rendere correttamente i titoli taggati da @wescopeland #3947

Changelog 2025.09.24-C

  • fix(game): Utilizzato l’URL corretto per i top achievers nei subset da @wescopeland #3943
  • fix(game): mostra link aggiuntivi nella sidebar per utenti autenticati da @wescopeland #3944
  • fix(game): mantiene il prefisso per i Rollout Sets hubs nei metadata da @wescopeland #3945
  • fix: aggiunge workaround per il bug di Inertia iOS relativo allo history state da @wescopeland #3946
  • fix(GameMobileHeader): utilizza GameTitle per rendere correttamente i titoli taggati da @wescopeland #3947

Download: Source code RAWeb 2025.09.24-C

Fonte: x.com