Screenshot of split terminal window showing, on top, a log of the state objects: Progress indicator state: RegistrationFormState { _state: 'CHECKING_AVAILABILITY', _states: { INITIAL: {}, CHECKING_AVAILABILITY: {}, AVAILABLE: {}, UNAVAILABLE: {}, ERROR: {} }, domain: 'small-web.org', application: { name: 'Place', source: 'https://codeberg.org/small-web/place.git' }, subdomain: '', customApplicationSource: '' } … RegistrationFormState { _state: 'AVAILABLE', _states: { INITIAL: {}, CHECKING_AVAILABILITY: {}, AVAILABLE: {}, UNAVAILABLE: {}, ERROR: {} }, On the button pane is a tail of JSDB database (append only JavaScript log) where the states are stored, keyed to session IDs: _['UB2WuGmK1ltayWBv4J_SlV_d']['registrationFormState'] = Object.create(typeof RegistrationFormState === 'function' ? RegistrationFormState.prototype : {}, Object.getOwnPropertyDescriptors({ '_state': `INITIAL`, '_states': { 'INITIAL': { }, 'CHECKING_AVAILABILITY': { }, 'AVAILABLE': { }, 'UNAVAILABLE': { }, 'ERROR': { } }, 'domain': `small-web.org`, 'application': { 'name': `Place`, 'source': `https://codeberg.org/small-web/place.git` }, 'subdomain': ``, 'customApplicationSource': `` })); _['UB2WuGmK1ltayWBv4J_SlV_d']['registrationFormState']['_state'] = `CHECKING_AVAILABILITY`; … _['UB2WuGmK1ltayWBv4J_SlV_d']['registrationFormState']['_state'] = `AVAILABLE`;
https://s3-eu-central-1.amazonaws.com/mastodon-aral/media_attachments/files/112/083/872/861/817/729/original/a97e8af03f1d0f1c.png