Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(server): database backups compatible with deduplication #13965

Merged
merged 1 commit into from
Nov 7, 2024

Conversation

Scrumplex
Copy link
Contributor

Description

gzip --rsyncable has a slightly worse compression ratio, but allows for efficient deduplication and, as the name implies, faster rsync operations.

How Has This Been Tested?

  • npm run test

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if applicable

gzip --rsyncable has a slightly worse compression ratio, but allows for
efficient deduplication and, as the name implies, faster rsync
operations.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Copy link
Contributor

@zackpollard zackpollard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had a think about this, in general handling specific scenarios like this isn't something we would want to do, but I think this will help more than just rsync. If someone runs further backups using another tool like restic of these dumps, then this should help the de-duplication algorithm in those tools too.

@zackpollard zackpollard enabled auto-merge (squash) November 7, 2024 12:25
@zackpollard zackpollard changed the title fix(server): generate rsyncable database backups fix(server): database backups compatible with deduplication Nov 7, 2024
@zackpollard zackpollard enabled auto-merge (squash) November 7, 2024 12:27
@zackpollard zackpollard merged commit 564449a into immich-app:main Nov 7, 2024
37 of 39 checks passed
@akostadinov
Copy link

Why not use zstd --rsyncable? Seems like a better and faster compression used by linux kernel nowadays.

@Hoempi
Copy link

Hoempi commented Nov 8, 2024

Had a think about this, in general handling specific scenarios like this isn't something we would want to do, but I think this will help more than just rsync. If someone runs further backups using another tool like restic of these dumps, then this should help the de-duplication algorithm in those tools too.

It if you take this in consideration you possibly should add an option to not zip at all. At least restic‘s built-in combination on deduplication and compression does an even better job. I assume it’s the same for other backup tools as well.

Source: restic/restic#3821

For me this is a reason to disable the built-in function and keep my own pgdump_all script.

And as a fellow developer I would also not add the option to disable the compression to the Immich server, as this is possibly an edge case and the adding of an option most likely will confuse most users.

@akostadinov
Copy link

most likely will confuse most users

I don't apprciate such kind of thinking. It's nice to have sensible defaults and smaller UI but there shouldn't be any issues for advanced options button to choose what you need. For theis particular case, probably not worth it though.

bdavis2-PCTY pushed a commit to bdavis2-PCTY/immich that referenced this pull request Nov 18, 2024
…pp#13965)

