1778 Commits

Author SHA1 Message Date
Min Idzelis
db0415bbcc
chore: undeclared versions/updates (#19649) 2025-06-30 23:23:41 -04:00
Daimolean
53020852ec
fix(web): modal race condition (#19625)
* fix(web): modal race condition

* fix: translation

* fix: translation
2025-06-30 14:33:47 -05:00
Jason Rasmussen
30b4f334d8
feat: upload manager (#19565) 2025-06-27 09:13:43 -04:00
Daimolean
4621ec5ea2
fix(web): load day group in asset viewer (#19523)
* fix(web): load day group in asset viewer

* fix: lint
2025-06-25 11:18:11 -05:00
Jason Rasmussen
ebcf133bea
fix(web): consistent merge people icons (#19473)
fix(web): consistent merge icons
2025-06-23 16:39:20 -04:00
Daimolean
ce14324c97
fix(web): oauth quota display (#19417)
* fix(web): oauth quota display

* fix(web): oauth quota display
2025-06-23 11:00:41 -04:00
Daimolean
6a309129b7
fix(web): timeline timezone (#19418) 2025-06-23 09:06:26 -05:00
Daniel Dietzler
ecc58a8971
chore: migrate version announcement modal (#19381) 2025-06-22 21:56:41 -05:00
Yaros
c705a7b280
fix(web): map broken after redirect from details (#19424)
* fix(web): map broken after redirect from details

* chore: use globalThis instead of window
2025-06-22 21:55:21 -05:00
Brandon Wees
ef278b4fb0
fix: storage template onboarding save (#19405)
* fix: storage template onboarding save

* no need for async/await
2025-06-22 21:54:29 -05:00
Daimolean
4cd633dc68
fix(web): download icon color (#19427) 2025-06-22 21:52:19 -05:00
Daimolean
90aa0dc14d
fix(web): map cluster (#19433) 2025-06-22 15:06:45 +00:00
Daniel Dietzler
698d3004b4
refactor: tag create/update modal (#19389)
refactor: tag modals
2025-06-21 12:28:21 +00:00
Daniel Dietzler
fe4d6edbdc
refactor: album picker modal (#19383)
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-06-21 08:18:54 -04:00
Daniel Dietzler
373b654156
chore: migrate profile picture cropper modal (#19378) 2025-06-20 18:16:10 +00:00
Daniel Dietzler
a5d84ba552
chore: consistent modal footer spacing (#19377) 2025-06-20 18:05:39 +00:00
Daniel Dietzler
1dc8fa2979
chore: rename edit album form modal (#19375) 2025-06-20 13:51:14 -04:00
Brandon Wees
1c50e19894
fix: use icons instead of toggles for admin user features view (#19369)
* fix: use icons instead of toggles for admin user features view

* fix: use red for X icon
2025-06-20 14:48:18 +00:00
Jason Rasmussen
dd8969cb7d
fix: container padding (#19316) 2025-06-19 21:33:12 -05:00
Jason Rasmussen
5cdbb65d28
feat: better contrast for checkmark indicator (#19312)
feat: better constrast
2025-06-19 13:20:57 -05:00
Alex
c8a135a7ae
fix: .find() iterator api combat (#19293)
* fix: .find() iterator api combar

* Update web/src/lib/managers/timeline-manager/month-group.svelte.ts

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

---------

Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
2025-06-19 14:59:14 +00:00
xCJPECKOVERx
08d1cf5bde
fix(web): Stack assets in asset-viewer cut off on the left (#19253)
* - move overflow and scrollbar to stack-slideshow inner div

* - format
2025-06-19 09:20:25 -05:00
Dag Stuan
38e68d16f9
fix(web): exit slideshow when exiting fullscreen. (#19247)
Exit slideshow when exiting fullscreen.

Browsers do not send a keyboard event when exiting fullscreen, so if
the user exits fullscreen with the escape key, the slideshow
remains open, requiring another escape key press to close it. Fix this
by listening for the fullscreenchange event and closing the slideshow
when exiting fullscreen.
2025-06-19 14:10:10 +00:00
Daniel Dietzler
caf11fbb96
fix: album asset viewer (#19252) 2025-06-19 09:09:23 -05:00
Paul Larsen
e29103b69f
fix album list CSS margins (#19262) 2025-06-19 14:03:14 +00:00
Daniel Dietzler
07aa51638c
fix: panning interrupted while moving around the map (#19276) 2025-06-19 11:28:53 +00:00
Daniel Dietzler
de81006367
fix: album share modal navigation (#19245) 2025-06-18 16:10:35 +00:00
Zack Pollard
4c69511225
revert: "feat(web): wasm justified layout" (#19226) 2025-06-17 16:01:40 +00:00
Mert
bc062da11b
feat(web): wasm justified layout (#19150)
* wasm justified layout

* fix tests

* redundant layout generation

* raw position
2025-06-17 09:20:14 -05:00
xCJPECKOVERx
8038ae1e7a
fix(web): Asset viewer stack thumbnails overflow on top of asset (#19088)
* - create constants for thet asset-viewer stack thumbnail sizes
- use 2x selected thumbnail size to set the max-height of the stack-slideshow container.

* - increase the stack-slideshow max-height as it's scrolled

* Revert "- increase the stack-slideshow max-height as it's scrolled"

This reverts commit da4614547acfb8853258071c1b192c8162b86424.

* change asset stack veritcal scroll to horizontal scroll
2025-06-17 09:19:30 -05:00
Dag Stuan
bd70824961
fix(web): more refactoring and tweaking of the memory viewer. (#19214)
* Fix fade in for video-native-viewer.

The previous implementation never actually faded in the video element.
Fix this by ensuring the video element is only added to the DOM after
mounting, so Svelte can handle the fade-in transition correctly.

* Refactor asset viewing in memory page.

Split photo and video viewing into separate components to ensure they
work similarly to the assets viewer. The previous implementation faded
out the assets, while the assets-viewer only fades assets in. For
images, add a spinner while waiting for the image to load, before adding
the image to the DOM. For videos, add the video to the DOM after
mounting the component. In both cases, the assets fade in smoothly, like
the regular assets viewer.

* fix: styling

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-17 14:09:34 +00:00
Zack Pollard
864fe3d0d6
fix: disable map fly animation when switching between assets (#19223) 2025-06-17 12:45:48 +01:00
Mert
5fc448bc97
chore(web): passive events (#19179) 2025-06-16 11:03:23 -04:00
Brandon Wees
32b57bcbfc
chore: remove warning on storage template onboarding (#19200)
chore: remove warning on storage template
2025-06-15 16:43:34 -05:00
Dag Stuan
189442e9c4
fix(web): small issues with the memory viewer. (#19184)
* Match fade transition timing between photo-viewer and memory-viewer.

* Fix blank page after refreshing memory page.

If the user refreshed in the browser while on the memory page, the page
would show a blank page. This was caused by skipping initialization in
afterNavigate. Fix by always initializing the memory page in
afterNavigate.
2025-06-15 10:04:33 -05:00
Daniel Dietzler
523fe5bef7
refactor: album options modal (#19177) 2025-06-14 18:10:33 -04:00
Daimolean
004c2f2496
fix(web): OAuth quota size (#18526)
fix(server): oauth quota size
2025-06-13 10:57:29 -04:00
Zack Pollard
e2dfbd66c3
ci: browser compatibility linting (#19132) 2025-06-13 10:54:59 -04:00
Jason Rasmussen
8923d5b0a3
refactor: css variables (#19146) 2025-06-12 23:06:38 +00:00
Jason Rasmussen
2f3d4e15d2
refactor: duplicate button controls (#19143) 2025-06-12 17:48:53 -04:00
Alex
144cc8ab6d
chore: custom impl for set.difference api (#19135) 2025-06-12 11:41:19 -05:00
Robin Brisa
0322a8b1d9
fix(web): properly update activityManager when browsing assets (#18909) 2025-06-12 12:13:35 +01:00
nosajthenitram
e5219f1f31
feat(web): Added admin user config to user settings (#15380)
* feat(web): Added admin user config to user settings

* feat (web) - cleaned up the files and added tests

* feat (web) - added missing files

* feat (web) - updated per review comments

* feat (web) - e2e admin command test failures
2025-06-12 02:11:13 +00:00
Daniel Dietzler
22eef5f3c5
chore: more flexible modal manager types (#19123)
* fix: required argument in onClose modal function

* chore: more flexible modal manager types
2025-06-11 22:32:49 +00:00
Daniel Dietzler
5179c5badf
fix: required argument in onClose modal function (#19122) 2025-06-11 18:25:36 -04:00
Daniel Dietzler
4c5cd14270
refactor: map modal (#19120) 2025-06-11 15:08:36 -04:00
Jason Rasmussen
38ad15af4c
refactor: user avatar (#19121) 2025-06-11 15:08:11 -04:00
Daniel Dietzler
7a001d27a5
refactor: email template preview modal (#19119) 2025-06-11 18:18:46 +00:00
Min Idzelis
4b4ee5abf3
refactor: timeline manager renames (#19007)
* refactor: timeline manager renames

* refactor(web): improve timeline manager naming consistency

- Rename AddContext → GroupInsertionCache for clearer purpose
- Rename TimelineDay → DayGroup for better clarity
- Rename TimelineMonth → MonthGroup for better clarity
- Replace all "bucket" references with "monthGroup" terminology
- Update all component props, method names, and variable references
- Maintain consistent naming patterns across TypeScript and Svelte files

* refactor(web): rename buckets to months in timeline manager

- Rename TimelineManager.buckets property to months
- Update all store.buckets references to store.months
- Use 'month' shorthand for monthGroup arguments (not method names)
- Update component templates and test files for consistency
- Maintain API-related 'bucket' terminology (bucketHeight, getTimeBucket)

* refactor(web): rename assetStore to timelineManager and update types

- Rename assetStore variables to timelineManager in all .svelte files
- Update parameter names in actions.ts and asset-utils.ts functions
- Rename AssetStoreLayoutOptions to TimelineManagerLayoutOptions
- Rename AssetStoreOptions to TimelineManagerOptions
- Move assets-store.spec.ts to timeline-manager.spec.ts

* refactor(web): rename intersectingAssets to viewerAssets and fix property references

- Rename intersectingAssets to viewerAssets in DayGroup and MonthGroup classes
- Update arrow function parameters to use viewerAsset/viewAsset shorthand
- Rename topIntersectingBucket to topIntersectingMonthGroup
- Fix dateGroups references to dayGroups in asset-utils.ts and album page
- Update template loops and variable names in Svelte components

* refactor(web): rename #initializeTimeBuckets to #initializeMonthGroups and bucketDateFormatted to monthGroupTitle

* refactor(web): rename monthGroupHeight to height

* refactor(web): rename bucketCount to assetsCount, bucketsIterator to monthGroupIterator, and related properties

* refactor(web): rename count to assetCount in TimelineManager

* refactor(web): rename LiteBucket to ScrubberMonth and update scrubber variables

- Rename LiteBucket type to ScrubberMonth
- Rename bucketDateFormattted to title in ScrubberMonth type
- Rename bucketPercentY to monthGroupPercentY in scrubber component
- Rename scrubBucket to scrubberMonth and scrubBucketPercent to scrubberMonthPercent

* fix remaining refs to bucket

* reset submodule to correct commit

* reset submodule to correct commit

* refactor(web): extract TimelineManager internals into separate modules

- Move search-related functions to internal/search-support.svelte.ts
- Extract websocket event handling into WebsocketSupport class
- Move utility functions (updateObject, isMismatched) to internal/utils.svelte.ts
- Update imports in tests to use new module structure

* refactor(web): extract intersection logic from TimelineManager

- Create intersection-support.svelte.ts with updateIntersection and calculateIntersecting functions
- Remove private intersection methods from TimelineManager
- Export findMonthGroupForAsset from search-support for reuse
- Update TimelineManager to use the extracted intersection functions

* refactor(web): rename a few methods in intersecting

* refactor(web): rename a few methods in intersecting

* refactor(web): extract layout logic from TimelineManager

- Create layout-support.svelte.ts with updateGeometry and layoutMonthGroup functions
- Remove private layout methods from TimelineManager
- Update TimelineManager to use the extracted layout functions
- Remove unused UpdateGeometryOptions import

* refactor(web): extract asset operations from TimelineManager

- Create operations-support.svelte.ts with addAssetsToMonthGroups and runAssetOperation functions
- Remove private asset operation methods from TimelineManager
- Update TimelineManager to use extracted operation functions with proper AssetOrder handling
- Rename getMonthGroupIndexByAssetId to getMonthGroupByAssetId for consistency
- Move utility functions from utils.svelte.ts to internal/utils.svelte.ts
- Fix method name references in asset-grid.svelte and tests

* refactor(web): extract loading logic from TimelineManager

- Create load-support.svelte.ts with loadFromTimeBuckets function
- Extract time bucket loading, album asset handling, and error logging
- Simplify TimelineManager's loadMonthGroup method to use extracted function

* refresh timeline after archive keyboard shortcut

* remove debugger

* rename

* Review comments - remove shadowed var

* reduce indents - early return

* review comment

* refactor: simplify asset filtering in addAssets method

Replace for loop with filter operation for better readability

* fix: bad merge

* refactor(web): simplify timeline layout algorithm

- Replace rowSpaceRemaining array with direct cumulative width tracking
- Invert logic from tracking remaining space to tracking used space
- Fix spelling: cummulative to cumulative
- Rename lastRowHeight to currentRowHeight for clarity
- Remove confusing lastRow variable and simplify final height calculation
- Add explanatory comments for clarity
- Rename loop variable assetGroup to dayGroup for consistency

* simplify assetsIterator usage

* merge/lint

---------

Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-06-10 09:30:13 -05:00
xCJPECKOVERx
16745e77d4
fix(web): Remove tag buttons in search and modal missing tooltip translations (#19087)
* - use translations for "remove tag" text on the search-tags-section and the AssetTagModal

* include new translations

* - fix i18n
2025-06-10 04:49:34 +00:00