don't try to download media for account switcher when logged out

This commit is contained in:
Henry Hiles 2026-11-02 17:55:33 -05:00
commit f35f715b81
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs

View file

@ -9,6 +9,7 @@ import "package:flutter/cupertino.dart";
import "package:intl/intl.dart"; import "package:intl/intl.dart";
import "package:nexus/controllers/accounts.dart"; import "package:nexus/controllers/accounts.dart";
import "package:nexus/controllers/active_account.dart"; import "package:nexus/controllers/active_account.dart";
import "package:nexus/controllers/client_state.dart";
import "package:nexus/controllers/settings.dart"; import "package:nexus/controllers/settings.dart";
import "package:nexus/helpers/extensions/gomuks_buffer.dart"; import "package:nexus/helpers/extensions/gomuks_buffer.dart";
import "package:nexus/main.dart"; import "package:nexus/main.dart";
@ -396,8 +397,16 @@ class ClientController(final String? accountId) extends AsyncNotifier<int> {
Future<MessageContent> uploadMedia(UploadMediaRequest request) async => Future<MessageContent> uploadMedia(UploadMediaRequest request) async =>
.fromJson(await _sendCommand("upload_media", request.toJson())); .fromJson(await _sendCommand("upload_media", request.toJson()));
Future<File> downloadMedia(DownloadMediaRequest request) async => Future<File> downloadMedia(DownloadMediaRequest request) async {
.new((await _sendCommand("download_media", request.toJson()))["path"]); if (accountId == null &&
ref.read(ClientStateController.provider)?.isLoggedIn != true) {
throw StateError("Can't download media while logged out");
}
return .new(
(await _sendCommand("download_media", request.toJson()))["path"],
);
}
Future<void> logout() => _sendCommand("logout"); Future<void> logout() => _sendCommand("logout");