Ashil 343108d470 [mob][photos] Use queue for more efficient fetching of local thumbnails (#5591)
## Description

Use a task queue to manage local thumbnail requests with cancellation,
priority and timeout functionality.
This significantly improves the browsing experience of galleries with a
large number of local thumbnails. Previously, scrolling down deep into a
device folder would cause the thumbnails to take a long time to load.
Now, the loading speed has improved considerably.

A `maxQueueSize` of 200 for `smallLocalThumbnailQueue` should be
appropriate, as the maximum number of mounted `Thumbnailwidget`s is 186
when using a gallery grid size of 6 on a decently sized phone screen
(the screen length is the relevant factor here). With a grid size of 6,
the maximum number of mounted ThumbnailWidgets should be around 186 ± 12
for most phone screens.

Note: Thumbnails for HEIC images on android still take some time to
load. There is improvement, but not enough for seamless UX.

## Tests

Manually tested gallery scroll performance checks and if thumbnails load
as expected.
2025-04-11 13:55:37 +05:30
2025-04-09 08:43:52 +05:30
2024-03-01 13:01:41 +05:30
2025-03-29 16:38:28 +05:30
2025-03-30 14:20:20 -04:00
2025-04-09 11:16:35 +05:30
2025-03-03 12:05:47 +05:30
2025-04-09 11:32:32 +05:30
2025-04-11 13:04:52 +05:30
2024-05-18 21:23:47 +05:30
2024-03-01 13:01:41 +05:30
2024-11-29 08:15:58 +05:30
2024-03-01 13:01:41 +05:30
2025-04-03 17:29:42 +05:30
2024-06-11 08:51:09 +05:30
2024-03-08 16:24:37 +05:30

Fully open source end-to-end encrypted photos, authenticators and more.

Ente

Ente is a service that provides a fully open source, end-to-end encrypted platform for you to store your data in the cloud without needing to trust the service provider. On top of this platform, we have built two apps so far: Ente Photos (an alternative to Apple and Google Photos) and Ente Auth (a 2FA alternative to the deprecated Authy).

This monorepo contains all our source code - the client apps (iOS / Android / F-Droid / Web / Linux / macOS / Windows) for both the products (and more planned future ones!), and the server that powers them.

Our source code and cryptography have been externally audited by Cure53 (a German cybersecurity firm, arguably the world's best), Symbolic Software (French cryptography experts) and Fallible (an Indian penetration testing firm).

Learn more at ente.io.


Ente Photos

Screenshots of Ente Photos

Our flagship product. 3x data replication. Face detection. Semantic search. Private sharing. Collaborative albums. Family plans. Easy import, easier export. Background uploads. The list goes on. And of course, all of this, while being fully end-to-end encrypted across platforms.

Ente Photos is a paid service, but we offer 10GB of free storage. You can also clone this repository and choose to self-host.



Ente Auth

Screenshots of Ente Photos

Our labour of love. Two years ago, while building Ente Photos, we realized that there was no open source end-to-end encrypted authenticator app. We already had the building blocks, so we built one.

Ente Auth is free, and will remain free forever. If you like the service and want to give back, please check out Ente Photos or spread the word.



Contributing

Want to get aboard the Ente hype train? Welcome along! Don't hesitate if you're not a developer, there are many other important ways in which you can contribute.

Support

We are never more than an email away. For the various ways to ask for help, please see our support guide.

Community

Ente's Mascot, Ducky,
inviting people to Ente's source code repository

Please visit the community section for all the ways to connect with our community.

Discord Ente's Blog RSS

Twitter   Mastodon


Security

If you believe you have found a security vulnerability, please responsibly disclose it by emailing security@ente.io or using this link instead of opening a public issue. We will investigate all legitimate reports. To know more, please see our security policy.

Description
🔒 End-to-end encrypted cloud for photos, videos and 2FA secrets.
Readme AGPL-3.0 609 MiB
Languages
Dart 59.6%
TypeScript 22.1%
Go 9.9%
Swift 2.3%
Rust 1.6%
Other 4.4%