Generált nézet host-műveleteinek használata
Nyiss meg egy befejezett generált nézetet a Complexity felületen. Egy host-gomb szöveget másolhat, biztonságos URL-t nyithat, vagy új kört kérhet. Kifejezett kattintás szükséges hozzá. Zárolt, csak olvasható vagy befejezetlen példány nem hajthatja végre.
A generált forrás a HostButton(label, operation, value) formát használja, a copy, openUrl vagy newTurn operációval. Nem kap végrehajtható callbacket vagy szolgáltató-endpointot. A helyi Button(Action(Set/Reset)) és a Submit(label) űrlapelem külön marad.
A host határa
A renderer a tartós kimeneti kulcsot a host callbackhez köti. A csatolás, a hidratálás, a helyi számítások, az újratöltés, az újracsatlakozás és az előzmények visszajátszása nem indít műveletet.
A vágólap- és URL-műveletek közvetlenül a böngészős API-kat hívják a kattintás hívási veremében, megőrizve a felhasználói aktiválást. Az URL-eknek abszolút HTTP(S) címnek kell lenniük, hitelesítő adatok és vezérlőkarakterek nélkül. A helyi másolás és megnyitás egy befejezett kimeneten egy másik modellfutás alatt is elérhető marad.
Az új kör ellenőrzi az aktív futás és az automatikus válasz korlátozásait. A gomb függőben lévő állapota és a host-küldés deduplikációja megakadályozza, hogy a dupla kattintás újabb műveletet nyisson.
Új körök és MailGen-műveletek
A newTurn az aktuális csevegés kanonikus futásbelépését használja külön lekérdezéssel. Nem hoz létre csevegést és nem hoz létre szerkesztőpiszkozatot. Megőrzi a piszkozatszöveget, a függőben lévő mellékleteket, a megemlítéseket, a hivatkozásokat és a Submit-hozzájárulást. Nem tartalmaz implicit UI-pillanatképet.
A munkamenet- és eredetellenőrzések, a hitelesített átvitel, a backend actor-, csevegés-, bérlő- és postafiók-ellenőrzései, valamint az aktív ág belépése irányadók maradnak. Az ismeretlen hálózati eredmények megőrzik az eredeti kéréskulcsot és szülőt a kifejezett újrapróbáláshoz.
A böngésző munkamenet-tárolója csak ezt a kulcsot, a szülőazonosítót és a forrás/művelet/beállítás-identitás hash-ét tárolja. Nem tárol nyílt szöveges lekérdezést, forrást vagy beviteli értéket. Az újratöltés soha nem játssza vissza automatikusan. Egy későbbi kifejezett kattintásnak egyeznie kell az eredeti forrással és payloadgal. A backend nyugtája dönti el, hogy a belépés már sikeres volt-e.
Egy régi szülő újrajátszhat már elfogadott nyugtát. Nyugta nélkül egy másik kör, amely előrelépett az ágon, a régi szülőből érkező új kérést érvénytelenné teszi. A tranzakció a böngészős előellenőrzés után újra ellenőrzi ezt.
A MailGen-kérések a szokásos engedélyezett toolokat, friss jogosultsági ellenőrzést, naplózást és kanonikus műveleteket használják. A generált forrás nem tartalmaz runTool hívást, tetszőleges szolgáltatóműveletet vagy általános jóváhagyási endpointot. A védett műveletek először típusos javaslatkártyát készítenek. Az elkülönített megerősítés csak azonosítókat küld. A backend újratölti a tárolt payloadot, és ellenőrzi a jogosultságokat, a revíziót és az idempotens nyugtát.
Piszkozat-ellenőrzés és helyreállítás
A befejezett native és custom nézetek a generált fán kívül megbízható Levél megnyitása (Open mail) és Piszkozat létrehozása (Create draft) vezérlőket mutathatnak. Elérhetőségük az eredetileg engedélyezett tooloktól, az aktuális kiválasztástól, a műveleti engedélyektől és a mailbox-hozzáféréstől függ. A custom runtime működőképessége nem ad draftjogosultságot.
A Piszkozat létrehozása (Create draft) meghívja a kanonikus writert, és modellkvótát fogyaszt. A szokásos sikeres mentéshez nem kell külön jóváhagyás. A kifejezett művelet befejezése után a host megnyitja a mentett kanonikus draftot. A Piszkozat megnyitása (Open draft) később új javaslat generálása nélkül olvassa be ezt a draftot. A szerkesztő nem mentett helyi módosításai sértetlenek maradnak.
A requiresApply jelölésű eredmény, egy ütközés vagy egy késve megerősített javaslat hostoldali review-t igényelhet. A host hitelesített route-on kéri le a tárolt javaslatot. A javaslat szövege a generált nézet state-jén és az automatikus modellbemeneten kívül marad. A preview letiltja a scripteket és a hálózati hozzáférést.
Az ellenőrzött javaslat mentéséhez használd a Javaslat alkalmazása (Apply proposal) gombot. A host elküldi az action azonosítóját, az intent verzióját és a döntést. Nem küld csere-javaslatszöveget vagy új baseline-t. A backend összehasonlítja a kanonikus draftot a review-hoz rögzített baseline-nal (CAS). Ütközés esetén új review-ra és verzióra van szükség. A nyitott szerkesztő nem mentett módosításai letiltják az Apply műveletet.
Az Apply a writer újrafuttatása és új draft-keret létrehozása nélkül menti a tárolt javaslatot. A Javaslat elvetése (Cancel proposal) lezárja a javaslatot, de nem törli a meglévő draftot, és nem vonja vissza az elfogadott mailboxparancsot. A függőben lévő vagy bizonytalan mailboxműveletek mindkét döntést letilthatják.
Ismeretlen eredmény után használd a Művelet állapotának ellenőrzése (Check action status) gombot. Az újratöltés, az újracsatlakozás és egy másik böngészőfül hitelesített backend-olvasással állítja helyre a legutóbbi intentet a pontos kimenethez és actionhöz. A recovery ellenőrzi az aktuális jogosultságokat és a mailbox identitását. Nem hajt végre actiont, nem futtatja újra a writert, és nem nyit meg automatikusan olvasót vagy szerkesztőt. A sikertelen recovery nem jogosít fel új írásra.