From 68a89ec44c4e4b22baca27eaa4c9c2a2eeb7794b Mon Sep 17 00:00:00 2001 From: Jiralite <33201955+Jiralite@users.noreply.github.com> Date: Mon, 22 Jun 2026 00:37:49 +0100 Subject: [PATCH] fix(FlutterClientGate): allow iOS users to use Flutter via self-hosting (#1125) --- fluxer_api/src/api/auth/FlutterClientGate.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fluxer_api/src/api/auth/FlutterClientGate.ts b/fluxer_api/src/api/auth/FlutterClientGate.ts index 3b83e9843..a44796634 100644 --- a/fluxer_api/src/api/auth/FlutterClientGate.ts +++ b/fluxer_api/src/api/auth/FlutterClientGate.ts @@ -3,6 +3,7 @@ import {ValidationErrorCodes} from '@fluxer/constants/src/ValidationErrorCodes'; import {InputValidationError} from '@fluxer/errors/src/domains/core/InputValidationError'; import {createGuildID} from '../BrandedTypes'; +import {Config} from '../Config'; import type {IGuildMemberRepository} from '../guild/repositories/IGuildMemberRepository'; import type {User} from '../models/User'; import {accountPolicyContactHasCapability} from '../risk/AccountPolicyService'; @@ -20,6 +21,7 @@ export async function assertFlutterClientLoginAllowed( memberRepository: FlutterClientGateMemberRepository, ): Promise { if (!isFluxerFlutterClient(request)) return; + if (Config.instance.selfHosted) return; if (accountPolicyContactHasCapability(user.email, 'client_gate_exempt')) return; if (isFluxerFlutterAndroidClient(request) && isAndroidOpenAccessActive()) return; if (isFluxerFlutterIosClient(request) && checkHasActivePaidPremium(user)) return; @@ -33,6 +35,7 @@ export async function assertFlutterClientLoginAllowed( export function assertFlutterClientRegistrationAllowed(request: Request, email: string | null | undefined): void { if (!isFluxerFlutterClient(request)) return; + if (Config.instance.selfHosted) return; if (accountPolicyContactHasCapability(email, 'client_gate_exempt')) return; if (isFluxerFlutterAndroidClient(request) && isAndroidOpenAccessActive()) return; throw InputValidationError.fromCode('email', ValidationErrorCodes.INVALID_EMAIL_ADDRESS);