summaryrefslogtreecommitdiff
path: root/Hutch/Views/Repositories/RepositorySettingsViewModel.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Hutch/Views/Repositories/RepositorySettingsViewModel.swift')
-rw-r--r--Hutch/Views/Repositories/RepositorySettingsViewModel.swift9
1 files changed, 8 insertions, 1 deletions
diff --git a/Hutch/Views/Repositories/RepositorySettingsViewModel.swift b/Hutch/Views/Repositories/RepositorySettingsViewModel.swift
index 6ad6a78..dd8d7a1 100644
--- a/Hutch/Views/Repositories/RepositorySettingsViewModel.swift
+++ b/Hutch/Views/Repositories/RepositorySettingsViewModel.swift
@@ -301,7 +301,14 @@ final class RepositorySettingsViewModel {
}
if normalizedEditedDescription != (repository.description ?? "") {
- input["description"] = normalizedEditedDescription.isEmpty ? Optional<String>.none as String? : normalizedEditedDescription
+ if normalizedEditedDescription.isEmpty {
+ // Assigning nil through the subscript would remove the key and omit
+ // `description` from the mutation, leaving the old value in place.
+ // updateValue stores an explicit nil, which AnyCodable encodes as null.
+ input.updateValue(Optional<String>.none as any Sendable, forKey: "description")
+ } else {
+ input["description"] = normalizedEditedDescription
+ }
}
return input