WordPress యొక్క ఇన్-బిల్ట్ admin-email వెరిఫికేషన్ స్క్రీన్—వెర్షన్ 5.3 నుండి ప్రతి కొన్ని నెలలకు ఒకసారి కనిపిస్తుంది—SSH యాక్సెస్ లేని సైట్‌లలో ప్లగిన్‌లను అప్‌డేట్ చేసే Playwright ఆటోమేషన్‌ను దెబ్బతీస్తుంది. ఈ అదనపు దశ వల్ల స్క్రిప్ట్‌లు కనిపించని బటన్ కోసం వేచి ఉండాల్సి వస్తుంది, దీనివల్ల టైమ్ అవుట్స్ (timeouts) మరియు నిలిచిపోయిన డిప్లాయ్‌మెంట్‌లు (stalled deployments) జరుగుతాయి.

ఈ నిలిచిపోవడానికి కారణం ఏమిటి

Playwright స్క్రిప్ట్ wp-admin లో లాగిన్ అయినప్పుడు, డాష్‌బోర్డ్ వెంటనే లోడ్ అవుతుందని అది ఆశిస్తుంది. కానీ, దానికి బదులుగా WordPress కొన్నిసార్లు adminhash= ఉన్న URL కలిగిన పేజీకి రీడైరెక్ట్ చేస్తుంది. ఆ పేజీలో, “Is this still your address?” అని అడుగుతూ, Yes, this is my address మరియు I’ll wait అనే రెండు బటన్‌లు ఉంటాయి. ఒక మనిషి “I’ll wait” పై క్లిక్ చేసి తర్వాత కొనసాగిస్తారు; కానీ స్వయంచాలక (unattended) స్క్రిప్ట్ డాష్‌బోర్డ్ ఎలిమెంట్స్ కోసం వెతుకుతూనే ఉంటుంది, అవి దొరకవు మరియు చివరికి టైమ్ అవుట్ అవుతుంది.

ఈ ప్రాంప్ట్ ఎందుకు ఉంటుంది

అడ్మిన్ ఈమెయిల్ అడ్రస్ ఇంకా అందుబాటులో ఉందో లేదో నిర్ధారించుకోవడానికి WordPress ఈ ప్రాంప్ట్‌ను జోడించింది. సైట్ యాక్టివిటీతో సంబంధం లేకుండా, ఇది ప్రతి కొన్ని నెలలకు ఒకసారి కనిపిస్తుంది. అడ్రస్‌కు యాక్సెస్ కోల్పోయిన సైట్ యజమానుల కోసం ఇది ఒక సెక్యూరిటీ చెక్‌గా ఉద్దేశించబడింది.

ఎవరిపై ప్రభావం చూపుతుంది

  • డెవలపర్లు (Developers), వీరు ప్లగిన్ అప్‌డేట్‌లను పంపడానికి, UI టెస్ట్‌లను రన్ చేయడానికి లేదా బల్క్ అడ్మిన్ పనులను చేయడానికి Playwright పై ఆధారపడతారు.
  • హోస్టింగ్ ప్రొవైడర్లు (Hosting providers), వీరు SSHని పరిమితం చేస్తారు, దీనివల్ల వినియోగదారులు బ్రౌజర్ ద్వారా ఆటోమేట్ చేయాల్సి వస్తుంది.
  • సైట్ యజమానులు (Site owners), ఆటోమేషన్ అప్‌డేట్ స్క్రీన్‌కు చేరుకోకపోవడం వల్ల వీరు ఆలస్యమైన అప్‌డేట్‌లను చూస్తారు.

దీని వల్ల కలిగే నష్టం కేవలం కొన్ని సెకన్ల వృధా మాత్రమే కాదు; పదేపదే విఫలం కావడం వల్ల షెడ్యూల్ చేసిన మెయింటెనెన్స్ విండోలు ఆగిపోవచ్చు మరియు మాన్యువల్ జోక్యం (manual intervention) అవసరమవ్వచ్చు.

అనవసరమైన స్క్రీన్‌ను గుర్తించడం

