feat(mobile): Added data saving mode#1242
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
|
Hello, this feature would fit better for an option of the admin's config interface for the following reasons.
|
|
I thought about this first, but did this on purpose. Doing this on the device has the following advantages:
|
|
I think if we added this feature, IMO it should be on the server side and not in the app, just like all the other processing we do. That said, I don't know how I feel about it - storage is really cheap these days, so I don't see the need to be too sparing with it, and with Immich being primarily a backup type tool I expect most people would want to keep their original files. |
|
I would echo @bo0tzz respond and and not going to merge in this feature as it is not the image we have for the direction. Thank you for your work and I suggest next time you can join Discord and raise a question about implementing a feature that impacts the application on both the client or the server heavily on the operations and architecture wise. Happy new year! |
|
Here's a guide I wrote for people who want to resize images: https://gist.github.com/JamesCullum/6604e504318dd326a507108f59ca7dcd |
|
Based on @JamesCullum 's gist, I successfully got a working Immich instance with transparent image Resize + Compression feature. I have put my effort on https://github.com/shukebeta/immich-settings-with-transparent-compression |
As a fellow Google Photos refugee, I would love to use Immich heavily. I mostly use it for memories that I watch from my phone, so I'd prefer to enable a voluntary resizing of my images, similiar to how Google Photos does it. This allows my hard drive to not be filled as quickly.
Instead of having a binary choice like in Google Photos, I thought it would be more future proof to give the user more fine-grained control and allow even smaller images.
For the resizing I had to use an external library. Due to a conflict with flutter_launcher_icons, we cannot use the newest version.
I first spent a day trying to make it work as part of an existing state struct, however this either required API changes, many code changes, didn't save the variable or it wasn't accessible to the background service. Hence I chose the most straightforward solution by just putting the data into a Box. If you would like to do this differently, support would be highly appreciated.