* Squashed
* Change strategy - now pre-measure buckets offscreen, so don't need to worry about sub-bucket scroll preservation
* Reduce jank on scroll, delay DOM updates until after scroll
* css opt, log measure time
* Trickle out queue while scrolling, flush when stopped
* yay
* Cleanup cleanup...
* everybody...
* everywhere...
* Clean up cleanup!
* Everybody do their share
* CLEANUP!
* package-lock ?
* dynamic measure, todo
* Fix web test
* type lint
* fix e2e
* e2e test
* Better scrollbar
* Tuning, and more tunables
* Tunable tweaks, more tunables
* Scrollbar dots and viewport events
* lint
* Tweaked tunnables, use requestIdleCallback for garbage tasks, bug fixes
* New tunables, and don't update url by default
* Bug fixes
* Bug fix, with debug
* Fix flickr, fix graybox bug, reduced debug
* Refactor/cleanup
* Fix
* naming
* Final cleanup
* review comment
* Forgot to update this after naming change
* scrubber works, with debug
* cleanup
* Rename scrollbar to scrubber
* rename to
* left over rename and change to previous album bar
* bugfix addassets, comments
* missing destroy(), cleanup
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* feat: folder view poc
* fix(folder-view): ui modifications
* fix(folder-view): improves utility return types
* fix(folder-view): update getAssetsByOriginalPath
Endpoint now only returns direct children of the path instead of all images in all subfolders. Functions renamed and scoped to "folder", endpoints renamed
* fix(folder-view): improve typing
* fix(folder-view): replaces css with tailwind
* fix(folder-view): includes folders in main panel
* feat(folder-view): folder cache implementation
* fix(folder-view): can now search for absolute paths
* fix(folder-view): sets default sort to alphabetical by filename
* refactor/styling the browser view
* double click to navigate
* folder tree
* use correct side bar icon
* styling when selected
* correct open icon
* folder layout
* return assetReponseDto
* it's alive
* update new api
* more styling for folder tree
* use query params and path viewer
* use arrow up left for parent folder backward navigation
* use arrow up left for parent folder backward navigation
* encode URL
* handle long folder name
* refactor to the view controller
* remove unused code
* clear cache when logout
* cleaning up
* cleaning up web
* clean as new
* clean as new
* pr feedback + show asset name
* add tests
* add tests
* remove generated file
* lint
* revert docker-compose.dev file
* Update server/src/services/view.service.ts
Co-authored-by: Jason Rasmussen <jason@rasm.me>
* Update server/src/services/view.service.ts
Co-authored-by: Jason Rasmussen <jason@rasm.me>
---------
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
* refactor: stacks
* mobile: get it built
* chore: feedback
* fix: sync and duplicates
* mobile: remove old stack reference
* chore: add primary asset id
* revert change to asset entity
* mobile: refactor mobile api
* mobile: sync stack info after creating stack
* mobile: update timeline after deleting stack
* server: update asset updatedAt when stack is deleted
* mobile: simplify action
* mobile: rename to match dto property
* fix: web test
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* cropping, panel
* fix presets
* types
* prettier
* fix lint
* fix aspect ratio, performance optimization
* improved tool selection, removed placeholder
* fix the mouse's exit from canvas
* fix error
* the "save" button and change tracking
* lint, format
* the mini functionality of the save button
* fix aspect ratio
* hide editor button on mobiles
* strict equality
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
* Use the dollar sign syntax for stores inside components
* unobtrusive grid lines, circles at the corners
* more correct image load, handleError
* more strict equality
* fix styles. unused and tailwind
Co-Authored-By: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
* dont store isShowEditor
* if showEditor - hide navbar & shortcuts
* crop-canvas decomposition (danger)
I could have accidentally broken something.. but I checked the work and it seems ok.
* fix lint
* fix ts
* callback function as props
* correctly disabling shortcuts
* convenient canvas borders
• you can use the mouse to go beyond the boundaries and freely change the crop.
• the circles on the corners of the canvas are not cut off.
* -the editor button for video files, -save button
* hide editor btn if panoramic || gif || live
* corners instead of circles (preview), fix lint&format
* confirm close editor without save
* vertical aspect ratios
* recovery after merge. editor's closing shortcut
* fix format
* move from canvas to html elements
* fix changes detections
* rotation
* hide detail panel if showing editor
* fix aspect ratios near min size
* fix crop area when changing image size when rotate
* fix of fix
* better layout - grouping
https://github.com/user-attachments/assets/48f15172-9666-4588-acb6-3cb5eda873a8
* hide the button
* fix i18n, format
* hide button
* hide button v2
---------
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* feat: add privacy step in the onboarding
* fix: remove console.log
* feat:Details the implications of enabling the map on the settings page
Added a link to the guide on customizing map styles as well
* feat: add map implication
* refactor: onboarding style
* fix: tile provider
* fix: remove long explanations
* chore: cleanup
---------
Co-authored-by: pcouy <contact@pierre-couy.dev>
Co-authored-by: Jason Rasmussen <jason@rasm.me>
* Add Exif-Rating
* Integrate star rating as own component
* Add e2e tests for rating and validation
* Rename component and async handleChangeRating
* Display rating can be enabled in app settings
* Correct i18n reference
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
* Star rating: change from slider to buttons
* Star rating for clarity
* Design updates.
* Renaming and code optimization
* chore: clean up
* chore: e2e formatting
* light mode border and default value
---------
Co-authored-by: Christoph Suter <christoph@suter-burri.ch>
Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
* feat(web): Add stacking option to deduplication utilities
* Update web/src/lib/components/utilities-page/duplicates/duplicates-compare-control.svelte
Co-authored-by: Alex <alex.tran1502@gmail.com>
* Fix prettier
* Draft for server side modifications. Endpoint for stacks (PUT,DELETE)
* Fix error
* Disable stakc button if less or more than one asset selected
* Remove unnecesarry log
* Revert to first commit
* Further Revert
* Actually Revert to Origin
* Only one stack button
* Update +page.svelte
* Fix optional arguments
* Fix Prettier
* Fix Linting
* Add stack information to asset view
* clean up
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* Allow submission of null country
* Update searchAssetBuilder to handle nulls
andWhere({country:null}) produces `"exifInfo"."country" = NULL`. We want
`"exifInfo"."country" IS NULL`, so we have to treat NULL as a special
case
* Allow null country in frontend
* Make the query code a bit more straightforward
* Remove unused brackets import
* Remove log message
* Don't change whitespace for no reason
* Fix prettier style issue
* Update search.dto.ts validators per @jrasm91's recommendation
* Update api types
* Combine null country and state into one guard clause
* chore: clean up
* chore: add e2e for null/empty city, state, country search
* refactor: server returns suggestion for null values
* chore: clean up
---------
Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
Co-authored-by: Jason Rasmussen <jason@rasm.me>