[PR #573] [MERGED] Feature - Implemented virtual scroll on web #8675

Closed
opened 2026-02-05 13:51:21 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/immich-app/immich/pull/573
Author: @alextran1502
Created: 9/4/2022
Status: Merged
Merged: 9/4/2022
Merged by: @alextran1502

Base: mainHead: dev/smart-image-grid


📝 Commits (10+)

  • 6c8a1a4 calculate total estimated length of viewport
  • 94a62ee Added implementation note
  • 1217f56 Testing intersection observer
  • f793832 optimized scrolling by off loading unseen images
  • 0e52ec8 calculating segment height on scrollbar
  • c1249dd Render datetime segment
  • 4fbc168 Added hover with infor at the cursor
  • 27f51d4 Added scrollbar position
  • 7f52bb8 Merge branch 'main' of github.com:immich-app/immich into dev/scroll-like-google
  • 356eaff Merge branch 'main' of github.com:immich-app/immich into dev/scroll-like-google

📊 Changes

58 files changed (+2199 additions, -700 deletions)

View changed files

📝 README.md (+16 -14)
📝 mobile/openapi/.openapi-generator/FILES (+8 -6)
📝 mobile/openapi/README.md (+6 -4)
📝 mobile/openapi/doc/AssetApi.md (+56 -8)
mobile/openapi/doc/AssetCountByTimeBucket.md (+16 -0)
mobile/openapi/doc/AssetCountByTimeBucketResponseDto.md (+16 -0)
📝 mobile/openapi/doc/AssetCountByTimeGroupResponseDto.md (+2 -2)
mobile/openapi/doc/GetAssetByTimeBucketDto.md (+15 -0)
mobile/openapi/doc/GetAssetCountByTimeBucketDto.md (+15 -0)
mobile/openapi/doc/TimeBucketEnum.md (+14 -0)
📝 mobile/openapi/lib/api.dart (+4 -3)
📝 mobile/openapi/lib/api/asset_api.dart (+60 -10)
📝 mobile/openapi/lib/api_client.dart (+8 -6)
mobile/openapi/lib/model/asset_count_by_time_bucket.dart (+119 -0)
mobile/openapi/lib/model/asset_count_by_time_bucket_response_dto.dart (+119 -0)
📝 mobile/openapi/lib/model/asset_count_by_time_group_response_dto.dart (+15 -15)
mobile/openapi/lib/model/get_asset_by_time_bucket_dto.dart (+113 -0)
mobile/openapi/lib/model/get_asset_count_by_time_bucket_dto.dart (+111 -0)
mobile/openapi/lib/model/time_bucket_enum.dart (+85 -0)
mobile/openapi/test/asset_count_by_time_bucket_response_dto_test.dart (+32 -0)

...and 38 more files

📄 Description

This PR implemented a virtual scroll on the web, as seen in this article.

Building the Google Photos Web UI


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/immich-app/immich/pull/573 **Author:** [@alextran1502](https://github.com/alextran1502) **Created:** 9/4/2022 **Status:** ✅ Merged **Merged:** 9/4/2022 **Merged by:** [@alextran1502](https://github.com/alextran1502) **Base:** `main` ← **Head:** `dev/smart-image-grid` --- ### 📝 Commits (10+) - [`6c8a1a4`](https://github.com/immich-app/immich/commit/6c8a1a4c394b424db2440240c10839fd5632364e) calculate total estimated length of viewport - [`94a62ee`](https://github.com/immich-app/immich/commit/94a62ee5c1b466b7aa176dcca1a1a41bd82adbd9) Added implementation note - [`1217f56`](https://github.com/immich-app/immich/commit/1217f56d45ad1283cfad37b94eeddc36f7c6ea48) Testing intersection observer - [`f793832`](https://github.com/immich-app/immich/commit/f793832b7c621c44c79dad1b8809f4ff1862c62b) optimized scrolling by off loading unseen images - [`0e52ec8`](https://github.com/immich-app/immich/commit/0e52ec80d20ce826335ca7ec178c6f0600b98651) calculating segment height on scrollbar - [`c1249dd`](https://github.com/immich-app/immich/commit/c1249dd60da8294191ab65f94c7f7168254438f6) Render datetime segment - [`4fbc168`](https://github.com/immich-app/immich/commit/4fbc1688ca36e657c30af4d40b3a7a4f59312395) Added hover with infor at the cursor - [`27f51d4`](https://github.com/immich-app/immich/commit/27f51d454070bf6a05eb01d02c46abc423087c3d) Added scrollbar position - [`7f52bb8`](https://github.com/immich-app/immich/commit/7f52bb834160fa061d3eda7f14eb84f5b383fa1a) Merge branch 'main' of github.com:immich-app/immich into dev/scroll-like-google - [`356eaff`](https://github.com/immich-app/immich/commit/356eaff013ae7743ce0fb8f95f444b832d05b908) Merge branch 'main' of github.com:immich-app/immich into dev/scroll-like-google ### 📊 Changes **58 files changed** (+2199 additions, -700 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+16 -14) 📝 `mobile/openapi/.openapi-generator/FILES` (+8 -6) 📝 `mobile/openapi/README.md` (+6 -4) 📝 `mobile/openapi/doc/AssetApi.md` (+56 -8) ➕ `mobile/openapi/doc/AssetCountByTimeBucket.md` (+16 -0) ➕ `mobile/openapi/doc/AssetCountByTimeBucketResponseDto.md` (+16 -0) 📝 `mobile/openapi/doc/AssetCountByTimeGroupResponseDto.md` (+2 -2) ➕ `mobile/openapi/doc/GetAssetByTimeBucketDto.md` (+15 -0) ➕ `mobile/openapi/doc/GetAssetCountByTimeBucketDto.md` (+15 -0) ➕ `mobile/openapi/doc/TimeBucketEnum.md` (+14 -0) 📝 `mobile/openapi/lib/api.dart` (+4 -3) 📝 `mobile/openapi/lib/api/asset_api.dart` (+60 -10) 📝 `mobile/openapi/lib/api_client.dart` (+8 -6) ➕ `mobile/openapi/lib/model/asset_count_by_time_bucket.dart` (+119 -0) ➕ `mobile/openapi/lib/model/asset_count_by_time_bucket_response_dto.dart` (+119 -0) 📝 `mobile/openapi/lib/model/asset_count_by_time_group_response_dto.dart` (+15 -15) ➕ `mobile/openapi/lib/model/get_asset_by_time_bucket_dto.dart` (+113 -0) ➕ `mobile/openapi/lib/model/get_asset_count_by_time_bucket_dto.dart` (+111 -0) ➕ `mobile/openapi/lib/model/time_bucket_enum.dart` (+85 -0) ➕ `mobile/openapi/test/asset_count_by_time_bucket_response_dto_test.dart` (+32 -0) _...and 38 more files_ </details> ### 📄 Description This PR implemented a virtual scroll on the web, as seen in this article. [Building the Google Photos Web UI](https://medium.com/google-design/google-photos-45b714dfbed1) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 13:51:21 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#8675