From ea72300fe52005e5cca3f05a163510457d1b2cf9 Mon Sep 17 00:00:00 2001 From: Prateek Sunal Date: Fri, 10 May 2024 21:43:28 +0530 Subject: [PATCH] fix(auth): encode ',' as %2C for correctly importing later on --- auth/lib/models/code.dart | 9 --------- auth/lib/models/code_display.dart | 3 ++- auth/lib/ui/settings/data/export_widget.dart | 2 +- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/auth/lib/models/code.dart b/auth/lib/models/code.dart index 9ea7c2ecf..1486d5c7c 100644 --- a/auth/lib/models/code.dart +++ b/auth/lib/models/code.dart @@ -257,15 +257,6 @@ class Code { throw UnsupportedError("Unsupported format with host ${uri.host}"); } - String get rawDataWithoutDisplay { - return jsonEncode( - Uri.parse( - "$rawData&codeDisplay=" - "${jsonEncode(display.toJson())}", - ).toString(), - ); - } - @override bool operator ==(Object other) { if (identical(this, other)) return true; diff --git a/auth/lib/models/code_display.dart b/auth/lib/models/code_display.dart index 900365257..84deb916b 100644 --- a/auth/lib/models/code_display.dart +++ b/auth/lib/models/code_display.dart @@ -56,7 +56,8 @@ class CodeDisplay { static CodeDisplay? fromUri(Uri uri) { if (!uri.queryParameters.containsKey("codeDisplay")) return null; - final String codeDisplay = uri.queryParameters['codeDisplay']!; + final String codeDisplay = + uri.queryParameters['codeDisplay']!.replaceAll('%2C', ','); final decodedDisplay = jsonDecode(codeDisplay); return CodeDisplay.fromJson(decodedDisplay); diff --git a/auth/lib/ui/settings/data/export_widget.dart b/auth/lib/ui/settings/data/export_widget.dart index f58fd9fd7..0df748289 100644 --- a/auth/lib/ui/settings/data/export_widget.dart +++ b/auth/lib/ui/settings/data/export_widget.dart @@ -175,7 +175,7 @@ Future _getAuthDataForExport() async { String data = ""; for (final code in allCodes) { if (code.hasError) continue; - data += "${code.rawDataWithoutDisplay}\n"; + data += "${code.rawData.replaceAll(',', '%2C')}\n"; } return data;