Skrini ya uthibitisho wa barua pepe ya admin iliyojengwa ndani ya WordPress—inayoonekana kila baada ya miezi michache tangu toleo la 5.3—inavuruga otomatiki ya Playwright inayosasisha plugin kwenye tovuti zisizo na ufikiaji wa SSH. Hatua hiyo ya ziada inalazimisha skripti kusubiri kitufe ambacho hakitokei kamwe, na kusababisha muda kuisha (timeouts) na usambazaji (deployments) kukwama.

Kinachosababisha kukwama

Skripti ya Playwright inapojiingiza (log in) kwenye wp-admin, inatarajia dashibodi ipakie mara moja. Badala yake, wakati mwingine WordPress huhamisha (redirect) kwenda ukurasa ambao URL yake ina adminhash=. Ukurasa huo unauliza, “Je, hii bado ni anwani yako?” ukiwa na vitufe viwili: Yes, this is my address na I’ll wait. Binadamu hukliki “I’ll wait” na kuendelea baadaye; skripti inayofanya kazi bila usimamizi huendelea kutafuta vipengele vya dashibodi, havipati kamwe, na hatimaye muda unakwisha.

Kwa nini ujumbe huu upo

WordPress iliongeza ujumbe huu ili kuthibitisha kuwa anwani ya barua pepe ya admin bado inafikika. Huonekana takriban kila baada ya miezi michache, bila kujali shughuli za tovuti, na imekusudiwa kama ukaguzi wa usalama kwa wamiliki wa tovuti ambao huenda wamepoteza ufikiaji wa anwani hiyo.

Nani anayehusika

  • Waendelezaji (Developers) wanaotegemea Playwright kusukuma sasisho za plugin, kuendesha UI tests, au kufanya kazi nyingi za admin kwa pamoja.
  • Watoa huduma za hosting wanaozuia SSH, hivyo kuwalazimisha watumiaji kutumia otomatiki kupitia kivinjari (browser).
  • Wamiliki wa tovuti ambao wanaona sasisho zikichelewa kwa sababu otomatiki haifiki kamwe kwenye skrini ya sasisho.

Gharama yake si sekunde chache zilizopotea tu; kushindwa mara kwa mara kunaweza kusimamisha nyakati za matengenezo zilizopangwa na kulazimisha uingiliaji wa kibinadamu.

Kutambua skrini isiyotakiwa

Uwepo wa adminhash= kwenye URL ya sasa ni kiashiria cha kuaminika. Mfuatano huo (string) huonekana tu kwenye ukurasa wa uthibitisho wa barua pepe, si kwenye dashibodi ya kawaida au skrini nyingine yoyote ya admin.

Njia rahisi ya kukwepa (bypass)

Ingiza ukaguzi mara baada ya hatua ya kuingia (login). Ikiwa URL ina adminhash=, bonyeza kitufe cha “I’ll wait” na subiri ukurasa utulie kabla ya kuendelea.

def ensure_past_email_check(page):
    if "adminhash=" in page.url:
        page.click("text=I'll wait")
        page.wait_for_load_state("networkidle")

Ita ensure_past_email_check(page) mara baada ya kila kuingia kwa mafanikio. Kazi hiyo (function) haifanyi kitu wakati skrini ya uthibitisho haitokei, hivyo kuifanya skripti kuwa ya haraka na inayotabirika.

Lini utumie njia hii ya kukwepa

Kwa mifumo ya kazi ya otomatiki inayopaswa kuendeshwa bila usimamizi wa binadamu—kama vile sasisho za plugin za usiku au UI tests za continuous-integration—njia hii ya kukwepa ni ya vitendo. Inachukulia hatua ya uthibitisho kama njia ya ziada inayotabirika badala ya hitilafu ya ghafla.

Upande wa pili

Baadhi ya wasimamizi wanahoji kuwa kukataa ujumbe huo kiotomatiki kunaweza kuficha tatizo halisi la ufikiaji wa barua pepe. Ikiwa barua pepe ya admin kweli itakuwa haiwezi kufikika, tovuti inaweza kukosa arifa muhimu. Katika hali kama hizo, njia ya kina zaidi—kama vile kurekodi tukio, kutuma arifa, au kusimamisha otomatiki—inaweza kuwa bora zaidi.

Vitu vya kuzingatia baadaye

  • WordPress inaweza kubadilisha mfumo wa URL au kuongeza hatua za ziada za uthibitisho, jambo ambalo litavuruga ukaguzi wa adminhash=. Fuatilia maelezo ya toleo (release notes) za msingi.
  • Injini ya kieleza (selector engine) ya Playwright inabadilika; hakikisha kieleza cha maandishi "text=I'll wait" kinaendelea kuendana na kitufe baada ya mabadiliko yoyote ya muundo wa UI.
  • Ikiwa unasimamia tovuti nyingi, fikiria kuweka mantiki ya kukwepa (bypass logic) katika maktaba inayoshirikiwa ili kuepuka kurudia kodi.

Kwa kushughulikia ukurasa wa uthibitisho wa barua pepe ya admin kwa uwazi, waendelezaji wanageuza muda uliopotea wa mara kwa mara kuwa sehemu ya kawaida ya skripti zao za Playwright, wakifanya otomatiki ya WordPress iwe ya kuaminika hata wakati jukwaa linatupa ujumbe wa usalama usiotarajiwa.

Source: https://dev.to/susumun/browser-based-updates-getting-stuck-on-the-confirm-your-admin-email-screen-why-playwright-6io