logout method
Implementation
Future<void> logout() async {
logger.log('Logging out...');
await events.publish(await DeviceSelfRevokeEventBodyModel.create());
if (TailscaleAdmin.instance.isAdmin) {
await TailscaleAdmin.instance.deleteDevice(signing.publicKey);
}
await disconnect();
CanvasAnchorKeyCache.instance.clear();
await Future.wait([
_engine.logout(),
Database.instance.clear(),
Secret.clearAll(),
_media.clear(),
]);
logger.log('Logged out.');
await Future.wait([encryption.init(), signing.init()]);
await Database.instance.init();
await _media.init();
await init(reconnectIfStopped: false);
logger.log('Session reinitialized.');
}