Merge remote-tracking branch 'origin/main' into refactor_perm

This commit is contained in:
Neeraj Gupta
2025-03-06 15:43:55 +05:30
4 changed files with 35 additions and 24 deletions

View File

@@ -58,14 +58,17 @@ in the unlikely event of a server breach, your data remains protected.
## Account Security
### What happens if I forget my password?
### What happens if I forget my password? {#account-recovery}
You can reset your password using your recovery key that was provided to you
during account creation. Please store this key securely, as it's your lifeline
if you forget your password.
If you are logged into Ente on any of your existing devices, you can use that
device to reset your password and use your new password to log in.
If you lose both your password and recovery key, we cannot recover your account
or data due to our end-to-end encrypted architecture.
If you are logged out of Ente on all your devices, you can reset your password
using your recovery key that was provided to you during account creation.
If you are logged out of Ente on all your devices and you have lost both your
password and recovery key, we cannot recover your account or data due to our
end-to-end encrypted architecture.
If you wish to delete your account in such scenarios, please reach out to
support@ente.io and we will help you out.

View File

@@ -59,3 +59,6 @@ then select the "Recover two-factor" option in the error message that gets
shown. This will take you to a place where you can enter your Ente recovery key
and login into your account. Now you can go to the _Passkey_ page to delete the
lost passkey and/or add a new one.
If you have lost access to both your passkey and recovery key, please reach out
to [support@ente.io](mailto:support@ente.io) for help.

View File

@@ -34,17 +34,26 @@ Future<Tuple2<List<LocalPathAsset>, List<EnteFile>>> getLocalPathAssetsAndFiles(
if (assetsInPath.isEmpty) {
result = const Tuple2({}, []);
} else {
result = await Computer.shared().compute(
_getLocalIDsAndFilesFromAssets,
param: <String, dynamic>{
"pathEntity": pathEntity,
"fromTime": fromTime,
"alreadySeenLocalIDs": alreadySeenLocalIDs,
"assetList": assetsInPath,
},
taskName:
"getLocalPathAssetsAndFiles-${pathEntity.name}-count-${assetsInPath.length}",
);
try {
result = await Computer.shared().compute(
_getLocalIDsAndFilesFromAssets,
param: <String, dynamic>{
"pathEntity": pathEntity,
"fromTime": fromTime,
"alreadySeenLocalIDs": alreadySeenLocalIDs,
"assetList": assetsInPath,
},
taskName:
"getLocalPathAssetsAndFiles-${pathEntity.name}-count-${assetsInPath.length}",
);
} catch (e) {
_logger.severe("_getLocalIDsAndFilesFromAssets failed", e);
_logger.info(
"Failed for pathEntity: ${pathEntity.name}",
);
rethrow;
}
alreadySeenLocalIDs.addAll(result.item1);
uniqueFiles.addAll(result.item2);
}
@@ -299,12 +308,8 @@ Future<Tuple2<Set<String>, List<EnteFile>>> _getLocalIDsAndFilesFromAssets(
(fromTime / ~1000);
if (!alreadySeenLocalIDs.contains(entity.id) &&
assetCreatedOrUpdatedAfterGivenTime) {
try {
final file = await EnteFile.fromAsset(pathEntity.name, entity);
files.add(file);
} catch (e) {
_logger.severe(e);
}
final file = await EnteFile.fromAsset(pathEntity.name, entity);
files.add(file);
}
}
return Tuple2(localIDs, files);

View File

@@ -12,7 +12,7 @@ description: ente photos application
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 0.9.99+1011
version: 0.9.99+1012
publish_to: none
environment: