WordPress ની ઇન-બિલ્ટ એડમિન-ઇમેઇલ વેરિફિકેશન સ્ક્રીન—જે વર્ઝન 5.3 થી દર થોડા મહિને દેખાય છે—તે SSH એક્સેસ વગરની સાઇટ્સ પર પ્લગઇન અપડેટ કરતી Playwright ઓટોમેશનને તોડી નાખે છે. આ વધારાનું સ્ટેપ સ્ક્રિપ્ટ્સને એવા બટન માટે રાહ જોવા મજબૂર કરે છે જે ક્યારેય દેખાતું નથી, જેના કારણે ટાઇમઆઉટ અને ડિપ્લોયમેન્ટ અટકી જાય છે.

શું આ વિલંબનું કારણ છે

જ્યારે Playwright સ્ક્રિપ્ટ wp-admin માં લોગિન કરે છે, ત્યારે તે અપેક્ષા રાખે છે કે ડેશબોર્ડ તરત જ લોડ થઈ જાય. તેના બદલે, WordPress ક્યારેક એવા પેજ પર રીડાયરેક્ટ કરે છે જેની URL માં adminhash= હોય છે. પેજ પૂછે છે, “શું આ હજુ પણ તમારું સરનામું છે?” અને તેમાં બે બટન હોય છે: Yes, this is my address અને I’ll wait. એક માણસ “I’ll wait” પર ક્લિક કરે છે અને પછીથી આગળ વધે છે; પરંતુ એક અનટેન્ડેડ સ્ક્રિપ્ટ ડેશબોર્ડના એલિમેન્ટ્સ શોધતી રહે છે, જે ક્યારેય મળતા નથી, અને અંતે ટાઇમઆઉટ થઈ જાય છે.

આ પ્રોમ્પ્ટ શા માટે અસ્તિત્વમાં છે

WordPress એ એડમિન ઇમેઇલ એડ્રેસ હજુ પણ કાર્યરત છે કે નહીં તેની ખાતરી કરવા માટે આ પ્રોમ્પ્ટ ઉમેર્યો છે. સાઇટની પ્રવૃત્તિ ગમે તે હોય, તે અંદાજે દર થોડા મહિને દેખાય છે, અને તેનો હેતુ એવા સાઇટ માલિકો માટે સુરક્ષા તપાસ તરીકે છે જેઓ કદાચ એડ્રેસનો એક્સેસ ગુમાવી બેઠા હોય.

કોના પર અસર થાય છે

  • ડેવલપર્સ જે પ્લગઇન અપડેટ્સ આપવા, UI ટેસ્ટ ચલાવવા અથવા બલ્ક એડમિન કાર્યો કરવા માટે Playwright પર આધાર રાખે છે.
  • હોસ્ટિંગ પ્રોવાઇડર્સ જે SSH પર પ્રતિબંધ મૂકે છે, જેના કારણે વપરાશકર્તાઓને બ્રાઉઝર દ્વારા ઓટોમેશન કરવા માટે મજબૂર કરવામાં આવે છે.
  • સાઇટ માલિકો જેમને અપડેટ્સમાં વિલંબ જોવા મળે છે કારણ કે ઓટોમેશન ક્યારેય અપડેટ સ્ક્રીન સુધી પહોંચતું નથી.

આનો ખર્ચ માત્ર થોડી સેકન્ડોનો બગાડ નથી; વારંવાર થતી નિષ્ફળતા શેડ્યૂલ કરેલા મેન્ટેનન્સ વિન્ડોને અટકાવી શકે છે અને મેન્યુઅલ હસ્તક્ષેપ કરવા માટે મજબૂર કરી શકે છે.

બિનજરૂરી સ્ક્રીનને કેવી રીતે ઓળખવી

