Merge branch 'main' into thumbnail_duration
This commit is contained in:
@@ -86,6 +86,9 @@
|
||||
{
|
||||
"title": "Discourse"
|
||||
},
|
||||
{
|
||||
"title": "Doppler"
|
||||
},
|
||||
{
|
||||
"title": "dus.net",
|
||||
"slug": "dusnet"
|
||||
|
||||
1
auth/assets/custom-icons/icons/doppler.svg
Normal file
1
auth/assets/custom-icons/icons/doppler.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg fill="none" height="800" viewBox="0 0 800 800" width="800" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><radialGradient id="a" cx="0" cy="0" gradientTransform="matrix(-423.0004 -300.00003 172.7003 -243.50762 861 448)" gradientUnits="userSpaceOnUse" r="1"><stop offset="0" stop-color="#ea5926"/><stop offset="1" stop-color="#ea5a25" stop-opacity="0"/></radialGradient><radialGradient id="b" cx="0" cy="0" gradientTransform="matrix(-318.99928 -110.0022 110.0022 -318.99928 800 736)" gradientUnits="userSpaceOnUse" r="1"><stop offset="0" stop-color="#ea5a25"/><stop offset="1" stop-color="#ed5a21" stop-opacity="0"/></radialGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="505" x2="1.46826" y1="-305" y2="800.669"><stop offset="0" stop-color="#ff9efa"/><stop offset=".426562" stop-color="#ac50f7"/><stop offset=".646435" stop-color="#6b13f5"/></linearGradient><clipPath id="d"><path d="m0 0h500v500h-500z" transform="translate(150 150)"/></clipPath><rect fill="url(#c)" height="800" rx="400" width="800"/><rect fill="url(#a)" height="800" rx="400" width="800"/><rect fill="url(#b)" height="800" rx="400" width="800"/><g clip-path="url(#d)" fill="#fff"><path d="m467.396 151.3c-21.021-5.632-42.449 7.589-46.843 28.903l-19.94 96.716c-13.025 63.174-62.376 112.549-125.545 125.603l-94.873 19.607c-21.312 4.405-34.527 25.833-28.894 46.854 5.633 21.023 27.796 32.974 48.456 26.128l92.327-30.593c61.386-20.341 128.989-2.227 171.981 46.082l64.666 72.664c14.467 16.255 39.63 16.987 55.017 1.6 15.39-15.389 14.655-40.558-1.607-55.023l-73.135-65.056c-48.44-43.09-66.604-110.866-46.202-172.405l30.71-92.633c6.847-20.655-5.099-42.815-26.118-48.447z"/><path d="m216.103 272.283c-17.191-15.554-17.86-42.331-1.467-58.723 16.393-16.393 43.169-15.724 58.723 1.467l48.898 54.045c13.189 14.578 12.631 36.937-1.27 50.838s-36.261 14.46-50.839 1.271zm380.232 29.881c22.065-7.11 45.589 5.698 51.589 28.091s-7.967 45.248-30.632 50.122l-71.253 15.325c-19.22 4.133-38.305-7.53-43.393-26.52-5.088-18.989 5.608-38.632 24.32-44.662zm-217.826 315.811c-4.875 22.664-27.73 36.632-50.122 30.632-22.393-6-35.202-29.524-28.091-51.589l22.355-69.37c6.03-18.711 25.673-29.407 44.663-24.319 18.989 5.088 30.653 24.173 26.519 43.392z"/></g></svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -7,7 +7,7 @@
|
||||
"description": "Text shown in the AppBar of the Counter Page"
|
||||
},
|
||||
"onBoardingBody": "Proteja seus códigos 2FA",
|
||||
"onBoardingGetStarted": "Vamos Começar",
|
||||
"onBoardingGetStarted": "Introdução",
|
||||
"setupFirstAccount": "Configure sua primeira conta",
|
||||
"importScanQrCode": "Escanear QR code",
|
||||
"qrCode": "QR Code",
|
||||
@@ -32,12 +32,12 @@
|
||||
"counterBasedKeyType": "Baseado em um contador (HOTP)",
|
||||
"saveAction": "Salvar",
|
||||
"nextTotpTitle": "avançar",
|
||||
"deleteCodeTitle": "Excluir código?",
|
||||
"deleteCodeTitle": "Apagar código?",
|
||||
"deleteCodeMessage": "Tem certeza de que deseja excluir este código? Esta ação é irreversível.",
|
||||
"viewLogsAction": "Ver logs",
|
||||
"sendLogsDescription": "Isto irá compartilhar seus logs para nos ajudar a depurar seu problema. Embora tomemos precauções para garantir que informações sensíveis não sejam enviadas, encorajamos você a ver esses logs antes de compartilhá-los.",
|
||||
"preparingLogsTitle": "Preparando logs...",
|
||||
"emailLogsTitle": "Logs por e-mail",
|
||||
"emailLogsTitle": "Logs (e-mail)",
|
||||
"emailLogsMessage": "Por favor, envie os logs para {email}",
|
||||
"@emailLogsMessage": {
|
||||
"placeholders": {
|
||||
@@ -48,9 +48,9 @@
|
||||
},
|
||||
"copyEmailAction": "Copiar e-mail",
|
||||
"exportLogsAction": "Exportar logs",
|
||||
"reportABug": "Reportar um problema",
|
||||
"reportABug": "Informar um problema",
|
||||
"crashAndErrorReporting": "Reporte de erros e falhas",
|
||||
"reportBug": "Reportar problema",
|
||||
"reportBug": "Informar problema",
|
||||
"emailUsMessage": "Por favor, envie um e-mail para {email}",
|
||||
"@emailUsMessage": {
|
||||
"placeholders": {
|
||||
@@ -112,7 +112,7 @@
|
||||
"email": "E-mail",
|
||||
"support": "Suporte",
|
||||
"general": "Geral",
|
||||
"settings": "Configurações",
|
||||
"settings": "Ajustes",
|
||||
"copied": "Copiado",
|
||||
"pleaseTryAgain": "Por favor, tente novamente",
|
||||
"existingUser": "Usuário Existente",
|
||||
@@ -139,7 +139,7 @@
|
||||
"inFamilyPlanMessage": "Você está em um plano familiar!",
|
||||
"swipeHint": "Deslize para a esquerda para editar ou remover os códigos",
|
||||
"scan": "Escanear",
|
||||
"scanACode": "Escanear um código",
|
||||
"scanACode": "Escanear código",
|
||||
"verify": "Verificar",
|
||||
"verifyEmail": "Verificar e-mail",
|
||||
"enterCodeHint": "Digite o código de 6 dígitos de\nseu aplicativo autenticador",
|
||||
@@ -185,7 +185,7 @@
|
||||
"lockScreenEnablePreSteps": "Para ativar o bloqueio de tela, por favor ative um método de autenticação nas configurações do sistema do seu dispositivo.",
|
||||
"viewActiveSessions": "Ver sessões ativas",
|
||||
"authToViewYourActiveSessions": "Por favor, autentique-se para ver as sessões ativas",
|
||||
"searchHint": "Pesquisar...",
|
||||
"searchHint": "Buscar...",
|
||||
"search": "Pesquisar",
|
||||
"sorryUnableToGenCode": "Desculpe, não foi possível gerar um código para {issuerName}",
|
||||
"noResult": "Nenhum resultado",
|
||||
@@ -242,7 +242,7 @@
|
||||
"logInLabel": "Entrar",
|
||||
"logout": "Sair",
|
||||
"areYouSureYouWantToLogout": "Você tem certeza que deseja encerrar a sessão?",
|
||||
"yesLogout": "Sim, encerrar sessão",
|
||||
"yesLogout": "Sim, sair",
|
||||
"exit": "Sair",
|
||||
"verifyingRecoveryKey": "Verificando chave de recuperação...",
|
||||
"recoveryKeyVerified": "Chave de recuperação verificada",
|
||||
@@ -317,7 +317,7 @@
|
||||
"thisWillLogYouOutOfTheFollowingDevice": "Isso fará com que você saia do seguinte dispositivo:",
|
||||
"terminateSession": "Encerrar sessão?",
|
||||
"terminate": "Encerrar",
|
||||
"thisDevice": "Este dispositivo",
|
||||
"thisDevice": "Esse dispositivo",
|
||||
"toResetVerifyEmail": "Para redefinir a sua senha, por favor verifique o seu email primeiro.",
|
||||
"thisEmailIsAlreadyInUse": "Este e-mail já está em uso",
|
||||
"verificationFailedPleaseTryAgain": "Falha na verificação. Por favor, tente novamente",
|
||||
@@ -339,7 +339,7 @@
|
||||
"export": "Exportar",
|
||||
"useOffline": "Usar sem backups",
|
||||
"signInToBackup": "Entre para fazer backup de seus códigos",
|
||||
"singIn": "Iniciar sessão",
|
||||
"singIn": "Entrar",
|
||||
"sigInBackupReminder": "Por favor, exporte seus códigos para garantir que você tenha um backup do qual você possa restaurar.",
|
||||
"offlineModeWarning": "Você escolheu prosseguir sem backups. Por favor, faça backups manuais para ter certeza de que seus códigos estão seguros.",
|
||||
"showLargeIcons": "Mostrar ícones grandes",
|
||||
@@ -361,7 +361,7 @@
|
||||
"@androidBiometricNotRecognized": {
|
||||
"description": "Message to let the user know that authentication was failed. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
"androidBiometricSuccess": "Bem-sucedido",
|
||||
"androidBiometricSuccess": "Êxito",
|
||||
"@androidBiometricSuccess": {
|
||||
"description": "Message to let the user know that authentication was successful. It is used on Android side. Maximum 60 characters."
|
||||
},
|
||||
@@ -433,7 +433,7 @@
|
||||
"tag": "Etiqueta",
|
||||
"create": "Criar",
|
||||
"editTag": "Editar etiqueta",
|
||||
"deleteTagTitle": "Excluir etiqueta?",
|
||||
"deleteTagTitle": "Apagar etiqueta?",
|
||||
"deleteTagMessage": "Tem certeza de que deseja excluir esta etiqueta? Essa ação é irreversível.",
|
||||
"somethingWentWrongParsingCode": "Não foi possível analisar os códigos {x}.",
|
||||
"updateNotAvailable": "Atualização não está disponível"
|
||||
|
||||
2
mobile/lib/generated/intl/messages_en.dart
generated
2
mobile/lib/generated/intl/messages_en.dart
generated
@@ -936,7 +936,7 @@ class MessageLookup extends MessageLookupByLibrary {
|
||||
"memoryCount": m33,
|
||||
"merchandise": MessageLookupByLibrary.simpleMessage("Merchandise"),
|
||||
"mlIndexingDescription": MessageLookupByLibrary.simpleMessage(
|
||||
"Please note that ML indexing will result in a higher bandwidth and battery usage until all items are indexed."),
|
||||
"Please note that machine learning will result in a higher bandwidth and battery usage until all items are indexed."),
|
||||
"mobileWebDesktop":
|
||||
MessageLookupByLibrary.simpleMessage("Mobile, Web, Desktop"),
|
||||
"moderateStrength": MessageLookupByLibrary.simpleMessage("Moderate"),
|
||||
|
||||
4
mobile/lib/generated/l10n.dart
generated
4
mobile/lib/generated/l10n.dart
generated
@@ -2876,10 +2876,10 @@ class S {
|
||||
);
|
||||
}
|
||||
|
||||
/// `Please note that ML indexing will result in a higher bandwidth and battery usage until all items are indexed.`
|
||||
/// `Please note that machine learning will result in a higher bandwidth and battery usage until all items are indexed.`
|
||||
String get mlIndexingDescription {
|
||||
return Intl.message(
|
||||
'Please note that ML indexing will result in a higher bandwidth and battery usage until all items are indexed.',
|
||||
'Please note that machine learning will result in a higher bandwidth and battery usage until all items are indexed.',
|
||||
name: 'mlIndexingDescription',
|
||||
desc: '',
|
||||
args: [],
|
||||
|
||||
@@ -24,13 +24,13 @@
|
||||
"deleteRequestSLAText": "Sua solicitação será processada em até 72 horas.",
|
||||
"deleteEmailRequest": "Por favor, envie um e-mail para <warning>account-deletion@ente.io</warning> a partir do seu endereço de e-mail registrado.",
|
||||
"entePhotosPerm": "Ente <i>precisa de permissão para</i> preservar suas fotos",
|
||||
"ok": "Ok",
|
||||
"ok": "OK",
|
||||
"createAccount": "Criar uma conta",
|
||||
"createNewAccount": "Criar nova conta",
|
||||
"password": "Senha",
|
||||
"confirmPassword": "Confirme sua senha",
|
||||
"activeSessions": "Sessões ativas",
|
||||
"oops": "Ops",
|
||||
"oops": "Opa",
|
||||
"somethingWentWrongPleaseTryAgain": "Algo deu errado. Por favor, tente outra vez",
|
||||
"thisWillLogYouOutOfThisDevice": "Isso fará com que você saia deste dispositivo!",
|
||||
"thisWillLogYouOutOfTheFollowingDevice": "Isso fará com que você saia do seguinte dispositivo:",
|
||||
@@ -265,7 +265,7 @@
|
||||
"somethingWentWrong": "Algo deu errado",
|
||||
"sendInvite": "Enviar convite",
|
||||
"shareTextRecommendUsingEnte": "Baixe o Ente para que possamos compartilhar facilmente fotos e vídeos de qualidade original\n\nhttps://ente.io",
|
||||
"done": "Concluído",
|
||||
"done": "Pronto",
|
||||
"applyCodeTitle": "Aplicar código",
|
||||
"enterCodeDescription": "Digite o código fornecido pelo seu amigo para reivindicar o armazenamento gratuito para vocês dois",
|
||||
"apply": "Aplicar",
|
||||
@@ -409,7 +409,7 @@
|
||||
"manageDeviceStorage": "Gerenciar o armazenamento do dispositivo",
|
||||
"machineLearning": "Aprendizagem de máquina",
|
||||
"magicSearch": "Busca mágica",
|
||||
"magicSearchDescription": "Por favor, note que isso resultará em uma largura de banda maior e uso de bateria até que todos os itens sejam indexados.",
|
||||
"mlIndexingDescription": "Por favor, note que isso resultará em uma largura de banda maior e uso de bateria até que todos os itens sejam indexados.",
|
||||
"loadingModel": "Fazendo download de modelos...",
|
||||
"waitingForWifi": "Esperando por Wi-Fi...",
|
||||
"status": "Estado",
|
||||
@@ -948,7 +948,7 @@
|
||||
"someOfTheFilesYouAreTryingToDeleteAre": "Alguns dos arquivos que você está tentando excluir só estão disponíveis no seu dispositivo e não podem ser recuperados se forem excluídos",
|
||||
"theyWillBeDeletedFromAllAlbums": "Ele será excluído de todos os álbuns.",
|
||||
"someItemsAreInBothEnteAndYourDevice": "Alguns itens estão tanto no Ente quanto no seu dispositivo.",
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved": "Os itens selecionados serão excluídos de todos os álbuns e movidos para o lixo.",
|
||||
"selectedItemsWillBeDeletedFromAllAlbumsAndMoved": "Os itens selecionados serão excluídos de todos os álbuns e movidos para a lixeira.",
|
||||
"theseItemsWillBeDeletedFromYourDevice": "Estes itens serão excluídos do seu dispositivo.",
|
||||
"itLooksLikeSomethingWentWrongPleaseRetryAfterSome": "Parece que algo deu errado. Por favor, tente novamente mais tarde. Se o erro persistir, entre em contato com nossa equipe de suporte.",
|
||||
"error": "Erro",
|
||||
@@ -1102,7 +1102,7 @@
|
||||
"@iOSGoToSettingsDescription": {
|
||||
"description": "Message advising the user to go to the settings and configure Biometrics for their device. It shows in a dialog on iOS side."
|
||||
},
|
||||
"iOSOkButton": "Aceitar",
|
||||
"iOSOkButton": "Tudo bem",
|
||||
"@iOSOkButton": {
|
||||
"description": "Message showed on a button that the user can click to leave the current dialog. It is used on iOS side. Maximum 30 characters."
|
||||
},
|
||||
@@ -1233,8 +1233,7 @@
|
||||
"autoPair": "Pareamento automático",
|
||||
"pairWithPin": "Parear com PIN",
|
||||
"faceRecognition": "Reconhecimento facial",
|
||||
"faceRecognitionIndexingDescription": "Por favor, note que isso resultará em uma largura de banda maior e uso de bateria até que todos os itens sejam indexados.",
|
||||
"foundFaces": "Rostos encontrados",
|
||||
"clusteringProgress": "Progresso de agrupamento",
|
||||
"indexingIsPaused": "Indexing is paused, will automatically resume when device is ready"
|
||||
"indexingIsPaused": "A indexação está pausada, será retomada automaticamente quando o dispositivo estiver pronto."
|
||||
}
|
||||
@@ -409,7 +409,7 @@
|
||||
"manageDeviceStorage": "管理设备存储",
|
||||
"machineLearning": "机器学习",
|
||||
"magicSearch": "魔法搜索",
|
||||
"magicSearchDescription": "请注意,在所有项目完成索引之前,这将使用更高的带宽和电量。",
|
||||
"mlIndexingDescription": "请注意,机器学习将使用更高的带宽和更多的电量,直到所有项目都被索引为止。",
|
||||
"loadingModel": "正在下载模型...",
|
||||
"waitingForWifi": "正在等待 WiFi...",
|
||||
"status": "状态",
|
||||
@@ -569,7 +569,7 @@
|
||||
"freeTrialValidTill": "免费试用有效期至 {endDate}",
|
||||
"validTill": "有效期至 {endDate}",
|
||||
"addOnValidTill": "您的 {storageAmount} 插件有效期至 {endDate}",
|
||||
"playStoreFreeTrialValidTill": "免费试用有效期至 {endDate}。\n您可以随后购买付费计划。",
|
||||
"playStoreFreeTrialValidTill": "免费试用有效期至 {endDate}。\n在此之后您可以选择付费计划。",
|
||||
"subWillBeCancelledOn": "您的订阅将于 {endDate} 取消",
|
||||
"subscription": "订阅",
|
||||
"paymentDetails": "付款明细",
|
||||
@@ -987,7 +987,7 @@
|
||||
"fileTypesAndNames": "文件类型和名称",
|
||||
"location": "地理位置",
|
||||
"moments": "瞬间",
|
||||
"searchFaceEmptySection": "查找一个人的所有照片",
|
||||
"searchFaceEmptySection": "待索引完成后,人物将显示在此处",
|
||||
"searchDatesEmptySection": "按日期搜索,月份或年份",
|
||||
"searchLocationEmptySection": "在照片的一定半径内拍摄的几组照片",
|
||||
"searchPeopleEmptySection": "邀请他人,您将在此看到他们分享的所有照片",
|
||||
@@ -1171,6 +1171,7 @@
|
||||
}
|
||||
},
|
||||
"faces": "人脸",
|
||||
"people": "人物",
|
||||
"contents": "内容",
|
||||
"addNew": "新建",
|
||||
"@addNew": {
|
||||
@@ -1196,14 +1197,14 @@
|
||||
"verifyPasskey": "验证通行密钥",
|
||||
"playOnTv": "在电视上播放相册",
|
||||
"pair": "配对",
|
||||
"autoPair": "自动配对",
|
||||
"pairWithPin": "用 PIN 配对",
|
||||
"deviceNotFound": "未发现设备",
|
||||
"castInstruction": "在您要配对的设备上访问 cast.ente.io。\n输入下面的代码即可在电视上播放相册。",
|
||||
"deviceCodeHint": "输入代码",
|
||||
"joinDiscord": "加入 Discord",
|
||||
"locations": "位置",
|
||||
"descriptions": "描述",
|
||||
"addAName": "添加一个名称",
|
||||
"findPeopleByName": "按名称快速查找人物",
|
||||
"addViewers": "{count, plural, zero {添加查看者} one {添加查看者} other {添加查看者}}",
|
||||
"addCollaborators": "{count, plural, zero {添加协作者} one {添加协作者} other {添加协作者}}",
|
||||
"longPressAnEmailToVerifyEndToEndEncryption": "长按电子邮件以验证端到端加密。",
|
||||
@@ -1216,6 +1217,8 @@
|
||||
"customEndpoint": "已连接至 {endpoint}",
|
||||
"createCollaborativeLink": "创建协作链接",
|
||||
"search": "搜索",
|
||||
"enterPersonName": "输入人物名称",
|
||||
"removePersonLabel": "移除人物标签",
|
||||
"autoPairDesc": "自动配对仅适用于支持 Chromecast 的设备。",
|
||||
"manualPairDesc": "用 PIN 码配对适用于您希望在其上查看相册的任何屏幕。",
|
||||
"connectToDevice": "连接到设备",
|
||||
@@ -1227,9 +1230,10 @@
|
||||
"castIPMismatchTitle": "投放相册失败",
|
||||
"castIPMismatchBody": "请确保您的设备与电视处于同一网络。",
|
||||
"pairingComplete": "配对完成",
|
||||
"faceRecognition": "Face recognition",
|
||||
"faceRecognitionIndexingDescription": "Please note that this will result in a higher bandwidth and battery usage until all items are indexed.",
|
||||
"foundFaces": "Found faces",
|
||||
"clusteringProgress": "Clustering progress",
|
||||
"indexingIsPaused": "Indexing is paused, will automatically resume when device is ready"
|
||||
"autoPair": "自动配对",
|
||||
"pairWithPin": "用 PIN 配对",
|
||||
"faceRecognition": "人脸识别",
|
||||
"foundFaces": "已找到的人脸",
|
||||
"clusteringProgress": "聚类进展",
|
||||
"indexingIsPaused": "索引已暂停。当设备准备就绪时,它将自动恢复。"
|
||||
}
|
||||
@@ -91,7 +91,10 @@ class FaceMlService {
|
||||
bool isInitialized = false;
|
||||
late String client;
|
||||
|
||||
bool get showClusteringIsHappening => _showClusteringIsHappening;
|
||||
|
||||
bool debugIndexingDisabled = false;
|
||||
bool _showClusteringIsHappening = false;
|
||||
bool _mlControllerStatus = false;
|
||||
bool _isIndexingOrClusteringRunning = false;
|
||||
bool _shouldPauseIndexingAndClustering = false;
|
||||
@@ -572,6 +575,8 @@ class FaceMlService {
|
||||
await PersonService.instance.fetchRemoteClusterFeedback();
|
||||
|
||||
try {
|
||||
_showClusteringIsHappening = true;
|
||||
|
||||
// Get a sense of the total number of faces in the database
|
||||
final int totalFaces =
|
||||
await FaceMLDataDB.instance.getTotalFaceCount(minFaceScore: minFaceScore);
|
||||
@@ -605,7 +610,7 @@ class FaceMlService {
|
||||
await FaceMLDataDB.instance.getAllClusterSummary();
|
||||
|
||||
if (clusterInBuckets) {
|
||||
const int bucketSize = 20000;
|
||||
const int bucketSize = 10000;
|
||||
const int offsetIncrement = 7500;
|
||||
int offset = 0;
|
||||
int bucket = 1;
|
||||
@@ -711,6 +716,7 @@ class FaceMlService {
|
||||
} catch (e, s) {
|
||||
_logger.severe("`clusterAllImages` failed", e, s);
|
||||
} finally {
|
||||
_showClusteringIsHappening = false;
|
||||
_isIndexingOrClusteringRunning = false;
|
||||
_shouldPauseIndexingAndClustering = false;
|
||||
}
|
||||
@@ -1027,7 +1033,6 @@ class FaceMlService {
|
||||
s,
|
||||
);
|
||||
}
|
||||
// TODO: This is returning null for Pragadees for all files, so something is wrong here!
|
||||
}
|
||||
if (file == null) {
|
||||
_logger
|
||||
|
||||
@@ -513,14 +513,18 @@ class FaceRecognitionStatusWidgetState extends State<FaceRecognitionStatusWidget
|
||||
title: S.of(context).clusteringProgress,
|
||||
),
|
||||
trailingWidget: Text(
|
||||
"${clusteringPercentage.toStringAsFixed(0)}%",
|
||||
FaceMlService.instance.showClusteringIsHappening
|
||||
? "currently running"
|
||||
: "${clusteringPercentage.toStringAsFixed(0)}%",
|
||||
style: Theme.of(context).textTheme.bodySmall,
|
||||
),
|
||||
singleBorderRadius: 8,
|
||||
alignCaptionedTextToLeft: true,
|
||||
isGestureDetectorDisabled: true,
|
||||
key: ValueKey(
|
||||
"clustering_progress_" + clusteringPercentage.toStringAsFixed(0),
|
||||
FaceMlService.instance.showClusteringIsHappening
|
||||
? "currently running"
|
||||
: "clustering_progress_" + clusteringPercentage.toStringAsFixed(0),
|
||||
),
|
||||
),
|
||||
],
|
||||
|
||||
@@ -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.8.125+645
|
||||
version: 0.8.126+646
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
|
||||
Reference in New Issue
Block a user