Min Idzelis
90c8fdba96
fix: thumbnail fade in ( #18935 )
2025-06-04 21:29:58 -05:00
Min Idzelis
e2ffc9d5a1
refactor: asset-store ( #18938 )
...
* refactor: asset-store
* Potential fix for code scanning alert no. 152: Prototype-polluting function
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-06-05 02:27:54 +00:00
xCJPECKOVERx
19ff39c2b9
feat(web): undo delete ( #18729 )
...
* feat(web): Undo asset delete
* - lints and checks
- Update English translation
* Update delete-assets.svelte
Make onUndoDelete optional in Props interface
* - Ensure undo button not available on permanent delete, or trash disabled.
- Enforce lint requirement for no-negated-condition
* Fix formatting
* fix: lint
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-06-04 15:46:07 +00:00
Daimolean
daf1bee7ac
fix(web): persisted store ( #18385 )
...
* fix(web): persisted store
* fix: translation
* fix: test
* fix: test
* revert i18n changes
* fix blank locale
2025-06-03 19:27:23 +00:00
Arno
b5c3a675b2
feat: upload assets to locked folder ( #18806 )
...
* feat: upload assets to locked folder
* chore: refactor params
2025-06-01 21:45:39 -05:00
Brandon Wees
78224961d1
feat(web): make google cast opt in ( #18514 )
...
* add setting switch
this isnt bound to anything yet
* make google casting opt-in
* doc updates
* lint docs
* remove unneeded translation items
* update mobile openai defs
* fix failing test
we need to mock user prefs since CastButton uses it
2025-05-28 15:57:36 -05:00
Min Idzelis
f029910dc7
feat: keyboard navigation to timeline ( #17798 )
...
* feat: improve focus
* feat: keyboard nav
* feat: improve focus
* typo
* test
* fix test
* lint
* bad merge
* lint
* inadvertent
* lint
* fix: flappy e2e test
* bad merge and fix tests
* use modulus in loop
* tests
* react to modal dialog refactor
* regression due to deferLayout
* Review comments
* Re-use change-date instead of new component
* bad merge
* Review comments
* rework moveFocus
* lint
* Fix outline
* use Date
* Finish up removing/reducing date parsing
* lint
* title
* strings
* Rework dates, rework earlier/later algorithm
* bad merge
* fix tests
* Fix race in scroll comp
* consolidate scroll methods
* Review comments
* console.log
* Edge cases in scroll compensation
* edge case, optimizations
* review comments
* lint
* lint
* More edge cases
* lint
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-05-28 08:55:14 -05:00
bo0tzz
369d3dfa38
fix: use single bulkTagAssets call instead of loop ( #18672 )
2025-05-27 10:35:22 +00:00
Brandon Wees
86db0aafe5
feat(web): add support for casting ( #18231 )
...
* recreate #13966
* gcast button works
* rewrote gcast-player to be GCastDestination and CastManager manages the interface between UI and casting destinations
* remove unneeded imports
* add "Connected to" translation
* Remove css for cast launcher
* fix tests
* fix doc tests
* fix the receiver application ID
* remove casting app ID
* remove cast button from nav bar
It is now present at the following locations:
- shared link album and single asset views
- asset viewer (normal user)
- album view (normal user)
* part 1 of fixes from @danieldietzler code review
* part 2 of code review changes from @danieldietzler and @jsram91
* cleanup documentation
* onVideoStarted missing callback
* add token expiry validation
* cleanup logic and logging
* small cleanup
* rename to ICastDestination
* cast button changes
2025-05-20 16:08:23 -05:00
Alex
bdf19ce331
fix: TimelineAsset visibility ( #18395 )
...
* fix: TimelineAsset visibility
* fix enum values
2025-05-20 15:53:34 +00:00
Min Idzelis
e7edbcdf04
feat(server): lighter buckets ( #17831 )
...
* feat(web): lighter timeline buckets
* GalleryViewer
* weird ssr
* Remove generics from AssetInteraction
* ensure keys on getAssetInfo, alt-text
* empty - trigger ci
* re-add alt-text
* test fix
* update tests
* tests
* missing import
* feat(server): lighter buckets
* fix: flappy e2e test
* lint
* revert settings
* unneeded cast
* fix after merge
* Adapt web client to consume new server response format
* test
* missing import
* lint
* Use nulls, make-sql
* openapi battle
* date->string
* tests
* tests
* lint/tests
* lint
* test
* push aggregation to query
* openapi
* stack as tuple
* openapi
* update references to description
* update alt text tests
* update sql
* update sql
* update timeline tests
* linting, fix expected response
* string tuple
* fix spec
* fix
* silly generator
* rename patch
* minimize sorting
* review
* lint
* lint
* sql
* test
* avoid abbreviations
* review comment - type safety in test
* merge conflicts
* lint
* lint/abbreviations
* remove unncessary code
* review comments
* sql
* re-add package-lock
* use booleans, fix visibility in openapi spec, less cursed controller
* update sql
* no need to use sql template
* array access actually doesn't seem to matter
* remove redundant code
* re-add sql decorator
* unused type
* remove null assertions
* bad merge
* Fix test
* shave
* extra clean shave
* use decorator for content type
* redundant types
* redundant comment
* update comment
* unnecessary res
---------
Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-05-19 16:40:48 -05:00
Min Idzelis
0bbe70e6a3
feat(web): lighter timeline buckets ( #17719 )
...
* feat(web): lighter timeline buckets
* GalleryViewer
* weird ssr
* Remove generics from AssetInteraction
* ensure keys on getAssetInfo, alt-text
* empty - trigger ci
* re-add alt-text
* test fix
* update tests
* tests
* missing import
* fix: flappy e2e test
* lint
* revert settings
* unneeded cast
* fix after merge
* missing import
* lint
* review
* lint
* avoid abbreviations
* review comment - type safety in test
* merge conflicts
* lint
* lint/abbreviations
* fix: left-over migration
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-05-18 02:57:08 +00:00
Jason Rasmussen
c046651f23
feat(web): continue after login ( #18302 )
2025-05-15 14:45:23 -04:00
Alex
b7b0b9b6d8
feat: locked/private view ( #18268 )
...
* feat: locked/private view
* feat: locked/private view
* pr feedback
* fix: redirect loop
* pr feedback
2025-05-15 15:35:21 +00:00
Jason Rasmussen
93ee6ee0a5
refactor: dialog controller ( #18235 )
2025-05-12 17:48:05 -04:00
luzpaz
b1e1362246
fix: various typos (grouped in to separate commits) ( #18177 )
2025-05-09 13:10:34 +00:00
Alex
d33ce13561
feat(server): visibility column ( #17939 )
...
* feat: private view
* pr feedback
* sql generation
* feat: visibility column
* fix: set visibility value as the same as the still part after unlinked live photos
* fix: test
* pr feedback
2025-05-06 12:12:48 -05:00
Min Idzelis
4b1ced439b
feat: improve/refactor focus handling ( #17796 )
...
* feat: improve focus
* test
* lint
* use modulus in loop
2025-04-30 00:19:38 -04:00
Jason Rasmussen
038a82c4f1
refactor: theme manager ( #17976 )
2025-04-29 17:44:09 -04:00
Jason Rasmussen
7f69abbf0d
refactor: app init event ( #17937 )
2025-04-28 14:48:33 -04:00
Jason Rasmussen
895b2bf5cd
refactor: download manager ( #17935 )
2025-04-28 14:21:24 -04:00
Min Idzelis
2fd05e8447
feat: preload and cancel images with a service worker ( #16893 )
...
* feat: Service Worker to preload/cancel images and other resources
* Remove caddy configuration, localhost is secure if port-forwarded
* fix e2e tests
* Cache/return the app.html for all web entry points
* Only handle preload/cancel
* fix e2e
* fix e2e
* e2e-2
* that'll do it
* format
* fix test
* lint
* refactor common code to conditionals
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-04-28 14:23:05 +00:00
Jason Rasmussen
e6c575c33e
feat: rtl ( #17860 )
2025-04-28 08:53:53 -05:00
Andreas Tollkötter
85ac0512a6
fix(web): Make date-time formatting follow locale ( #17899 )
...
* fixed missing $locale parameter to .toLocaleString
* Remove unused types and functions in timeline-util
* remove unused export
* re-enable export because it is needed for tests
* format
2025-04-28 08:53:26 -05:00
Jason Rasmussen
d0014bdf94
refactor: event manager ( #17862 )
...
* refactor: event manager
* refactor: event manager
2025-04-25 08:36:31 -04:00
Min Idzelis
5a51ad3622
fix: responsive: timeline glitch and keyboard-accessible scrubber ( #17556 )
...
* fix: responsive: timeline glitch
* lint
* fix margin-right on mobile
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-04-14 11:56:40 -05:00
Min Idzelis
1f18fe31f0
fix: occasional empty buckets, after canceled loads ( #17552 )
2025-04-13 07:50:24 -05:00
Ben
92f0973a46
fix(web): reset search history after logout ( #17534 )
...
fix(web): reset search suggestions after logout
2025-04-10 20:34:45 +00:00
Alex
6d3f3d8616
refactor: convert download manager into a state class ( #17491 )
...
* fix(web): download progress bar not functioning
* remove unused method
2025-04-10 16:48:21 +00:00
Rudhra Raveendran
9e49783e49
feat: use browser download manager for single file downloads ( #17507 )
...
* Fix download panel reactivity
* Directly download individual files without buffering in memory
* Fix shared link e2e download tests
2025-04-10 09:13:50 -05:00
Daniel Dietzler
a3c3f9cfcb
fix: reset memories on logout ( #17405 )
2025-04-05 13:09:56 -04:00
Daimolean
e4b0c00885
fix(web): select all button displays incorrectly ( #17305 )
...
* fix(web): select all show incorrectly
* fix: lint
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-04-01 19:00:48 +00:00
Alex
b5d5c40c69
fix(web): update stack state in timeline ( #17021 )
...
* fix(web): update stack state in timeline
* js docs
* fix: handle state update from unstack action from gallery viewer
* use navigate in View Stack notification
---------
Co-authored-by: Snowknight26 <Snowknight26@users.noreply.github.com>
2025-03-21 12:42:36 -05:00
Min Idzelis
9398b0d4b3
fix: regression in select-all ( #16969 )
...
* bug: select-all
* set->[] in interaction store, clear select-all on cancel
* feedback
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-03-19 15:55:50 +00:00
Min Idzelis
e96ffd43e7
feat: timeline performance ( #16446 )
...
* Squash - feature complete
* remove need to init assetstore
* More optimizations. No need to init. Fix tests
* lint
* add missing selector for e2e
* e2e selectors again
* Update: fully reactive store, some transitions, bugfixes
* merge fallout
* Test fallout
* safari quirk
* security
* lint
* lint
* Bug fixes
* lint/format
* accidental commit
* lock
* null check, more throttle
* revert long duration
* Fix intersection bounds
* Fix bugs in intersection calculation
* lint, tweak scrubber ui a tiny bit
* bugfix - deselecting asset doesnt work
* fix not loading bucket, scroll off-by-1 error, jsdoc, naming
2025-03-18 09:14:46 -05:00
Snowknight26
decc878267
feat(web): show full date when hovering over photos date groups ( #16561 )
...
* fix(web): Update asset grid date group titles to show full date
* Fix formatting
2025-03-11 11:18:29 +00:00
Min Idzelis
56b85f7479
fix(web): fix lost scrollpos on deep link to timeline asset, scrub stop ( #16305 )
...
* Work in progress - super quick asset store->state
* bugfix: deep linking to timeline, on scrub stop
* format, remove stale
* disable test, todo: fix test
* remove unused import
* Fix merge
* lint
* lint
* lint
* Default to non-wasm layout
* lint
* intobs fix
* fix rejected promise
* Review comments, static import wasm
* Back to dynamic
* try top-level-await
* back to the first solution, with more finesse
* comment out wasm for now
* back out the wasm/thumbhash/thumbnail changes
* lint
* Fully remove wasm
* lockfile
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-03-04 20:34:53 -06:00
Thomas Laroche
2510684bf7
fix(web): unable to download live photo as anonymous user ( #16455 )
2025-03-01 14:07:19 -06:00
Alex
bbcaee82f0
chore(web): revert wasm new justify layout ( #16277 )
...
* Revert "fix(web): justify layout import (#16267 ) "
This reverts commit ec58e1065f .
* Revert "fix(web): dynamically import wasm module (#16261 )"
This reverts commit 4376fd72b7 .
* Revert "feat(web): use wasm for justified layout calculation (#15524 )"
This reverts commit 3925445de8 .
* Revert "fix(web): viewport reactivity, off-screen thumbhashes being rendered (#15435 )"
This reverts commit 52f21fb331 .
2025-02-25 09:39:56 -06:00
Alex
6c64a6dab8
chore(web): Revert slight fade in animation when open/close asset-viewer ( #16262 ) ( #16306 )
...
Revert "feat(web): slight fade in animation when open/close asset-viewer (#16262 )"
This reverts commit 57829cee26 .
2025-02-25 09:27:34 -06:00
Alex
57829cee26
feat(web): slight fade in animation when open/close asset-viewer ( #16262 )
2025-02-24 16:38:07 -06:00
Yamagishi Kazutoshi
4be2351d21
fix(web): use anonymous function in setTimeout in ponyfill of requestIdelCallback ( #16264 )
2025-02-24 16:37:58 -06:00
Mert
4376fd72b7
fix(web): dynamically import wasm module ( #16261 )
...
* dynamically import wasm module
* remove unused import
2025-02-22 12:16:06 -06:00
Jason Rasmussen
d350022dec
feat: persistent memories ( #15953 )
...
feat: memories
refactor
chore: use heart as favorite icon
fix: linting
2025-02-21 12:31:37 -06:00
Mert
3925445de8
feat(web): use wasm for justified layout calculation ( #15524 )
...
* working
* use wrapper class
* update import
* simplify
* it works without changing `optimizeDeps`
* inline layout options
* update gallery view
* use es2022
* fix import
* fix vitest
* empty geometry
* bump version
* Update web/src/lib/stores/assets.store.ts
Co-authored-by: Jason Rasmussen <jason@rasm.me>
* fix: typo
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2025-02-21 09:20:25 +00:00
Mert
52f21fb331
fix(web): viewport reactivity, off-screen thumbhashes being rendered ( #15435 )
...
* viewport optimizations
* fade in
* async bitmap
* fast path for smaller date groups
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-02-20 22:38:12 -06:00
Krassimir Valev
6aad9fae8e
feat(web): revamp places ( #12219 )
...
* revamp places
* add english translations
* migrate places page and components to svelte 5
* fix lint
* chore: cleanup
---------
Co-authored-by: Jason Rasmussen <jason@rasm.me>
2025-02-06 20:54:01 +00:00
Jason Rasmussen
c016b65ef2
fix(web): shared link date range ( #15802 )
2025-01-30 18:36:45 -05:00
RiggiG
92dff839d0
fix(web): do not throw error when hash fails ( #15740 )
...
change: do not throw error when hash fails
2025-01-28 03:54:56 +00:00
Jin Xuan
abf5b0afe1
fix(web): mismatched deviceAssetId when uploading images ( #15130 )
...
Co-authored-by: Alex <alex.tran1502@gmail.com>
2025-01-12 04:28:39 +00:00