diff --git a/core/lib/presentation/utils/html_transformer/dom/sanitize_hyper_link_tag_in_html_transformers.dart b/core/lib/presentation/utils/html_transformer/dom/sanitize_hyper_link_tag_in_html_transformers.dart
index ac66d9a792..bb84bbf885 100644
--- a/core/lib/presentation/utils/html_transformer/dom/sanitize_hyper_link_tag_in_html_transformers.dart
+++ b/core/lib/presentation/utils/html_transformer/dom/sanitize_hyper_link_tag_in_html_transformers.dart
@@ -18,6 +18,7 @@ class SanitizeHyperLinkTagInHtmlTransformer extends DomTransformer {
}) async {
final elements = document.querySelectorAll('a');
await Future.wait(elements.map((element) async {
+ _sanitizeUrlResource(element);
if (useTooltip) {
_addToolTipWhenHoverLink(element);
}
@@ -26,7 +27,7 @@ class SanitizeHyperLinkTagInHtmlTransformer extends DomTransformer {
}));
}
- void _addToolTipWhenHoverLink(Element element) {
+ void _sanitizeUrlResource(Element element) {
final url = element.attributes['href'] ?? '';
final urlSanitized = _sanitizeUrl.process(url);
@@ -35,7 +36,10 @@ class SanitizeHyperLinkTagInHtmlTransformer extends DomTransformer {
}
element.attributes['href'] = urlSanitized;
+ }
+ void _addToolTipWhenHoverLink(Element element) {
+ final url = element.attributes['href'] ?? '';
final text = element.text;
final children = element.children;
if (children.isEmpty && text.isNotEmpty) {
diff --git a/lib/features/base/upgradeable/upgrade_hive_database_steps_v12.dart b/lib/features/base/upgradeable/upgrade_hive_database_steps_v12.dart
new file mode 100644
index 0000000000..603eec6329
--- /dev/null
+++ b/lib/features/base/upgradeable/upgrade_hive_database_steps_v12.dart
@@ -0,0 +1,17 @@
+
+import 'package:tmail_ui_user/features/base/upgradeable/upgrade_database_steps.dart';
+import 'package:tmail_ui_user/features/caching/caching_manager.dart';
+
+class UpgradeHiveDatabaseStepsV12 extends UpgradeDatabaseSteps {
+
+ final CachingManager _cachingManager;
+
+ UpgradeHiveDatabaseStepsV12(this._cachingManager);
+
+ @override
+ Future onUpgrade(int oldVersion, int newVersion) async {
+ if (oldVersion > 0 && oldVersion < newVersion && newVersion == 12) {
+ await _cachingManager.clearEmailCacheAndAllStateCache();
+ }
+ }
+}
\ No newline at end of file
diff --git a/lib/features/caching/caching_manager.dart b/lib/features/caching/caching_manager.dart
index 0fb76098c3..bc657a5b01 100644
--- a/lib/features/caching/caching_manager.dart
+++ b/lib/features/caching/caching_manager.dart
@@ -106,6 +106,8 @@ class CachingManager {
return Future.wait([
_stateCacheClient.deleteItem(StateType.email.getTupleKeyStored(accountId, session.username)),
_emailCacheClient.clearAllData(),
+ if (PlatformInfo.isMobile)
+ clearAllFileInStorage(),
], eagerError: true);
}
@@ -113,6 +115,8 @@ class CachingManager {
return Future.wait([
_stateCacheClient.clearAllData(),
_emailCacheClient.clearAllData(),
+ if (PlatformInfo.isMobile)
+ clearAllFileInStorage(),
], eagerError: true);
}
diff --git a/lib/features/caching/config/cache_version.dart b/lib/features/caching/config/cache_version.dart
index 304bfea834..7b70a1be9f 100644
--- a/lib/features/caching/config/cache_version.dart
+++ b/lib/features/caching/config/cache_version.dart
@@ -1,4 +1,4 @@
class CacheVersion {
- static const int hiveDBVersion = 11;
+ static const int hiveDBVersion = 12;
}
\ No newline at end of file
diff --git a/lib/features/caching/config/hive_cache_config.dart b/lib/features/caching/config/hive_cache_config.dart
index 40f2333b0f..7d4d2e56fb 100644
--- a/lib/features/caching/config/hive_cache_config.dart
+++ b/lib/features/caching/config/hive_cache_config.dart
@@ -8,6 +8,7 @@ import 'package:hive/hive.dart';
import 'package:path_provider/path_provider.dart' as path_provider;
import 'package:tmail_ui_user/features/base/upgradeable/upgrade_hive_database_steps_v10.dart';
import 'package:tmail_ui_user/features/base/upgradeable/upgrade_hive_database_steps_v11.dart';
+import 'package:tmail_ui_user/features/base/upgradeable/upgrade_hive_database_steps_v12.dart';
import 'package:tmail_ui_user/features/base/upgradeable/upgrade_hive_database_steps_v7.dart';
import 'package:tmail_ui_user/features/caching/caching_manager.dart';
import 'package:tmail_ui_user/features/caching/config/cache_version.dart';
@@ -67,6 +68,7 @@ class HiveCacheConfig {
await UpgradeHiveDatabaseStepsV7(cachingManager).onUpgrade(oldVersion, newVersion);
await UpgradeHiveDatabaseStepsV10(cachingManager).onUpgrade(oldVersion, newVersion);
await UpgradeHiveDatabaseStepsV11(cachingManager).onUpgrade(oldVersion, newVersion);
+ await UpgradeHiveDatabaseStepsV12(cachingManager).onUpgrade(oldVersion, newVersion);
if (oldVersion != newVersion) {
await cachingManager.storeCacheVersion(newVersion);