You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
juan: can CASA even specify a session object in a browser? is a browser standard necessary? a browser profile of a session abstract data model object?
pedro: i prefer source to browser or domain... keep abstract and platform agnostic; specify the data model without platform-spec terminology and mental models
pedro: session includes authZn event and other events in its state; wallet-initiated events (i.e. upgrading, exposing new caps, etc) should also live somewhere in it
Pedro: WC has a session model; my goal for 25 is: dapp needs methods to interact with chains, so requests them from wallet; wallet can also advertise additional methods and/or chains; caip25 needs a session object to write events to for this latter part to be
hassan: wallet needs to know what's in the session (expiry, for ex.)
pedro: I didn't know MM had expiry yet? persists indefinitely now, non? hassan: yup, we want them somewhere, don't need to be in 25
pedro: possible path forward:
TTL in session establishment --> session obj with expiry
hassan: expiry and stable token/sessioniD is a good start
pedro: namespaces, expiry and ID are a subset of signAPI so that works for us; don't want to bias this caip towards WC status quo by including anything else
division of labor: dereference relationship between sessionID and sessionObj? decouple? (decouple!)
firm up 171 sooner, 170 can stay open and keep iterating
pedro: modularity-- people could use one or the other but would need both for state changes...
hassan: where idempotency go, tho? 25 assumes each req/resp updates state in a 170 object, right?
iteration of 25 for session lifecycle
pedro: does 25 request a session? juan: what about a req where no session exists yet?
pedro: but who sets expiry, etc? dapp shouldn't define session...
hassan: yeah wallet sets all these
juan: who sets expiry if session created in 25 exch? Pedro: dapp should maybe request a TTL optionally at most; wallet sets default unless it feels like entertaining that TTL request :D
pedro: TTL could be mandatory or, if optional, implicit (default to, say, 7days;)
pedro: could also be configurable but with a min value, say 30 days
pedro: all these mean new error codes to be defined explicitly in CAIP-25, tho (i.e. TTL too high, TTL too low...)
juan: does each new 25 req bump expiry back?
szimon: feat req on gh for setting session expiry for testing purposes; CI/CD for example would benefit from manually setting a very short session to test handling of expired sessions
TTL <> heartbeats/keep-alive mechanisms...
Pedro: how is MM doing it now? Hassan: no maximum, no storage limit (set by); no heartbeat now
Juan: Usecase for keeping a conn open forever? Pedro: but heartbeat handles that-- idempotent 25 with same params keep
Pedro: state-changes for session as separate CAIP - new very cheap event type (e.g. heartbeat) that JUST extends expiry, no other compute or interaction model...
hassan: caveats in 25 req/res?
pedro: namespace indexing AND chainId indexing would allow a flatter expression without the extensions model...
PRs
*[X] juan will openPR#184
token
-->session
(Szimon: orsessionId
)* [X] see PR#173
source
tobrowser
ordomain
... keep abstract and platform agnostic; specify the data model without platform-spec terminology and mental modelsheartbeat
) that JUST extends expiry, no other compute or interaction model...proposed flatter structure:
Should there be a new error code for this error case? (:137 requested in two different ways)
issues
next steps
sessionIdentifier
PR by nextThe text was updated successfully, but these errors were encountered: