import 'package:famedlysdk/famedlysdk.dart'; import 'package:famedlysdk/encryption.dart'; import 'platform_infos.dart'; import 'famedlysdk_store.dart'; class FluffyClient extends Client { static final FluffyClient _instance = FluffyClient._internal(); /// The ID of the currently active room, if there is one. May be null or emtpy String activeRoomId; factory FluffyClient() { return _instance; } FluffyClient._internal() : super( PlatformInfos.clientName, enableE2eeRecovery: true, verificationMethods: { KeyVerificationMethod.numbers, if (PlatformInfos.isMobile || PlatformInfos.isLinux) KeyVerificationMethod.emoji, }, importantStateEvents: { 'im.ponies.room_emotes', // we want emotes to work properly }, databaseBuilder: getDatabase, supportedLoginTypes: { AuthenticationTypes.password, if (PlatformInfos.isMobile || PlatformInfos.isWeb) AuthenticationTypes.sso }, ); }