aggiornamenti - Stream4me/addon GitHub Wiki
S4Me, a differenza degli altri addon, utilizza un sistema di installazione e di aggiornamento tutto suo, esigenza nata dal fatto che i siti cambiano spesso, per stargli dietro sono quindi necessari aggiornamenti costanti, che spesso consistono in modifiche di poco conto.
Modifiche che sarebbe meglio finissero il più velocemente possibile sui dispositivi degli utenti.
Utilizzare un repository kodi, come fanno tutti gli addon, implica
alcune operazioni "noiose" ogni qualvolta si vuole mandare un update.
Script come repo_prep aiutano, ma si tratta comunque di un'operazione in più.
Inoltre, lato utente, kodi cerca gli aggiornamenti ogni tanto (spesso si devono forzare se si vuole averli subito) e
scarica l'intero addon di nuovo anche se è stata modificata una sola linea.
L'updater "ad hoc" di S4Me invece, non necessita di nessun effort aggiuntivo (a parte per le Major release), basta pushare su github ed hai già fatto un aggiornamento.
Gli aggiornamenti vengono cercati ad ogni avvio di kodi (e periodicamente, ogni volta che si utilizza ed è passata più di un ora dall'ultimo check), viene scaricato solo il minimo indispensabile (le singole modifiche ai singoli file) e viene mostrato un messaggio con il changelog (il nome del commit).
All'avvio di kodi l'updater chiama le api di GitHub per vedere qual è l'ultimo commit e quindi se è necessario aggiornare:
se ci sono commit nuovi, scarica le relative patch (generate da github) e le applica in locale.
Per tenere conto del commit attuale, usa un file apposito (last_commit.txt).
Per vedere a che commit si trova il tuo S4Me, basta aprirlo e guardare il numero nella sezione aiuto
Per poi confrontarlo con la lista dei commit
Lo sviluppo avviene su 2 rami:
- branch master, che sarebbe la beta, dove sviluppiamo e testiamo le nuove feature e i vari fix
- branch stable, su cui viene riversato ogni cambiamento testato e verificato
Per toglierci anche il "peso" di rigenerare ogni tanto lo zip di installazione,
Abbiamo creato un installer, che altro non fa che "fingersi" l'addon,
scaricare lo zip da GitHub (in modo da essere sempre aggiornato) ed
installarlo (di fatto, cancellandosi).
Per velocizzare le cose, nel frattempo vi chiederà di impostare la videoteca.
Installare S4Me direttamente è possibile, ma se non è aggiornato dovrà recuperare il gap (facendovi perdere tempo).
In tal caso, siccome non saprà a che commit si trova, cercherà di capirlo calcolando l'hash di se stesso (in caso di fallimento, scaricherà lo zip da GitHub, di fatto auto-aggiornandosi).
È possibile disabilitare gli aggiornamenti o scegliere di non mostrare i messaggi in impostazioni -> Preferenze -> Altro:
Lato sviluppo, è necessario che l'updater sia disattivato, per evitare di interferirsi a vicenda. Pertanto, la dev mode disabilita l'updater.