fix(extensions): resume metadata after verification

This commit is contained in:
zarzet
2026-08-27 13:08:44 +07:00
parent 9bbfee25d0
commit 47deb9f34e
4 changed files with 99 additions and 12 deletions
+23
View File
@@ -25,6 +25,29 @@ bool isExtensionVerificationRequired(Object error) {
_containsHttpStatusCode(message, '428');
}
Future<T> runExtensionOperationWithVerificationRetry<T>({
required String extensionId,
required String browserMode,
required Future<T> Function() operation,
Future<bool> Function()? verify,
}) async {
try {
return await operation();
} catch (error) {
if (!isExtensionVerificationRequired(error)) rethrow;
final verified =
await (verify ??
() => openVerificationAndAwaitGrant(
extensionId,
browserMode: browserMode,
))();
if (!verified) rethrow;
return operation();
}
}
String? extensionIdFromVerificationError(
Object error,
Iterable<String> knownExtensionIds,