ప్రస్తుత URLలో adminhash= ఉండటం అనేది ఒక నమ్మదగిన సూచిక. ఈ స్ట్రింగ్ కేవలం ఈమెయిల్-వెరిఫికేషన్ పేజీలో మాత్రమే కనిపిస్తుంది, సాధారణ డాష్‌బోర్డ్ లేదా ఇతర అడ్మిన్ స్క్రీన్‌లలో కనిపించదు.

ఒక సులభమైన బైపాస్ (bypass)

లాగిన్ దశ తర్వాత వెంటనే ఒక చెక్‌ను జోడించండి. ఒకవేళ 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)ని కాల్ చేయండి. వెరిఫికేషన్ స్క్రీన్ కనిపించనప్పుడు ఈ ఫంక్షన్ ఏమీ చేయదు, దీనివల్ల స్క్రిప్ట్ వేగంగా మరియు ఖచ్చితంగా (deterministic) ఉంటుంది.

బైపాస్‌ను ఎప్పుడు ఉపయోగించాలి

మానవ పర్యవేక్షణ లేకుండా నడవాల్సిన ఆటోమేటెడ్ వర్క్‌ఫ్లోల కోసం—ఉదాహరణకు నైట్లీ ప్లగిన్ అప్‌డేట్‌లు లేదా కంటిన్యూయస్-ఇంటిగ్రేషన్ (CI) UI టెస్ట్‌ల కోసం—ఈ బైపాస్ చాలా ఉపయోగకరంగా ఉంటుంది. ఇది వెరిఫికేషన్ దశను ఒక యాదృచ్ఛిక వైఫల్యంగా కాకుండా, ఊహించదగిన మలుపుగా (predictable detour) పరిగణిస్తుంది.

వ్యతిరేక వాదన (Counter-point)

ప్రాంప్ట్‌ను ఆటోమేటిక్‌గా తిరస్కరించడం వల్ల నిజమైన ఈమెయిల్-డెలివరీ సమస్యను గుర్తించలేకపోవచ్చు అని కొందరు అడ్మినిస్ట్రేటర్లు వాదిస్తారు. ఒకవేళ అడ్మిన్ ఈమెయిల్ నిజంగా అందుబాటులో లేకపోతే, సైట్ కీలకమైన నోటిఫికేషన్‌లను కోల్పోయే అవకాశం ఉంది. అటువంటి సందర్భాల్లో, ఈ ఈవెంట్‌ను లాగ్ చేయడం, అలర్ట్‌ను పంపడం లేదా ఆటోమేషన్‌ను తాత్కాలికంగా నిలిపివేయడం వంటి మరింత సూక్ష్మమైన (nuanced) విధానం ఉత్తమం.

తదుపరి గమనించవలసినవి

  • WordPress URL ప్యాటర్న్‌ను మార్చవచ్చు లేదా అదనపు వెరిఫికేషన్ దశలను జోడించవచ్చు, ఇది adminhash= చెక్‌ను దెబ్బతీస్తుంది. కోర్ రిలీజ్ నోట్స్‌ను గమనిస్తూ ఉండండి.
  • Playwright యొక్క సెలెక్టర్ ఇంజిన్ అభివృద్ధి చెందుతుంది; ఏదైనా UI రీడిజైన్ తర్వాత "text=I'll wait" అనే టెక్స్ట్ సెలెక్టర్ బటన్‌కు సరిగ్గా సరిపోతుందో లేదో నిర్ధారించుకోండి.
  • మీరు చాలా సైట్‌లను నిర్వహిస్తుంటే, డూప్లికేటెడ్ కోడ్‌ను నివారించడానికి బైపాస్ లాజిక్‌ను ఒక షేర్డ్ లైబ్రరీలో కేంద్రీకరించాలని (centralising) ఆలోచించండి.

అడ్మిన్-ఈమెయిల్ కన్ఫర్మేషన్ పేజీని స్పష్టంగా హ్యాండిల్ చేయడం ద్వారా, డెవలపర్లు అప్పుడప్పుడు వచ్చే టైమ్ అవుట్‌లను తమ Playwright స్క్రిప్ట్‌లలో ఒక సాధారణ భాగంగా మార్చుకోవచ్చు. దీనివల్ల ప్లాట్‌ఫారమ్ ఊహించని సెక్యూరిటీ ప్రాంప్ట్‌లను చూపించినప్పటికీ, WordPress ఆటోమేషన్ నమ్మదగినదిగా ఉంటుంది.

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