gzip --rsyncable has a slightly worse compression ratio, but allows for
efficient deduplication and, as the name implies, faster rsync
operations.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
bdavis2-PCTY added a commit to bdavis2-PCTY/immich that referenced this pull request Nov 18, 2024
* feat: track when assets are added to an album (immich-app#13725)

* refactor(server): telemetry env variables (immich-app#13705)

refactor(server)!: telemetry env variables

Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>

* refactor(server): database config (immich-app#13730)

* refactor(server): user create logic (immich-app#13728)

* fix: duplicated library scan jobs and api server library watch (immich-app#13734)

* chore(deps): update base-image to v20241025 (major) (immich-app#13736)

chore(deps): update base-image to v20241025

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: X years ago ordering (immich-app#13742)

* fix: order by fileCreatedAt to account for tz

* run make sql

* chore(ml): remove setuptools from dependencies (immich-app#13762)

* feat: github actions workflow to fix formatting (immich-app#13768)

* fix: Add DB_DATA_LOCATION config. (immich-app#13754)

Add DB_DATA_LOCATION config.

Posted [on reddit](https://www.reddit.com/r/unRAID/comments/1f8wq45/immich_install_via_docker_compose_database_cannot/).

* chore: version v1.119.0

* chore(mobile): post release task (immich-app#13779)

* feat(web): add job action to search page result (immich-app#13784)

* chore(deps): update dependency @types/node to ^20.17.0 (immich-app#13787)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update stumpylog/image-cleaner-action action to v0.9.0 (immich-app#13788)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* docs: note about Nginx reverse proxy compatibility with Let's Encrypt (immich-app#13764)

* Nginx reverse proxy compatibility with Let's Encrypt

* Update reverse-proxy.md

* Update reverse-proxy.md

Co-authored-by: bo0tzz <git@bo0tzz.me>

* Priority of = is higher

* Update reverse-proxy.md

---------

Co-authored-by: bo0tzz <git@bo0tzz.me>

* docs: Add info about album sync&folder view (immich-app#12371)

* Album Sync

* npm run format:fix

* fix path

* info about folder view

* Sync albums

* npm run format:fix

* Add information about limitations of a property that appears in multiple albums

* npm run format:fix

* - to ->

* Update docs/docs/features/mobile-app.mdx

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>

* Update docs/docs/features/mobile-app.mdx

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>

* chore: version v1.119.1

* fix(server): handle N/A duration response from ffprobe (immich-app#13803)

* chore(web): update translations (immich-app#13688)

Translate-URL: https://hosted.weblate.org/projects/immich/immich/ca/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/de/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/en_devel/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/es/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/et/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/fi/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/hr/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/id/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/it/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ko/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/lv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ms/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ro/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/ru/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sk/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Cyrl/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sr_Latn/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/sv/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/th/
Translate-URL: https://hosted.weblate.org/projects/immich/immich/uk/
Translation: Immich/immich

Co-authored-by: Amirul Asri <amirulasrix@gmail.com>
Co-authored-by: Dean Cvjetanović <forteee@gmail.com>
Co-authored-by: Diego Saint Esteben <diego@saintesteben.me>
Co-authored-by: Florian Ostertag <florian.kuepper@gmail.com>
Co-authored-by: Hexie <hexterjexter@gmail.com>
Co-authored-by: Indrek Haav <IndrekHaav@users.noreply.hosted.weblate.org>
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk>
Co-authored-by: Lab Forensic <recoverylabkor@gmail.com>
Co-authored-by: Leo Bottaro <github@leobottaro.com>
Co-authored-by: LeonardoCasarotto <leonardo.casar8@gmail.com>
Co-authored-by: Linerly <linerly@proton.me>
Co-authored-by: Max <mail@heavygale.de>
Co-authored-by: Michal Micech <michal.micech@gmail.com>
Co-authored-by: Miki Mrvos <medolino2009@gmail.com>
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com>
Co-authored-by: Napat Srichan <napatsrichan2001@gmail.com>
Co-authored-by: Roger Veciana Rovira <rveciana@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: qtm <qtm@users.noreply.hosted.weblate.org>
Co-authored-by: tux2000 <tux2k@web.de>
Co-authored-by: Вячеслав Лукьяненко <madeinchuguev@gmail.com>

* feat: mount checks on a folder level (immich-app#13801)

* fix: shutdown api process when another worker exits unexpectedly (immich-app#13802)

* refactor: better postgres connection param typing (immich-app#13800)

* fix(mobile): Revert thumbnail image ui improvements  (immich-app#13655) (immich-app#13806)

Revert "chore(mobile): thumbnail image ui improvements  (immich-app#13655)"

This reverts commit 16f2364.

* refactor(server): worker cleanup (immich-app#13805)

* feat(web): library settings crontab link includes existing expression (immich-app#13807)

* fix(server): keep system config transformations (immich-app#13796)

* chore(docs): add feature to readme (immich-app#13794)

* fix(mobile): thumbnail not filled area on tablet (immich-app#13808)

* feat(web): disable opening image and library sub-items by default (immich-app#13729)

Disable opening image and library sub-items by default

Disable both the Image Settings and the External Library sub-items by default. This aligns with auth other settings sub-items showing as collapsed by default.

* chore(server): telemetry env clean up (immich-app#13813)

* refactor(server): cls (immich-app#13814)

* refactor(server): env validation (immich-app#13817)

* chore(deps): update grafana/grafana docker tag to v11.3.0 (immich-app#13763)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update terraform cloudflare to v4.45.0 (immich-app#13820)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update base-image to v20241029 (major) (immich-app#13821)

chore(deps): update base-image to v20241029

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(web): scrubber label and animation (immich-app#13815)

* feat(web): scrubber label and animation

* tune x fly in distance

* refactor

* lint and minor fix

* fly height

* chore(docs): update german readme to latest version (immich-app#13824)

* chore(docs): update german readme to latest version

* formatting

* chore(deps): update node to v22 (major) (immich-app#13792)

* chore(deps): update node to v22

* fix: deprecated constructor

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>

* fix(deps): update machine-learning (immich-app#13786)

* refactor(server): remove unused on method (immich-app#13830)

* chore(deps): update typescript-projects (immich-app#13789)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(mobile): search page (immich-app#13833)

* fix(mobile): search page minor problems

* fix: flashing between search

* restore search size

* remove print statement

* linting

* fix(mobile): Reapply thumbnail image improvements and fix issue immich-app#13804 (immich-app#13835)

fix issue immich-app#13804

Co-authored-by: dvbthien <dvbthien@gmail.com>

* feat: built-in automatic database backups (immich-app#13773)

* chore(deps): update dependency @types/node to ^22.8.1 (immich-app#13854)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency node to v22 (immich-app#13855)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(mobile): not throwing error when cannot parse orientation value (immich-app#13853)

* fix(mobile): not throw when error in parsing the orientation

* fix(mobile): not throw when error in parsing the orientation

* linting

* chore: move library settings cron expression to setting select element (immich-app#13856)

* chore(docs): Add Immich Public Proxy to the Community Projects list (immich-app#13836)

Update community-projects.tsx

Add Immich Public Proxy to Community Projects

* refactor(server): job discovery (immich-app#13838)

refactor(server): job discorvery

* chore(deps): update flutter (immich-app#13455)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(mobile): update flutter_web_auth (immich-app#13863)

* feat(server): use tonemapx for software tone-mapping (immich-app#13785)

* fix(mobile): do not removed not backup asset when selecting the correspond options (immich-app#13256)

* fixed the local ids selecting issue

* code: updated impl inside deleteLocalOnlyAssets

* fix: used png instead of jpg to maintain picture quality

* Revert "fix: used png instead of jpg to maintain picture quality"

This reverts commit 04f2ed5.

* fix: update logic from code-review perspective

* refractor (mobile) : Dart fix applied

* fix (mobile) : Updated multi grid as per requirement

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>

* fix(server): wrong image dimensions for RAW files (RAF, CR2) (also fixes face preview) (immich-app#13377)

* refactor(server): immich worker (immich-app#13871)

refactor(server): immich work

* chore: svelte 5 🎉  (immich-app#13738)

chore: svelte 5

Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>

* feat: render asset path (immich-app#13873)

render asset path

* fix: healthcheck if custom host is set (immich-app#13887)

* fix(deps): update dependency exiftool-vendored to v28.7.0 (immich-app#13790)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix: remove duplicateIds on unique assets (immich-app#13752)

* fix(deps): update machine-learning (immich-app#13919)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update node (immich-app#13918)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency @types/node to ^22.8.5 (immich-app#13923)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* refactor(server): get worker (immich-app#13927)

* chore: better observability for geodata import (immich-app#13931)

* refactor: config init event for first config load (immich-app#13930)

* chore(mobile): upgrade gradle (immich-app#13901)

* chore(mobile): upgrade gradle

* update photo_manager

* migrate from kapt to ksp

pumps kotlin and other dependency version to fix build issues

* increase java heap size

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>

* chore(web): scrubber animation (immich-app#13936)

* chore(web): scrubber animation

* minor styling

* chore(deps): update dependency @types/node to ^22.8.6 (immich-app#13937)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update typescript-projects (immich-app#13922)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>

* chore(deps): update base-image to v20241105 (major) (immich-app#13826)

* docs: fail2ban community project (immich-app#13943)

fail2ban

* chore(mobile): translation update (immich-app#13942)

* chore(web): update translations (immich-app#13810)

Co-authored-by: Benjamin Freeman <b.t.freeman16@gmail.com>
Co-authored-by: Bezruchenko Simon <worcposj44@gmail.com>
Co-authored-by: Carl Dressler <cstmth@gmail.com>
Co-authored-by: Diego Saint Esteben <diego@saintesteben.me>
Co-authored-by: Dmitry Banny <dj.icecore@gmail.com>
Co-authored-by: Dragonslayer <chybzik@gmail.com>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Florian Ostertag <florian.kuepper@gmail.com>
Co-authored-by: Hurricane-32 <rodrigorimo@hotmail.com>
Co-authored-by: Indrek Haav <IndrekHaav@users.noreply.hosted.weblate.org>
Co-authored-by: Iwwww <mike.yolgin@gmail.com>
Co-authored-by: JBP <weblate@1peer1boom.nl>
Co-authored-by: Jonas Grubbauer <nicjontrickshots@gmail.com>
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk>
Co-authored-by: Kamil Warczek <kamilwarczek@gmail.com>
Co-authored-by: Kovács Ádám <kovaszftw@gmail.com>
Co-authored-by: Linerly <linerly@proton.me>
Co-authored-by: Mehmet Numan Çam <mncam051@gmail.com>
Co-authored-by: Miki Mrvos <medolino2009@gmail.com>
Co-authored-by: Polly Julien <julien.polly@laposte.net>
Co-authored-by: Rastislav Simcisko <21sd95@gmail.com>
Co-authored-by: Samet Güzeldemirci <s.g52@gmx.de>
Co-authored-by: Shawn <xiaxinx@gmail.com>
Co-authored-by: Stan P <g97d6liib@mozmail.com>
Co-authored-by: T.Nikolaou <tnikolaou@users.noreply.hosted.weblate.org>
Co-authored-by: TheGothian <github@dreamstate.nu>
Co-authored-by: fmis13 <fmis13@disroot.org>
Co-authored-by: pyccl <changcongliang@163.com>
Co-authored-by: qtm <qtm@users.noreply.hosted.weblate.org>
Co-authored-by: vytautas <immichtranslation.a03gn@simplelogin.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: xxzp3 <oliver@bastholm.dk>
Co-authored-by: Вячеслав Лукьяненко <madeinchuguev@gmail.com>
Co-authored-by: 李奕寯 <eugenelego88@gmail.com>

* chore: version v1.120.0

* fix: docker link (immich-app#13956)

* docs: improve custom-locations wording to be easier to read (immich-app#13849)

* Improve wording to make it easier to read custom-locations.md

It's only grammatical change

* Update docs/docs/guides/custom-locations.md

Co-authored-by: bo0tzz <git@bo0tzz.me>

* Update custom-locations.md

Revert to 'because of' and remove 'hard drive'

---------

Co-authored-by: bo0tzz <git@bo0tzz.me>

* docs: Added a note about avoiding redundant database backups (immich-app#13958)

* Add note about built-in backups

* npm run format:fix

* fix(server): cannot render email template (immich-app#13957)

* chore: tidy up backup-and-restore.md (immich-app#13961)

* docs: 50k stars (immich-app#13964)

* chore(mobile): post release task (immich-app#13954)

* docs: add backups to startup folders list (immich-app#13967)

Add the check of backups that is done on immich microservice of backups folder presence

* fix(server): allow starting backup through API and fix pg_dumpall args when using database URLs (immich-app#13970)

* fix(server): allow starting backup through API

* fix(server): fix pg_dumpall args when using database URLs

The database has to be specified using `-d`, unlike for pg_dump.

* fix(server): database backups compatible with deduplication (immich-app#13965)

gzip --rsyncable has a slightly worse compression ratio, but allows for
efficient deduplication and, as the name implies, faster rsync
operations.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>

* docs: update roadmap (immich-app#13984)

* fix(mobile): video player not playing in full size on Android (immich-app#13986)

* fix(web): time zone dependent test (immich-app#13859)

* chore: version v1.120.1

* chore(mobile): update isar build (immich-app#13987)

* refactor: remove smart info table (immich-app#13985)

* chore(mobile): post release tasks (immich-app#13989)

* refactor(server): cron repository (immich-app#13988)

* refactor(server): cron validation (immich-app#13990)

* chore: backups custom location and config file docs (immich-app#13996)

* fix(server): support non-default postgres port when taking a backup (immich-app#13992)

* fix(server): thumbnail rotation when using embedded previews (immich-app#13948)

* docs: make IGNORE_MOUNT_CHECK warning stronger (immich-app#14011)

* fix(web): use locale for scrubber label when scrolling (immich-app#14012)

* chore(docs): roadmap SEO (immich-app#14024)

* fix(mobile): make sure date locale is inititialized for some languages (immich-app#14035)

* feat(web): stable json settings export (immich-app#14036)

* recursively sort json output (settings)

* fix format/lint/...g

* chore(web): Update the new version announcement text (immich-app#14001)

* Update en.json

* Update en.json

* Update en.json

* docs: Fix DCM docs link (immich-app#14059)

Fix DCM docs link

* chore: add weblate requests (immich-app#14051)

* docs: clarify file size impact in hardware-transcoding.md (immich-app#14049)

* fix(server): attempt to delete failed backups immediately after failure (immich-app#13995)

* docs: backup folder name is backups (immich-app#14073)

* fix: config updates not applying for job and storage template service (immich-app#14074)

* chore(ml): replace fastapi-slim with fastapi (immich-app#14091)

The two have been identical since version 0.112.0:
fastapi/fastapi#11525 (comment)

* chore(deps): update node (immich-app#14090)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update base-image to v20241112 (major) (immich-app#14088)

chore(deps): update base-image to v20241112

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(server): use pg_dumpall version that matches the database version (immich-app#14083)

* fix(server): correct rotation for common files (immich-app#14092)

* fix(server): correct rotation for common files

* fix: test:

* pr feedback

* fix(server): backup version checks not handling database versions correctly (immich-app#14102)

* chore: version v1.120.2

* chore(mobile): post release tasks (immich-app#14105)

* chore(deps): update redis:6.2-alpine docker digest to 77c6e37 (immich-app#14098)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update docker.io/redis:6.2-alpine docker digest to 77c6e37 (immich-app#14097)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): bump ytanikin/PRConventionalCommits from 1.2.0 to 1.3.0 (immich-app#13051)

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): update prom/prometheus docker digest to 2659f4c (immich-app#13928)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* refactor(mobile): video controls (immich-app#14086)

* refactor video controls

* inline

* make mute icon const

* move placeholder to private widget

* adjust text width, move volume button slightly right

* chore(docs): encode db dump in UTF-8 without BOM for Windows (immich-app#13775)

* chore(deps): update docker.io/redis:6.2-alpine docker digest to eaba718 (immich-app#14113)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update redis:6.2-alpine docker digest to eaba718 (immich-app#14114)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(mobile): duration ui overflow (immich-app#14120)

* fix(mobile): duration ui overflow

* pr feedback

* feat: use dateTimeOriginal to calculate album date (immich-app#14119)

* docs: Update TrueNAS docs for TrueNAS SCALE 24.10 (immich-app#14067)

* initial-docs-update

* add-info-about-external-libraries

* fix(mobile): fix logout timeout (immich-app#14104)

* fix(mobile): add timeout to logout

* chore(mobile): refactor timeout durations

* feat(mobile): add loading state to logout button

* chore(mobile): format authentication.provider.dart

* chore: format

* chore: revert settings.json change

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>

* feat: add minimal devcontainer setup (immich-app#14038)

* add minimal devcontainer setup

* fix Makefile & update doc

* fix Makefile

* add warning regarding devcontainer + add newline at EOF

* feat(mobile): new video slider ui (immich-app#14126)

* fix(server): Some MTS videos fail to generate thumbnail (immich-app#14134)

* Stop skipping of all frames in MTS video

* Only skip flag for mts videos

* Fix lint checks

* Adds test

* Add comment for why flag is removed

* chore(web): migration svelte 5 syntax (immich-app#13883)

* fix(web): textarea autogrow height (immich-app#13983)

fix(web): remove album assetGridWidth & globalWidth

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>

* fix: Routing back button in sharedLinks page (immich-app#13703)

* fix: go back to last page from shared links page. Handle albums page from shared links page routing

* add default route for sharing

* chore: remove redundant import

* remove unnecessary comment

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>

* fix(web): ensure current asset index stays within bounds (immich-app#14013)

* fix(web): saving pasted coordinates (immich-app#14143)

* chore(web): move enum out of .svelte file (immich-app#14144)

* chore(web): clean up todo task

* chore(web): move enums out of .svelte file

* fix(web): update description height when navigating between assets (immich-app#14145)

* fix(web): allow selecting people after clearing search options (immich-app#14146)

* fix(mobile): Android local notification failes to invoke (immich-app#14155)

* fix(mobile): local notification failed to invoke

* add proguard rules

* feat(web): Added tag button to the context menu in the favorites page (immich-app#14156)

Added tag action to the context menu in the favorites page when selection is active

* chore(deps): update prom/prometheus docker digest to 3b9b2a1 (immich-app#14154)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(web): prevent infinite loop when modifying stacked asset (immich-app#14162)

* fix(cli): Concurrency not fully using queue potential (immich-app#11828)

* refactor(mobile): backup info box (immich-app#14171)

split up backup info box into separate widgets

* refactor(web): remove reactivity triggers (immich-app#14164)

* fix(web): don't refresh panorama viewer when modifying asset (immich-app#14163)

* feat: adding photo & video storage space to server stats (immich-app#14125)

* expose detailed user storage stats + display them in the storage per user table

* chore: openapi & sql

* fix: fix test stubs

* fix: formatting errors, e2e test and server test

* fix: upper lower case typo in spec file

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>

* docs: get asset owner by ID from database (immich-app#14174)

asset owner

* fix(mobile): unnecessary rebuilds from partner share notifier (immich-app#14170)

* fix unnecessary notifications

* move equality function

* sort by id

* use same comparison for initial and later queries

* fix: show tags when viewing stacked assets (immich-app#14199)

fix: refresh tags when viewing stacked assets

* chore(deps): pin mcr.microsoft.com/devcontainers/typescript-node docker tag to dc2c365 (immich-app#14124)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(mobile): use sets in album refresh, concurrent futures (immich-app#14193)

* use sets in album sync, concurrent futures

* batch excluded asset IDs

* update test

* take advantage of sets in Recents check

* move log statement

* smaller diff

* fix(mobile): Dismissible menus (immich-app#14192)

* chore(mobile): make all search filters dismissible

* chore(mobile): make ImmichAppBarDialog dismissible

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>

---------

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Zack Pollard <zackpollard@ymail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Darrel <39296145+darrelhong@users.noreply.github.com>
Co-authored-by: Robert Schütz <mail@dotlambda.de>
Co-authored-by: bo0tzz <git@bo0tzz.me>
Co-authored-by: Sweebah <mistri.boy@gmail.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Jevgeni Kiski <yozik04@gmail.com>
Co-authored-by: aviv926 <51673860+aviv926@users.noreply.github.com>
Co-authored-by: Weblate (bot) <hosted@weblate.org>
Co-authored-by: Amirul Asri <amirulasrix@gmail.com>
Co-authored-by: Dean Cvjetanović <forteee@gmail.com>
Co-authored-by: Diego Saint Esteben <diego@saintesteben.me>
Co-authored-by: Florian Ostertag <florian.kuepper@gmail.com>
Co-authored-by: Hexie <hexterjexter@gmail.com>
Co-authored-by: Indrek Haav <IndrekHaav@users.noreply.hosted.weblate.org>
Co-authored-by: Jiri Grönroos <jiri.gronroos@iki.fi>
Co-authored-by: Junghyuk Kwon <kwon@junghy.uk>
Co-authored-by: Lab Forensic <recoverylabkor@gmail.com>
Co-authored-by: Leo Bottaro <github@leobottaro.com>
Co-authored-by: LeonardoCasarotto <leonardo.casar8@gmail.com>
Co-authored-by: Linerly <linerly@proton.me>
Co-authored-by: Max <mail@heavygale.de>
Co-authored-by: Michal Micech <michal.micech@gmail.com>
Co-authored-by: Miki Mrvos <medolino2009@gmail.com>
Co-authored-by: Mārtiņš Bruņenieks <martinsb@gmail.com>
Co-authored-by: Napat Srichan <napatsrichan2001@gmail.com>
Co-authored-by: Roger Veciana Rovira <rveciana@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: qtm <qtm@users.noreply.hosted.weblate.org>
Co-authored-by: tux2000 <tux2k@web.de>
Co-authored-by: Вячеслав Лукьяненко <madeinchuguev@gmail.com>
Co-authored-by: Justin <5438593+ITestInProd@users.noreply.github.com>
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
Co-authored-by: Daniel Dietzler <mail@ddietzler.dev>
Co-authored-by: dvbthien <89862334+dvbthien@users.noreply.github.com>
Co-authored-by: dvbthien <dvbthien@gmail.com>
Co-authored-by: Alan Grainger <alan.grainger@gmail.com>
Co-authored-by: Yashraj Jain <yashrajjain726@gmail.com>
Co-authored-by: Carsten Otto <git@c-otto.de>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
Co-authored-by: cfitzw <20694057+cfitzw@users.noreply.github.com>
Co-authored-by: Pranay Pandey <79053599+Pranay-Pandey@users.noreply.github.com>
Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Matthew Momjian <50788000+mmomjian@users.noreply.github.com>
Co-authored-by: Benjamin Freeman <b.t.freeman16@gmail.com>
Co-authored-by: Bezruchenko Simon <worcposj44@gmail.com>
Co-authored-by: Carl Dressler <cstmth@gmail.com>
Co-authored-by: Dmitry Banny <dj.icecore@gmail.com>
Co-authored-by: Dragonslayer <chybzik@gmail.com>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Hurricane-32 <rodrigorimo@hotmail.com>
Co-authored-by: Iwwww <mike.yolgin@gmail.com>
Co-authored-by: JBP <weblate@1peer1boom.nl>
Co-authored-by: Jonas Grubbauer <nicjontrickshots@gmail.com>
Co-authored-by: Kamil Warczek <kamilwarczek@gmail.com>
Co-authored-by: Kovács Ádám <kovaszftw@gmail.com>
Co-authored-by: Mehmet Numan Çam <mncam051@gmail.com>
Co-authored-by: Polly Julien <julien.polly@laposte.net>
Co-authored-by: Rastislav Simcisko <21sd95@gmail.com>
Co-authored-by: Samet Güzeldemirci <s.g52@gmx.de>
Co-authored-by: Shawn <xiaxinx@gmail.com>
Co-authored-by: Stan P <g97d6liib@mozmail.com>
Co-authored-by: T.Nikolaou <tnikolaou@users.noreply.hosted.weblate.org>
Co-authored-by: TheGothian <github@dreamstate.nu>
Co-authored-by: fmis13 <fmis13@disroot.org>
Co-authored-by: pyccl <changcongliang@163.com>
Co-authored-by: vytautas <immichtranslation.a03gn@simplelogin.com>
Co-authored-by: waclaw66 <waclaw66@seznam.cz>
Co-authored-by: xxzp3 <oliver@bastholm.dk>
Co-authored-by: 李奕寯 <eugenelego88@gmail.com>
Co-authored-by: slamp <slaamp@gmail.com>
Co-authored-by: Thariq Shanavas <thariqshanavas@gmail.com>
Co-authored-by: yodatak <mryodatak@gmail.com>
Co-authored-by: Sefa Eyeoglu <contact@scrumplex.net>
Co-authored-by: Terry Zhao <zhao.terryy@gmail.com>
Co-authored-by: Ben <45583362+ben-basten@users.noreply.github.com>
Co-authored-by: mcarbonne <46689813+mcarbonne@users.noreply.github.com>
Co-authored-by: Snowknight26 <Snowknight26@users.noreply.github.com>
Co-authored-by: Joren Guillaume <guillaume.joren@gmail.com>
Co-authored-by: gamescom15 <10470023+gamescom15@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xuesong <amorphobia@users.noreply.github.com>
Co-authored-by: Pablo Molina <gitju@pablomolina.me>
Co-authored-by: Nicholas Flamy <30300649+NicholasFlamy@users.noreply.github.com>
Co-authored-by: John Stef <john@johnstef.com>
Co-authored-by: Lukas <lukas@lschaefer.xyz>
Co-authored-by: Đức <facoder2k2@gmail.com>
Co-authored-by: Ben <35833890+IMBeniamin@users.noreply.github.com>
Co-authored-by: Lena Tauchner <48085877+Tiefseetauchner@users.noreply.github.com>
Co-authored-by: weathondev <weathon.dev@gmail.com>
yosit pushed a commit to yosit/immich that referenced this pull request Nov 21, 2024
…pp#13965)

gzip --rsyncable has a slightly worse compression ratio, but allows for
efficient deduplication and, as the name implies, faster rsync
operations.

Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants