Skip to content

Mate 4.14.2 — A password Leapmotor refuses is named, and Mate waits an hour

Choose a tag to compare

@ProtossBlaster ProtossBlaster released this 10 Oct 22:23
· 49 commits to main since this release

Mate 4.14.2 — A password Leapmotor refuses is named, and Mate waits an hour

A fix found in the diagnostics @DJ-Elo-Ostfriesland sent on
#411, with the meaning of the codes
from @arekm.


What changes

Since 4.x, when Leapmotor refuses a sign-in, Mate keeps only its number (API=302010108), not the
server's message. Mate tells a refused password from a passing failure by the words in the error, so
this one read as passing:

  • the startup login asked again every 5 minutes, where a refused password waits an hour;
  • the cloud-history worker asked on its own every 5 minutes as well;
  • the Overview said "the Leapmotor cloud refuses the login", without pointing at the password.

On @DJ-Elo-Ostfriesland's install, after an internet outage made Mate sign in again, that came to 257
refused sign-ins on 10/10.

302010108 is "Incorrect account or password": @arekm found that message next to it in the 3.x
diagnostics of 17 issues, kerniger/leapmotor-ha#74 pairs them the same way, and in #338 it went away
the moment the right password was in.

  • Mate now names the code: the error reads API=302010108 (incorrect account or password).
  • The startup login waits an hour before offering the same password again, and the history worker
    waits the same hour.
  • The Overview reads "the password was rejected" and "Check the Leapmotor account in Settings."; the
    log says "check credentials".
  • A password changed in Settings restarts the poller and is tried at once, as before.

Upgrade impact

  • Nothing is migrated or deleted. Only the wording of a refused sign-in and the wait after it change.
  • Other refusals are unchanged, 302010107 included. @arekm reads it as "password error limit
    reached, try again in 2 minutes"; on #411 it came about one answer in ten. Fewer attempts with a
    refused password should make it rarer: not measured.

Verification

  • CI green on the tag: 5,510 passed, 1 skipped, plus 48 passed and 2 skipped on the Windows job;
    the check that the released desktop shell still runs this Mate is green.
  • Locally, in the CI's image with Node.js and a MateDesktop checkout added — so that nothing is
    skipped: 5,511 passed, none skipped.
  • Five new tests. On 4.14.1 three of them fail: a 302010108 refusal does not read as a password
    problem, the startup login asks again after 5 seconds instead of an hour, and the history worker
    after 5 minutes. The other two check that a refusal of unknown meaning (302010219) still reads as
    passing and is asked again as before. Now all five pass.
  • Screenshots of the Overview's link tile, on synthetic data, after seven 302010108 refusals put
    through the real bridge and the poller's own startup loop: 4.14.1 reads "the Leapmotor cloud refuses
    the login", next attempt in 5 min; 4.14.2 reads "the password was rejected", next attempt in 60 min,
    and "Check the Leapmotor account in Settings."
  • The Docker image, built from this release, ran on the test instance (one car) with a real database
    before the tag: every page answers as on 4.14.1 (the fuel page sends a car without a tank
    elsewhere, as before), and the log has no errors. Its sign-in was accepted, so the new wording was
    not seen there.
  • Not tried: a real account whose password Leapmotor refuses, the add-on behind Home Assistant, a
    phone.

Italiano

Mate 4.14.2 — Una password rifiutata da Leapmotor viene chiamata per nome, e Mate aspetta un'ora

Una correzione trovata nella diagnostica che @DJ-Elo-Ostfriesland ha mandato sulla
#411, con il significato dei codici
trovato da @arekm.

Cosa cambia

Dalla 4.x, quando Leapmotor rifiuta un accesso, Mate tiene solo il suo numero (API=302010108), non il
messaggio del server. Mate distingue una password rifiutata da un errore passeggero dalle parole
dell'errore, quindi questo veniva letto come passeggero:

  • l'accesso all'avvio riprovava ogni 5 minuti, dove una password rifiutata aspetta un'ora;
  • anche la parte che scarica lo storico dal cloud riprovava per conto suo ogni 5 minuti;
  • la Panoramica diceva «il cloud Leapmotor rifiuta l'accesso», senza indicare la password.

Sull'installazione di @DJ-Elo-Ostfriesland, dopo che un guasto della connessione internet aveva
costretto Mate ad accedere di nuovo, sono stati 257 accessi rifiutati il 10/10.

302010108 è «Incorrect account or password» (account o password errati): @arekm ha trovato quel
messaggio accanto al codice nella diagnostica 3.x di 17 segnalazioni, kerniger/leapmotor-ha#74 li
abbina allo stesso modo, e nella #338 è sparito appena è stata inserita la password giusta.

  • Mate ora dà un nome al codice: l'errore dice API=302010108 (incorrect account or password).
  • L'accesso all'avvio aspetta un'ora prima di riprovare la stessa password, e la parte dello storico
    aspetta la stessa ora.
  • La Panoramica dice «la password è stata rifiutata» e «Controlla l'account Leapmotor nelle
    Impostazioni.»; il log dice «check credentials».
  • Una password cambiata nelle Impostazioni riavvia il poller e viene provata subito, come prima.

Impatto dell'aggiornamento

  • Niente viene migrato o cancellato. Cambiano solo le parole di un accesso rifiutato e l'attesa dopo.
  • Gli altri rifiuti non cambiano, compreso 302010107. @arekm lo legge come «raggiunto il limite di
    errori della password, riprova fra 2 minuti»; sulla #411 arrivava circa una risposta su dieci. Meno
    tentativi con una password rifiutata dovrebbero renderlo più raro: non misurato.

Verifica

  • CI verde sul tag: 5.510 passati, 1 saltato, più 48 passati e 2 saltati sul job Windows; il
    controllo che il guscio desktop pubblicato faccia ancora girare questa Mate è verde.
  • In locale, nell'immagine della CI con Node.js e una copia di MateDesktop aggiunti — così che non si
    salti niente: 5.511 passati, nessuno saltato.
  • Cinque test nuovi. Sulla 4.14.1 tre falliscono: un rifiuto 302010108 non viene letto come un
    problema di password, l'accesso all'avvio riprova dopo 5 secondi invece che dopo un'ora, e lo storico
    dopo 5 minuti. Gli altri due controllano che un rifiuto di significato sconosciuto (302010219) venga
    ancora letto come passeggero e riprovato come prima. Adesso passano tutti e cinque.
  • Schermate del riquadro del collegamento nella Panoramica, con dati inventati, dopo sette rifiuti
    302010108 passati dal bridge vero e dal ciclo di avvio del poller: la 4.14.1 dice «il cloud Leapmotor
    rifiuta l'accesso», prossimo tentativo fra 5 min; la 4.14.2 dice «la password è stata rifiutata»,
    prossimo tentativo fra 60 min, e «Controlla l'account Leapmotor nelle Impostazioni.»
  • L'immagine Docker, costruita da questa versione, ha girato sull'istanza di prova (una sola auto) con
    un database vero prima del tag: ogni pagina risponde come sulla 4.14.1 (la pagina del carburante
    manda altrove un'auto senza serbatoio, come prima), e nel log non ci sono errori. Lì l'accesso è
    stato accettato, quindi le parole nuove non si sono viste.
  • Non provati: un vero account di cui Leapmotor rifiuta la password, l'add-on dentro Home Assistant,
    un telefono.