fix: follow up for native implementations web

- remove room key deriviation from web worker
- fix fallback argument

Signed-off-by: Lanna Michalke <l.michalke@famedly.com>
This commit is contained in:
Lanna Michalke 2022-08-17 10:08:58 +02:00
parent 61466c82c9
commit d43164f96d
3 changed files with 5 additions and 36 deletions

View File

@ -55,7 +55,6 @@ abstract class NativeImplementations {
/// this implementation will catch any non-implemented method
dynamic noSuchMethod(Invocation invocation) {
final dynamic argument = invocation.positionalArguments.single;
final retryInDummy = invocation.namedArguments['retryInDummy'] as bool;
final memberName = invocation.memberName.toString().split('"')[1];
Logs().w(
@ -65,15 +64,15 @@ abstract class NativeImplementations {
);
switch (memberName) {
case 'generateUploadKeys':
return dummy.generateUploadKeys(argument, retryInDummy: retryInDummy);
return dummy.generateUploadKeys(argument);
case 'keyFromPassphrase':
return dummy.keyFromPassphrase(argument, retryInDummy: retryInDummy);
return dummy.keyFromPassphrase(argument);
case 'decryptFile':
return dummy.decryptFile(argument, retryInDummy: retryInDummy);
return dummy.decryptFile(argument);
case 'shrinkImage':
return dummy.shrinkImage(argument, retryInDummy: retryInDummy);
return dummy.shrinkImage(argument);
case 'calcImageMetadata':
return dummy.calcImageMetadata(argument, retryInDummy: retryInDummy);
return dummy.calcImageMetadata(argument);
default:
return super.noSuchMethod(invocation);
}

View File

@ -4,7 +4,6 @@ import 'dart:html';
import 'dart:math';
import 'dart:typed_data';
import 'package:matrix/encryption.dart';
import 'package:matrix/matrix.dart';
class NativeImplementationsWebWorker extends NativeImplementations {
@ -104,25 +103,6 @@ class NativeImplementationsWebWorker extends NativeImplementations {
return NativeImplementations.dummy.shrinkImage(args);
}
}
@override
Future<RoomKeys> generateUploadKeys(
GenerateUploadKeysArgs args, {
bool retryInDummy = true,
}) async {
try {
final result =
await operation<Map<dynamic, dynamic>, Map<String, dynamic>>(
WebWorkerOperations.generateUploadKeys,
args.toJson(),
);
return RoomKeys.fromJson(Map.from(result));
} catch (e, s) {
if (!retryInDummy) rethrow;
Logs().e('Web worker computation error. Fallback to main thread', e, s);
return NativeImplementations.dummy.generateUploadKeys(args);
}
}
}
class WebWorkerData {
@ -151,7 +131,6 @@ class WebWorkerData {
enum WebWorkerOperations {
shrinkImage,
calcImageMetadata,
generateUploadKeys,
}
class WebWorkerError extends Error {

View File

@ -9,7 +9,6 @@ import 'dart:typed_data';
import 'package:js/js.dart';
import 'package:js/js_util.dart';
import 'package:matrix/encryption.dart';
import 'package:matrix/matrix.dart' hide Event;
import 'package:matrix/src/utils/web_worker/native_implementations_web_worker.dart';
@ -57,14 +56,6 @@ Future<void> startWebWorker() async {
(operation.data as JsArray).whereType<int>().toList()));
sendResponse(operation.label as double, result?.toJson());
break;
case WebWorkerOperations.generateUploadKeys:
final result = generateUploadKeysImplementation(
GenerateUploadKeysArgs.fromJson(
Map.from(operation.data as Map),
),
);
sendResponse(operation.label as double, result.toJson());
break;
default:
throw NullThrownError();
}