વર્તમાન URL માં adminhash= ની હાજરી એક વિશ્વસનીય સૂચક છે. આ સ્ટ્રિંગ ફક્ત ઇમેઇલ-વેરિફિકેશન પેજ પર જ દેખાય છે, નિયમિત ડેશબોર્ડ અથવા અન્ય કોઈ એડમિન સ્ક્રીન પર નહીં.

એક સરળ બાયપાસ

લોગિન સ્ટેપ પછી તરત જ એક ચેક ઉમેરો. જો URL માં adminhash= હોય, તો “I’ll wait” બટન પર ક્લિક કરો અને આગળ વધતા પહેલા પેજ સ્થિર થાય તેની રાહ જુઓ.

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

દરેક સફળ લોગિન પછી તરત જ ensure_past_email_check(page) ને કોલ કરો. જ્યારે વેરિફિકેશન સ્ક્રીન દેખાતી નથી, ત્યારે આ ફંક્શન કંઈ જ કરતું નથી, જેનાથી સ્ક્રિપ્ટ ઝડપી અને નિશ્ચિત રહે છે.

બાયપાસનો ઉપયોગ ક્યારે કરવો

એવા ઓટોમેટેડ વર્કફ્લો માટે જે માનવીય દેખરેખ વગર ચલાવવાની જરૂર હોય—જેમ કે નાઇટલી પ્લગઇન અપડેટ્સ અથવા કન્ટિન્યુઅસ-ઇન્ટિગ્રેશન UI ટેસ્ટ—બાયપાસ વ્યવહારુ છે. તે વેરિફિકેશન સ્ટેપને રેન્ડમ નિષ્ફળતાને બદલે એક અનુમાનિત વળાંક તરીકે ગણે છે.

વિરોધ પક્ષનો મુદ્દો

કેટલાક એડમિનિસ્ટ્રેટર્સ દલીલ કરે છે કે પ્રોમ્પ્ટને આપમેળે નકારી કાઢવાથી વાસ્તવિક ઇમેઇલ-ડિલિવરી સમસ્યા છુપાઈ શકે છે. જો એડમિન ઇમેઇલ ખરેખર અનરીચેબલ થઈ જાય, તો સાઇટ મહત્વપૂર્ણ નોટિફિકેશન્સ ચૂકી શકે છે. આવા કિસ્સાઓમાં, વધુ સૂક્ષ્મ અભિગમ—ઇવેન્ટ લોગ કરવી, એલર્ટ મોકલવું અથવા ઓટોમેશન અટકાવવું—વધુ યોગ્ય હોઈ શકે છે.

આગળ શું ધ્યાન રાખવું

  • WordPress URL પેટર્ન બદલી શકે છે અથવા વધારાના વેરિફિકેશન સ્ટેપ્સ ઉમેરી શકે છે, જે adminhash= ચેકને તોડી નાખશે. કોર રિલીઝ નોટ્સ પર નજર રાખો.
  • Playwright નું સિલેક્ટર એન્જિન વિકસિત થાય છે; ખાતરી કરો કે કોઈપણ UI રીડિઝાઇન પછી ટેક્સ્ટ સિલેક્ટર "text=I'll wait" બટન સાથે મેચ થાય છે.
  • જો તમે ઘણી બધી સાઇટ્સ મેનેજ કરો છો, તો ડુપ્લીકેટેડ કોડ ટાળવા માટે શેર કરેલી લાઇબ્રેરીમાં બાયપાસ લોજિકને કેન્દ્રીકૃત કરવાનું વિચારો.

એડમિન-ઇમેઇલ કન્ફર્મેશન પેજને સ્પષ્ટ રીતે હેન્ડલ કરીને, ડેવલપર્સ ક્યારેક થતા ટાઇમઆઉટને તેમના Playwright સ્ક્રિપ્ટ્સના રૂટિન ભાગમાં ફેરવી શકે છે, જેનાથી પ્લેટફોર્મ અણધાર્યા સુરક્ષા પ્રોમ્પ્ટ આપે ત્યારે પણ WordPress ઓટોમેશન વિશ્વસનીય રહે છે.

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