Compare commits

...

3152 Commits

Author SHA1 Message Date
Jonas Letzbor 4ddcf2c143
Add remote transcoding support 2024-03-01 23:27:03 +01:00
Nextcloud bot 3944499365
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-27 02:19:05 +00:00
Nextcloud bot 55ba434019
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-25 02:20:32 +00:00
Nextcloud bot c7751b87e1
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-21 02:17:16 +00:00
Nextcloud bot c475ac7196
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-17 02:26:52 +00:00
Nextcloud bot 8899fdcb34
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-16 02:19:07 +00:00
Nextcloud bot f402aac015
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-14 02:18:53 +00:00
Nextcloud bot 9769afae38
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-11 02:19:42 +00:00
Nextcloud bot 55094b7865
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-04 02:21:21 +00:00
Nextcloud bot 1266b7e559
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-03 02:18:34 +00:00
Nextcloud bot a5a072e836
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-02-01 02:19:50 +00:00
Nextcloud bot 6d785e30fc
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-25 02:17:26 +00:00
Nextcloud bot b044cc2cba
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-21 02:36:50 +00:00
Varun Patil 70b5b83968 Merge branch 'master' of https://github.com/pulsejet/memories 2024-01-20 10:44:05 -08:00
Varun Patil d909eb198f places: fix fileId type (fix #1008)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-20 10:44:04 -08:00
Nextcloud bot 28469f19c3
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-20 02:22:37 +00:00
Varun Patil ecc05f5d2b timeline: improve RAW stacking (#1006)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-19 09:39:38 -08:00
Varun Patil 4bb1f94f35 timeline: handle stacking Pixel 8 Pro RAW stack (fix #1006)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-19 09:33:22 -08:00
Varun Patil 198eb620a0 Merge branch 'master' of https://github.com/pulsejet/memories 2024-01-19 09:23:10 -08:00
Varun Patil e6760c7452 lp: fix support for Ultra HDR motion photos
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-19 09:23:08 -08:00
Nextcloud bot a98b5ceb5d
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-15 02:14:56 +00:00
Nextcloud bot 1e43553eed
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-14 02:18:15 +00:00
Varun Patil 6c9fd552e4 dialog: prevent closing underlying modal
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-10 17:09:53 -08:00
Varun Patil 213a3d3778 edit-meta: refactor datecheck
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-10 16:32:02 -08:00
Varun Patil 37881b36b4 face-edit: fix back button (fix #994)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-10 15:53:07 -08:00
Varun Patil 032397384b v6.2.2 2024-01-10 15:43:01 -08:00
Varun Patil 3addbaeb72 edit-meta: add null check
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-10 15:42:38 -08:00
Varun Patil ea540e1434 edit-meta: remove undef orientation
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-10 15:41:38 -08:00
Varun Patil 3ab5c21970 v6.2.1 2024-01-10 15:24:48 -08:00
Varun Patil 9150e13fa9 dav: fix bug in pipeline
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-10 15:23:35 -08:00
Varun Patil 921345523e edit-meta: skip undefined EXIF
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-10 14:59:20 -08:00
Varun Patil b94275030f v6.2.0 2024-01-09 20:05:06 -08:00
Varun Patil 1c68967454 Update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-09 20:04:38 -08:00
Varun Patil 0604ee1d14 days: use basename as tie-breaker (#985)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-09 19:55:12 -08:00
Nextcloud bot a071cdbc13
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-08 02:19:54 +00:00
Nextcloud bot 321f387d3f
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-07 02:21:57 +00:00
Varun Patil ca90d0c8d7 docs: add another collation solution (#951)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-05 09:10:06 -08:00
Varun Patil a8a3efd21c config: copy missing from default (fix #971)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-05 09:02:29 -08:00
Varun Patil a8aa090be1 takeout: bump migrator version
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-05 08:19:30 -08:00
Varun Patil a1ee15d288 takeout: include tz (fix #977)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-05 08:18:35 -08:00
Varun Patil 4aaf6c32a2 places-setup: make transaction size configurable (fix #943)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-05 07:59:22 -08:00
Varun Patil 0e42e55333 chore: bump max to 28 (fix #961)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2024-01-05 07:50:02 -08:00
Varun Patil 021b297f0c
Merge pull request #979 from fz72/master
Create metadata for F-Droid repository
2024-01-05 07:44:31 -08:00
Nextcloud bot 79ab5cabc2
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-05 02:22:21 +00:00
Nextcloud bot 4d8174d5e5
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-04 02:20:00 +00:00
Nextcloud bot 301ad38a2a
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-02 02:15:37 +00:00
Nextcloud bot 23ac929048
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2024-01-01 02:17:55 +00:00
Nextcloud bot 23e1696383
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-31 02:18:35 +00:00
fz72 e6b3b68b99
Rename metadata/en-US/images/screenshot.jpg to metadata/en-US/images/phoneScreenshots/screenshot.jpg 2023-12-30 15:41:51 +00:00
fz72 5d213bdc3b
Add files via upload 2023-12-30 15:41:12 +00:00
fz72 69adef214e
Rename metadata/en-US/icon.png to metadata/en-US/images/icon.png 2023-12-30 15:38:57 +00:00
fz72 c4d727070e
Add files via upload 2023-12-30 15:38:10 +00:00
fz72 f1405b5011
Create full_description.txt 2023-12-30 15:36:08 +00:00
fz72 301e34e0f0
Create short_description.txt 2023-12-30 15:34:25 +00:00
fz72 80565b737a
Create title.txt 2023-12-30 15:33:40 +00:00
fz72 b48ec4337b
add Metadata for F-Droid 2023-12-30 15:32:09 +00:00
Nextcloud bot 44d934d980
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-30 02:25:26 +00:00
Nextcloud bot cd289cf054
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-29 02:16:14 +00:00
Nextcloud bot a856a9d03f
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-28 02:17:54 +00:00
Nextcloud bot a63cedf228
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-27 02:17:04 +00:00
Nextcloud bot 10e481f393
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-26 02:18:25 +00:00
Nextcloud bot c8689351e7
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-25 02:18:51 +00:00
Nextcloud bot a56d3ec1bf
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-24 02:25:00 +00:00
Nextcloud bot c84697d6bb
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-23 02:20:29 +00:00
Nextcloud bot f5627da488
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-20 02:13:57 +00:00
Nextcloud bot 3d147ff29e
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-19 02:15:09 +00:00
Nextcloud bot 7e6ef7a5a9
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-16 02:14:50 +00:00
Nextcloud bot 261d89a501
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-15 02:14:23 +00:00
Nextcloud bot ebd57fe0e6
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-13 02:16:39 +00:00
Nextcloud bot 40fc8299d3
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-12 02:14:59 +00:00
Nextcloud bot 8617c5e32f
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-11 02:20:03 +00:00
Varun Patil ed8e1e4517 Merge branch 'master' of https://github.com/pulsejet/memories 2023-12-09 22:58:10 -08:00
Varun Patil 62a62b453b ios: fix inset padding (fix #957)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-12-09 22:58:06 -08:00
Varun Patil 3165beaacb viewer: fix download of lp video
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-12-09 21:30:07 -08:00
Nextcloud bot 903c96749b
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-08 02:14:57 +00:00
Varun Patil 7b603cd095 ci: always run both static analysis steps 2023-12-02 21:58:28 -08:00
Varun Patil c1a556f235 face: fix back button on merge (fix #949)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-12-02 21:12:24 -08:00
Varun Patil ee0a52d305 Merge branch 'master' of https://github.com/pulsejet/memories 2023-12-02 21:08:59 -08:00
Varun Patil 6b9d5a4566 cluster: fix cursor
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-12-02 21:08:56 -08:00
Nextcloud bot 5bf02246d2
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-03 02:19:21 +00:00
Varun Patil c2958f8127 Merge branch 'master' of https://github.com/pulsejet/memories 2023-12-02 11:27:11 -08:00
Varun Patil ac9ce852bb places: add explicit convert to utf-8 2023-12-02 11:27:08 -08:00
Nextcloud bot db45091379
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-12-01 02:15:04 +00:00
Varun Patil b30786ca0c chore: deps
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-29 12:14:30 -08:00
Varun Patil ec95c4720e face-top: make rename util
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-28 20:42:47 -08:00
Varun Patil 5f138698e0 album: fix route after name edit
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-28 20:25:50 -08:00
Varun Patil 75d82bf2d2 Bump node version
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-27 16:10:07 -08:00
Varun Patil 8c0f3dc8a2 sel: allow both directions for multi-select (fix #893)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-26 20:24:59 -08:00
Varun Patil e69cee9dd4 frame: prevent infinite lp spinner
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-26 19:14:58 -08:00
Varun Patil 2e70655c31 sel: always select clicked photo
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-26 19:10:37 -08:00
Varun Patil 366c6dc5e2 sel: refactor backtracking
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-26 18:51:59 -08:00
Varun Patil 0250b27bdf docs: imporve docstring
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-26 18:18:38 -08:00
Varun Patil 312c98bd70 Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-26 18:12:36 -08:00
Varun Patil 1ea70750bf face: adjust top matter rename size
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-26 18:12:31 -08:00
Nextcloud bot 1c8fed779d
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-26 02:21:09 +00:00
Varun Patil 40bcc0e09a v6.1.5 2023-11-25 13:20:11 -08:00
Varun Patil 764505b039 sw: restore origin check
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-25 13:19:29 -08:00
Varun Patil 81c8fc3049 v6.1.4
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-25 12:42:02 -08:00
Varun Patil 7c94a4efcc sw: fix static path
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-25 12:41:22 -08:00
Varun Patil a4ae2c800f v6.1.3 2023-11-25 12:11:43 -08:00
Varun Patil 37b932196f sw: exclude maps
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-25 12:10:59 -08:00
Varun Patil 012d6981de v6.1.2
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-25 12:03:48 -08:00
Varun Patil bcca24c5c6 Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-25 11:54:42 -08:00
Varun Patil ab24efbeda other: fix error message
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-25 11:54:31 -08:00
Varun Patil 7b4ad788aa sw: improve strategy
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-25 11:53:34 -08:00
Varun Patil 1971c5e3ce app: re-enable sw on localhost
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-25 11:13:25 -08:00
Varun Patil 14702f7669 sw: await update call
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-25 11:02:50 -08:00
Varun Patil eaba80a73b other: do not block sw
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-25 10:57:03 -08:00
Nextcloud bot 7d093893a3
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-25 02:29:13 +00:00
Varun Patil 5c4a1342e4 docs: add play link at bottom
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 17:10:06 -08:00
Varun Patil 13721398da docs: add discourse link
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 17:07:59 -08:00
Varun Patil 657dae8bac docs: link back to github
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 17:02:05 -08:00
Varun Patil 07965536c2 docs: add edit link
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 16:59:48 -08:00
Varun Patil c832862610 docs: add site url
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 16:56:50 -08:00
Varun Patil 60573a4026 docs: update GH release link for android
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 16:55:00 -08:00
Varun Patil 72aea77927 v6.1.1
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 16:32:06 -08:00
Varun Patil 04ac501477 deps: prevent weird transitive dep usage
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 16:22:54 -08:00
Varun Patil ff912a6bee tw: do not attempt to index zero-byte files (close #933)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 15:06:16 -08:00
Varun Patil eb784ef8ab occ: improve index output
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 14:50:15 -08:00
Varun Patil e5e35ce357 refactor: non-null filters
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 14:16:50 -08:00
Varun Patil 07a20fb454 refactor: truthy filter
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 14:06:38 -08:00
Varun Patil f2f6899d53 dav: improve de-duplication for extend
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 14:01:17 -08:00
Varun Patil 9bc77aeb89 dav: use pipeline for extendWithStack
Related #903

Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 13:56:00 -08:00
Varun Patil 294feef80b exif: write in-place
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 13:18:47 -08:00
Varun Patil 75f7c969de sw: exclude licenses from precache
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 09:32:18 -08:00
Varun Patil 98740af645 Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-24 08:58:25 -08:00
Varun Patil 427d8ce920 deps: bump vue
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-24 08:57:23 -08:00
Nextcloud bot ea7689aefa
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-24 02:49:43 +00:00
Nextcloud bot 12054519d1
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-23 02:23:51 +00:00
Varun Patil f148b45fc6 timeline: stack RAW with additional file extension (fix #927)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-22 12:39:36 -08:00
Varun Patil e55f0d6343 timeline: refactor RAW stacking logic
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-22 12:39:08 -08:00
Varun Patil fec834855e frame: reorder raw icon
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-22 12:37:49 -08:00
Varun Patil e3223f3a3f timeline: prevent swipe on scroller (fix #937)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-22 12:02:47 -08:00
Varun Patil 915ee8487d Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-22 11:51:03 -08:00
Varun Patil deb0e5ce16 lp: switch to new tag for 12.70
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-22 11:51:01 -08:00
Nextcloud bot 5f0bc4d363
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-22 02:23:23 +00:00
Varun Patil 9653f01636 cluster: fix outline offset
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-21 13:08:20 -08:00
Varun Patil c96a0e3ed9 bin-ext: bump exiftool
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-21 12:46:00 -08:00
Varun Patil 2bc4837d6f video: improve fallback logic
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-21 11:34:04 -08:00
Varun Patil b9a4be7d20 scroller: give focus back to recycler after interaction
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-21 10:20:25 -08:00
Varun Patil 3fe9fdc363 cluster: allow tab navigation
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-21 10:16:46 -08:00
Varun Patil 7af24512d9 Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-21 10:10:55 -08:00
Varun Patil 9cf852b780 timeline: focus on init (fix #932)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-21 10:10:53 -08:00
Nextcloud bot 2d088fc8aa
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-21 02:24:50 +00:00
Varun Patil 35d9df6f9c go-vod/0.2.4
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-20 11:36:29 -08:00
Varun Patil c334c4645d go-vod: update Dockerfile to use jellyfin
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-20 11:35:45 -08:00
Varun Patil 9eed70f848
Merge pull request #929 from szaimen/master
improve aio docs - put the community container first
2023-11-20 11:32:29 -08:00
Simon L 4fa0e236fb put the community container first
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-11-20 14:12:24 +01:00
Nextcloud bot 7bfb3d64b6
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-20 02:24:05 +00:00
Nextcloud bot d885e172cd
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-19 02:27:51 +00:00
Varun Patil 05101ed704 video: change default NVENC scaler to CUDA (#582)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-18 11:28:39 -08:00
Varun Patil a1e6e725a0 Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-18 08:59:00 -08:00
Varun Patil 2a3507d5fd share: copy even if can't share (fix #925)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-18 08:56:07 -08:00
Varun Patil 4005a21b2d docs: add cuda scaler to hw
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-17 23:57:30 -08:00
Nextcloud bot 855db3d8c9
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-18 02:32:27 +00:00
Varun Patil 417fdfb862 Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-17 10:20:52 -08:00
Varun Patil f38f5e15da index: add verbose logging
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-17 10:20:49 -08:00
Nextcloud bot f547d3edf4
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-17 02:26:20 +00:00
Varun Patil 208939464b docs: fix typo
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-16 15:59:57 -08:00
Varun Patil 2cc31aa567 docs: document AIO community container
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-16 15:57:02 -08:00
Varun Patil 5bcec8a9f6 docs: remove v6 warning
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-16 15:45:47 -08:00
Varun Patil 47ac14ed6d Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-16 08:29:36 -08:00
Varun Patil f8d0a8a0d3 metadata: hide hidden albums
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-16 08:29:34 -08:00
Nextcloud bot 697e29e2ef
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-16 02:52:34 +00:00
Varun Patil 60e080ee64 timeline: fix runaway loader values
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-15 14:11:30 -08:00
Varun Patil eb2263d3ea v6.1.0 2023-11-15 12:31:36 -08:00
Varun Patil 23296931fa Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-15 12:30:43 -08:00
Varun Patil 15aa9fdfd8 readme: add link to releases
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-15 12:30:40 -08:00
Varun Patil 389f98bd60 android/1.6 2023-11-15 12:15:00 -08:00
Varun Patil f2ededa6f4 android: bump min server 2023-11-15 12:14:33 -08:00
Varun Patil b4a5faeb92 ci: skip docs on module change
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-15 12:12:00 -08:00
Varun Patil 0b0301e21e android/1.5 2023-11-15 12:07:41 -08:00
Varun Patil 26417f6d9e bin-ext: bump go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-15 10:28:12 -08:00
Varun Patil 65a46ab679 Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-15 10:26:33 -08:00
Varun Patil d38e2376a5 go-vod/0.2.3
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-15 10:25:59 -08:00
Varun Patil 4a0f9ba183 go-vod: check for root (fix #916)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-15 10:25:23 -08:00
Nextcloud bot 6cd52690e8
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-15 02:29:02 +00:00
Varun Patil 29415b49cf edit-meta: fix GPS ref
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-14 09:23:13 -08:00
Varun Patil 509f797ffb edit-meta: missing key
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-14 09:00:25 -08:00
Varun Patil 379184247f image: fix preview race after edit
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-14 01:31:45 -08:00
Varun Patil 7eb232c10f other: disable service worker in debug mode
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-14 01:10:29 -08:00
Varun Patil 623cbe5d79 album: fix OG title
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-14 01:09:59 -08:00
Varun Patil c7ea8ec7bf share: disable link for locals
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-14 01:02:32 -08:00
Varun Patil 33571bf661 albums: fix link-only titles
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-14 01:01:01 -08:00
Varun Patil 27f8608d69 albums: hide hidden from list
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-14 00:52:07 -08:00
Varun Patil 016991d40e docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-14 00:41:12 -08:00
Varun Patil 0273ae8537 feat: allow multi-share with sel manager (close #472)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-14 00:40:04 -08:00
Varun Patil f0e1b00096 refactor: image info filling
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-13 23:14:52 -08:00
Varun Patil e396359011 node-share: awits
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-13 23:08:15 -08:00
Varun Patil 14a890796e nx: implement multi-share (fix #901)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-13 22:39:12 -08:00
Varun Patil fe74b9f089 Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-13 22:37:22 -08:00
Varun Patil 680322d916 nx: support multi-share API 2023-11-13 22:37:19 -08:00
Varun Patil 29458546b0 node-share: await clipboard writes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-13 14:15:50 -08:00
Varun Patil fa644b1b70 Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-13 11:16:37 -08:00
Varun Patil 89ffdc56a8 node-share: copy on native
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-13 11:16:28 -08:00
Nextcloud bot 98429bfdbb
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-11 02:20:43 +00:00
Varun Patil 18c567bc0e refactor: deprecation fixes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-09 23:56:00 -08:00
Varun Patil d58c492fac folder: redact hash on route change
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-09 23:51:58 -08:00
Varun Patil 857bcb8773 folder: redact hash on route change
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-09 23:47:09 -08:00
Varun Patil 803628c7a2 Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-09 23:43:41 -08:00
Varun Patil c496e0e05a edit-meta: use AllDates for set
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-09 23:43:39 -08:00
Varun Patil 6c42d0b8a4 takeout: fix video dates (fix #910)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-09 23:43:16 -08:00
Nextcloud bot 0e06de2a11
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-10 02:17:26 +00:00
Nextcloud bot 1309c1e217
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-07 02:31:10 +00:00
Nextcloud bot 43ef0510e4
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-06 02:26:22 +00:00
Nextcloud bot e9fd3a528d
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-04 02:25:11 +00:00
Nextcloud bot 6287cdd816
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-03 02:21:50 +00:00
Varun Patil 183de24e62 nx: fix visibility of cursor on video
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-02 13:00:47 -07:00
Varun Patil 7b3119c133 Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-02 13:00:17 -07:00
Varun Patil 2c9cdacdfa android: hide status bars on landscape 2023-11-02 13:00:10 -07:00
Varun Patil 90003614b7 timeline: revert loading icon move
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-02 12:12:30 -07:00
Varun Patil a7e7f80745 edit-orientation: add some warnings
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 22:12:39 -07:00
Varun Patil e64d1e8536 Merge branch 'master' of https://github.com/pulsejet/memories 2023-11-01 19:29:44 -07:00
Varun Patil dc4e2ed9f8 refactor(viewer): actions to array
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 19:29:16 -07:00
Nextcloud bot 501ba618e4
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-02 02:23:39 +00:00
Varun Patil 60d390517d edit-meta: minor CSS fix
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 19:22:36 -07:00
Varun Patil 8eee97c619 viewer: fix edit meta call
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 18:50:13 -07:00
Varun Patil dc43ecfea7 refactor: remove log statement
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 18:50:00 -07:00
Varun Patil 8c16eecc11 edit-meta: add rotate
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 18:45:24 -07:00
Varun Patil 75237ba505 fix(swipe): z-index on mobile
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 15:13:45 -07:00
Varun Patil 9e7b3a32f6 fix(swipe): animation delay
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 15:03:18 -07:00
Varun Patil 133d167f1a fix(nx): detection on server
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 14:44:38 -07:00
Varun Patil 59ec7119ea timeline: move loading to swipe
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 14:25:50 -07:00
Varun Patil 910cb4ada0 feat(timeline): swipe to refresh (close #547)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 13:19:48 -07:00
Varun Patil b1edd24dd9 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 10:36:44 -07:00
Varun Patil e1dcdb5cab docs: add go-vod badge
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 10:33:44 -07:00
Varun Patil f4d16215f1 ci: exclude android changes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 10:32:50 -07:00
Varun Patil 3908c6b471 Add 'android/' from commit 'c3e1cb338b8124ed3af6c3ae51ae3927a0086f22'
git-subtree-dir: android
git-subtree-mainline: e95a7e022c
git-subtree-split: c3e1cb338b
2023-11-01 10:29:25 -07:00
Varun Patil e95a7e022c docs: update readme with tag info
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 10:24:20 -07:00
Varun Patil db34e65cb8 docs: update readme
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 10:21:40 -07:00
Varun Patil 6d2ef1cf97 chore: update paths
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 10:14:24 -07:00
Varun Patil 12137fe2a7 go-vod/0.2.2
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 10:08:28 -07:00
Varun Patil 7c905e378f fix(go-vod): output binary name in CI 2023-11-01 10:07:32 -07:00
Varun Patil 8fc4f1058e go-vod/0.2.1 2023-11-01 09:56:06 -07:00
Varun Patil 7acedae06c ci: update go-vod Docker workflow
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 09:52:48 -07:00
Varun Patil 44ad47f5a0 chore: bump go-vod version
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-11-01 09:50:55 -07:00
Varun Patil 6ea28fa775 ci: update workflows 2023-11-01 09:43:27 -07:00
Varun Patil 4df1ce40f3 Add 'go-vod/' from commit 'a37c11daf8c4aa207186c4ef030d8a35f251d433'
git-subtree-dir: go-vod
git-subtree-mainline: a41998f0f0
git-subtree-split: a37c11daf8
2023-11-01 09:32:27 -07:00
Varun Patil a37c11daf8 refactor: rename package to transcoder 2023-11-01 01:03:28 -07:00
Varun Patil 2f8019cb5a Rename workflows (again) 2023-11-01 00:45:33 -07:00
Varun Patil ddc265b019 Rename workflows 2023-11-01 00:43:06 -07:00
Varun Patil 11c519c654 Fix typo in pipeline 2023-11-01 00:41:15 -07:00
Varun Patil bb3c44acbc ci: combine workflows 2023-11-01 00:36:52 -07:00
Varun Patil a40b1576bb Cross compile for ARM 2023-11-01 00:15:28 -07:00
Varun Patil c3e1cb338b android: prevent reload on rotate 2023-10-31 23:09:25 -07:00
Varun Patil a41998f0f0 sel: fix scrolling up on nx
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 23:03:18 -07:00
Varun Patil 90ccddd47e nx: fix listener
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 22:49:17 -07:00
Varun Patil 7946abbae4 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 22:28:51 -07:00
Varun Patil 973cd86c1d video: allow switch to direct on Safari (fix #650)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 22:22:21 -07:00
Varun Patil 44c3ed1b86 ximg: minor refactor
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 21:46:21 -07:00
Varun Patil e2d4a53c66 Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-31 21:32:12 -07:00
Varun Patil 7f58cf51c0 image: refactor params
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 21:29:43 -07:00
Nextcloud bot 364d0639b1
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-11-01 02:28:08 +00:00
Varun Patil e3186c1759 sel: add move frame to resetTouchParams
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 19:12:38 -07:00
Varun Patil c5c72dabd8 sel: perf optimizations
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 19:10:28 -07:00
Varun Patil 5a4fc07eca photo: revert touch action
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 18:23:16 -07:00
Varun Patil e706d0fbdd app: disable swipe nav
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 17:31:36 -07:00
Varun Patil 3dbaaaf543 sidebar: refactor client init
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 16:59:36 -07:00
Varun Patil 55dea017f7 sidebar: fix client injection
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 13:29:38 -07:00
Varun Patil d181772f01 docs: add general FOSS sponsors
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 13:15:02 -07:00
Varun Patil 3374508920 video: fix lp playback on Safari
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 13:04:02 -07:00
Varun Patil 7020d0ddac fragment: fix initial navigation
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 10:37:42 -07:00
Varun Patil 0e1c4cfa44 Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-31 10:19:32 -07:00
Varun Patil 101b2bbe0d edit-date: construction and validation (fix #671)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 10:19:30 -07:00
Varun Patil e5e9a08ba8 edit-date: add type input
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 10:07:04 -07:00
Varun Patil 2d75709ab7 css: hide number input arrows
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-31 10:06:51 -07:00
Nextcloud bot 59c7e05283
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-31 02:26:53 +00:00
Varun Patil 8514120fff Merge branch 'Shawn8901-patch-1' 2023-10-30 18:18:30 -07:00
Varun Patil 2241ad4b4d docs: rearrange troubleshooting
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 18:18:15 -07:00
Varun Patil 040c02889d Merge branch 'patch-1' of https://github.com/Shawn8901/memories into Shawn8901-patch-1 2023-10-30 18:14:00 -07:00
Varun Patil 9f474e3d43 worker: switch to library
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 18:00:50 -07:00
Varun Patil e1c89f9cb0 worker: fix async typing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 16:50:49 -07:00
Varun Patil 8df9c3034d worker: improve typing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 16:40:51 -07:00
Varun Patil d2116fd213 refactor: move worker to services
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 15:50:58 -07:00
Varun Patil 93c0d2860b ximg: reduce gc frequency
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 15:36:03 -07:00
Varun Patil 50bae02241 refactor: move dom load events to utils
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 15:31:05 -07:00
Varun Patil 505ccae762 refactor(sidebar): shorten syntax
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 15:21:09 -07:00
Shawn8901 b3fa58937c docs: Add nixos section to get automatic indexer running
When installing nextcloud (and possibly memories also) via nixos modules system, there is some nixos specific extra setup needed, otherwise the automatic indexer is not working. This is kind of a downstream issue, as for FHS distros its common to having perl available at `/usr/bin/perl` (and thus at PATH) but for nixos there is extra work needed.
2023-10-30 23:05:01 +01:00
Varun Patil 1744374329 docs: update changelog for RAW stacking
close #537
close #152
close #419

Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 12:52:16 -07:00
Varun Patil 3be478b8ce edit-meta: fail fast for forbidden mimes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 12:50:11 -07:00
Varun Patil 32e910561d modal: handle premature close calls
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 12:49:52 -07:00
Varun Patil bf6127493e edit-meta: warn user for stack edit
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 12:39:51 -07:00
Varun Patil 5e4b963379 archive: add lock to folder creation
Close #122
Close #681

Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 12:30:04 -07:00
Varun Patil 782b2c9243 dav: extend archive with stack
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 11:43:50 -07:00
Varun Patil ef44965dee dav: refactor archive to use photo list
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 11:39:15 -07:00
Varun Patil 2c81503484 dav: extend with stack with lp
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 11:32:30 -07:00
Varun Patil f49b93c561 viewer: add stackraw download
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 11:24:23 -07:00
Varun Patil 4b4e4f2c09 dav: add requested with header
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 10:58:48 -07:00
Varun Patil 79c7b02204 docs: fix missing tag in changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 02:38:53 -07:00
Varun Patil 73583da7cb photo: debounce live photo only once
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 02:36:19 -07:00
Varun Patil 5ccba14519 viewer: animate lp icon
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 02:33:46 -07:00
Varun Patil c6f5ed5b05 frame: animate live photo icon (close #898)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 02:12:56 -07:00
Varun Patil 543646624a photo: add delay to live playback
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 01:26:06 -07:00
Varun Patil 1e5a5d3b4f video: catch play throws
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 01:21:06 -07:00
Varun Patil 37783d831d chore: remove dead dependency
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 01:08:43 -07:00
Varun Patil ba473e6314 build: prune admin bundle
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 01:01:27 -07:00
Varun Patil 664bbae0ca mnav: use exact-path
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-30 00:06:44 -07:00
Varun Patil 71d1bba1d5 face: replace router after merge
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 23:46:46 -07:00
Varun Patil 3e40a3e5d2 editor: add missing null checks
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 22:14:06 -07:00
Varun Patil f0c7cf7542 sidebar: do not invalidate for going to same file
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 22:13:44 -07:00
Varun Patil af00252ed4 viewer: prevent useless itemData calls after destroy
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 22:01:38 -07:00
Varun Patil a69be6dd16 deps: update webdav
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 22:00:25 -07:00
Varun Patil 955918dd0a Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-29 20:08:44 -07:00
Varun Patil 6d97ccc1c0 chore: bump deps
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 19:50:07 -07:00
Nextcloud bot 7ef2f46a67
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-30 02:23:24 +00:00
Varun Patil a2b9419988 refactor: config types
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 19:21:19 -07:00
Varun Patil 647f98f3d6 build: change some tsconfig
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 19:21:13 -07:00
Varun Patil 6ba986acfe build: turn on skipLibCheck
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 18:32:00 -07:00
Varun Patil e04fc9e091 timeline: allow disabling RAW stack
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 18:12:14 -07:00
Varun Patil 317874ea44 refactor: make DaysFilterType const
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 18:00:02 -07:00
Varun Patil dbfc23b1ab refactor: typings
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 17:59:53 -07:00
Varun Patil ff00424e3e refactor: turn on verbatimModuleSyntax
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 17:54:53 -07:00
Varun Patil d94841ad6b build: turn on alwaysStrict
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 17:38:54 -07:00
Varun Patil 4de74e0af1 refactor: change types import strategy
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 17:30:11 -07:00
Varun Patil c1ebdb9e34 docs: add transifex link to readme
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 14:14:55 -07:00
Varun Patil a9aef4eab6 refactor: add aliases for imports
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 14:10:56 -07:00
Varun Patil e2e9fa9d42 build: add context to webpack
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 13:15:29 -07:00
Varun Patil 9d75451f32 l10n: add type safety
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 13:14:28 -07:00
Varun Patil 79d8a8675c metadata: reset state when invalidated
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 12:18:13 -07:00
Varun Patil 42f32350d9 metadata: revert quick learning
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 12:17:00 -07:00
Varun Patil 54059b4216 viewer: invalidate metadata during fast changes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 12:14:42 -07:00
Varun Patil 198fe97b4b viewer: reduce sidebar debounce time
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 11:58:43 -07:00
Varun Patil 9251bba6fc metadata: use loaded image info
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 11:56:06 -07:00
Varun Patil 9e001730c2 refactor(viewer): sidebar debouncing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 11:51:20 -07:00
Varun Patil a8d940acd0 days: fix reverse on preloads (fix #895)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 11:19:12 -07:00
Varun Patil a305ddc4ad folder: preserve query during navigation
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-29 11:03:20 -07:00
Varun Patil b2e179ff43 fix(frame): invalid video tag
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 18:49:47 -07:00
Varun Patil 31ad4a9fa1 frame: mark raw and stack
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 18:48:56 -07:00
Varun Patil 757b02fc84 frame: refactor photo CSS
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 18:17:00 -07:00
Varun Patil ba12616c0e timeline: reverse priority on stack
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 18:00:40 -07:00
Varun Patil 4aed2946bf timeline: hide RAW
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 17:56:44 -07:00
Varun Patil 994fea1b9a refactor(viewer): better syntax
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 13:39:41 -07:00
Varun Patil 1b378334f5 refactor: remove return from small lambdas
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 13:32:44 -07:00
Varun Patil f7de4fe492 viewer: remove useless bang
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 13:16:28 -07:00
Varun Patil cc7586af62 timeline: set adjust flag first
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 13:07:24 -07:00
Varun Patil 20d53cf291 viewer: implement globalCount change (close #892)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 13:02:18 -07:00
Varun Patil 0774c857cf Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-28 03:44:40 -07:00
Varun Patil 35c30831e1 viewer: do not iterate rows
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 02:32:33 -07:00
Varun Patil 3637965618 viewer: directly use timeline state
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 02:00:58 -07:00
Varun Patil 10ebef22d3 timeline: use map for preloads
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 01:38:22 -07:00
Varun Patil a151d9cbd4 refactor: use Map for heads
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 01:31:04 -07:00
Varun Patil 18b8a5404f viewer: refactor preloading
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 01:09:28 -07:00
Varun Patil e13e9cb37b timeline: make fetchDay once explicitly
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-28 00:51:09 -07:00
Varun Patil be621309aa
Merge pull request #888 from SuperSandro2000/patch-1
Make error about tool version mismatch clearer
2023-10-27 21:49:14 -07:00
Nextcloud bot f25b9af795
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-28 02:25:10 +00:00
Varun Patil eec6e0a492 patch-external: fail CI build
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-27 03:33:10 -07:00
Varun Patil c2076e2535 v6.0.1
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-27 03:06:48 -07:00
Varun Patil 04dadb454c deps: bump go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-27 03:02:31 -07:00
Varun Patil 2ad35bfe13 videojs: fix startup exception
https://github.com/videojs/http-streaming/pull/1439
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-27 03:02:07 -07:00
Varun Patil e2e6dafee4 0.1.25 2023-10-27 03:00:51 -07:00
Varun Patil e4b8f21b1a patch(plyr): make sure wrapper is inserted
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-27 02:21:26 -07:00
Varun Patil 7283066721 plyr: stop wrapping
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-27 01:46:19 -07:00
Varun Patil ee8693ce0b Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-26 23:32:53 -07:00
Varun Patil 0fad53b3e0 video: keep time in src switches
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-26 23:32:50 -07:00
Varun Patil 61b217d08c stream: omit profile 2023-10-26 23:18:41 -07:00
Varun Patil 3513b543b3 Reduce ref bitrate 2023-10-26 21:56:31 -07:00
Varun Patil c743d14e5d Remove 360p 2023-10-26 21:56:22 -07:00
Nextcloud bot 061e029c69
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-27 02:24:21 +00:00
Sandro 91c83eda71
Make error about tool version mismatch clearer 2023-10-27 01:00:13 +02:00
Nextcloud bot 622dce1a74
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-26 02:25:18 +00:00
Varun Patil 10bc4362ba add dev dockerfile 2023-10-25 14:35:03 -07:00
Varun Patil 1f7602c8c6 fragment: prevent redundant navigation
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-25 14:32:23 -07:00
Varun Patil e4e13459aa v6.0.0
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-25 13:28:58 -07:00
Varun Patil d42a7cfd59 Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-25 10:27:20 -07:00
Varun Patil f5c95f2f60 photo: remove dead lp elements
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-25 10:24:28 -07:00
Varun Patil e9370b6a71 frame: disable touch actions
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-25 10:16:14 -07:00
Nextcloud bot 405fa0d7fe
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-25 02:41:46 +00:00
Varun Patil 134b7cc354 bin-ext: bump go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 19:35:55 -07:00
Varun Patil c6e9cca896 0.1.24 2023-10-24 19:35:26 -07:00
Varun Patil 0c22323818 video: retry quality change for init
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 19:34:21 -07:00
Varun Patil 35db581c26 video: reduce some useless timers
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 19:13:34 -07:00
Varun Patil 9f4c223dff psvideo: skip for nx
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 19:12:00 -07:00
Varun Patil 791937215d stream: escape printed command 2023-10-24 19:10:20 -07:00
Varun Patil 0223d5f6ef stream: add genpts fflags 2023-10-24 19:06:55 -07:00
Varun Patil a14afa6af0 bin-ext: bump go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 18:46:30 -07:00
Varun Patil 029d3bf1cb manager: improve bitrate scaling 2023-10-24 18:45:40 -07:00
Varun Patil 346e2e9bff video: bump go-vod
Also disable some videojs option

Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 18:08:08 -07:00
Varun Patil a8ad3e95c6 manager: prevent duplicate max stream 2023-10-24 18:02:15 -07:00
Varun Patil 826388d390 v6.0.0-rc.3 2023-10-24 17:20:35 -07:00
Varun Patil feaa6e55af vod: make QF configurable
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 17:19:43 -07:00
Varun Patil 2438a2946d stream: make QF configurable 2023-10-24 17:17:49 -07:00
Varun Patil 3106108f04 video: catch quality change errors
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 16:51:29 -07:00
Varun Patil 6d1fa55a0f video: turn on some videojs compensation
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 16:26:09 -07:00
Varun Patil 5353b54904 chore: update deps
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 16:16:58 -07:00
Varun Patil e6d288d6d8 fix(mobile): disable hover actions in CSS
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 14:58:30 -07:00
Varun Patil c097bd4193 v6.0.0-rc.2
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 13:05:21 -07:00
Varun Patil f44ac76c58 fragment: remove non-contextual fragments on start
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 13:03:01 -07:00
Varun Patil cf3b782cec fragment: fix wait time
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 12:48:56 -07:00
Varun Patil c6358ff644 cluster-view: prevent route change refresh
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 12:29:16 -07:00
Varun Patil 8588a7d190 dialog: add fragment
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 12:26:12 -07:00
Varun Patil 0a7914d9b9 face: fix move modal
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 12:08:08 -07:00
Varun Patil 5881f7fb09 cluster: fix type of element
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 12:07:28 -07:00
Varun Patil 6f6eb1c3ae editor: put back fragment on cancel
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 11:43:30 -07:00
Varun Patil fc53e020cf settings: add fragment
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 11:33:55 -07:00
Varun Patil f7abbce9de editor: add fragment
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 11:20:32 -07:00
Varun Patil a30012a7da sidebar: add fragment for mobile
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 11:15:18 -07:00
Varun Patil cfe63c328e refactor: NodeShareModal
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 11:05:12 -07:00
Varun Patil 1bc251012c topmatter: hide folder breadcrumbs on single file
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 11:00:32 -07:00
Varun Patil 926e57f896 modal: fix sharing modal
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 10:55:48 -07:00
Varun Patil 79ae924a00 fix: move to folder stuck
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 02:59:34 -07:00
Varun Patil e81e65cf7f refactor(fragment): add hook directly
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 02:40:40 -07:00
Varun Patil 9db97aed3d modal: use fragment
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 02:28:30 -07:00
Varun Patil 937feff286 sel: add fragment (fix #861)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 01:07:00 -07:00
Varun Patil 8eefae4247 refactor: viewer
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 00:47:37 -07:00
Varun Patil a0f40dfcae fragment: fix logic
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-24 00:43:25 -07:00
Varun Patil 3cd2402c4e Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-23 22:12:50 -07:00
Varun Patil 557e87ca3c refactor(fragment): support multiple frags
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-23 22:12:48 -07:00
Varun Patil 182caed840 refactor(modal): reduce watchers
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-23 19:41:24 -07:00
Nextcloud bot 6da5f6c3a7
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-24 02:26:24 +00:00
Varun Patil 1439160b50 frame: remove dead code in Folder
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-23 18:57:24 -07:00
Varun Patil 4f51e866c4 refactor: album delete watch
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-23 18:51:44 -07:00
Varun Patil 25e2c42830 psalm: set target PHP version to 8.0
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-23 18:39:43 -07:00
Varun Patil 2904aa6aa4 exif: suppress Perl language warning
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 14:49:41 -07:00
Varun Patil 35cdc1daeb Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-22 14:45:24 -07:00
Varun Patil 7cdced22c0 tw: prevent re-index on aborted force
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 14:45:18 -07:00
Varun Patil 46366d6715 psalm: refactor suppressions
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 14:13:33 -07:00
Varun Patil 07b0e7070e psalm: refactor suppressions
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 14:01:05 -07:00
Varun Patil c9e87c4cf6 refactor: forcePermissions typing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 13:48:30 -07:00
Varun Patil b3f8387a95 refactor: move gisType to SystemConfig
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 13:37:50 -07:00
Varun Patil d5fcf19814 docs: fix config defaults
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 13:19:23 -07:00
Varun Patil e38da200db refactor: move SystemConfig to file
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 12:58:33 -07:00
Varun Patil 8b2df7c2a5 refactor: move ExifFields to class
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 12:40:25 -07:00
Varun Patil cd2743764d tw: remove leading slash from lock key
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 12:35:56 -07:00
Varun Patil 4d19451471 tw: don't clean up tables in transaction
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 12:32:05 -07:00
Varun Patil f8f9ce7b4a tw: minor refactor
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 12:29:52 -07:00
Varun Patil a0d78504b9 tw: fix lp return status
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 12:25:00 -07:00
Varun Patil f22b75c04d Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-22 12:16:30 -07:00
Varun Patil d3503d5e47 lp: renew query
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 12:14:02 -07:00
Varun Patil d8f327141f exif: add null check for MIMEType
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 12:09:00 -07:00
Varun Patil 1ad0559436 log: add context
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 12:07:22 -07:00
Varun Patil 4be31f19d5 refactor: reduce array_key_exists
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-22 11:56:29 -07:00
Nextcloud bot 67b96f969a
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-22 02:29:52 +00:00
Varun Patil e04bb0a7b6 admin: improve video panels
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-21 12:16:19 -07:00
Varun Patil bdf39678ed admin: hide VA-API status if external
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-21 12:09:41 -07:00
Varun Patil 19a4db3ee5 bin-ext: bump go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-21 11:48:09 -07:00
Varun Patil 27d332eff5 0.1.20 2023-10-21 11:46:08 -07:00
Varun Patil 4e2b1ddb18 handler: fix exit 2023-10-21 11:45:30 -07:00
Varun Patil ea9e620de3 refactor: create package 2023-10-21 11:36:22 -07:00
Varun Patil 48ed209d59 refactor: move around handler 2023-10-21 11:27:25 -07:00
Varun Patil 4a89dd16c7 docs: minor updates to hw
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 21:46:04 -07:00
Varun Patil 7a7cf46a72 docs: mention NEXTCLOUD_ALLOW_INSECURE
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 20:57:02 -07:00
Varun Patil 9f50cae0b1 run: more opts 2023-10-20 20:47:09 -07:00
Varun Patil 9c3fca950c ci: add latest tag 2023-10-20 20:28:16 -07:00
Varun Patil 12caf9c03f Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-20 20:19:15 -07:00
Varun Patil 56f4956852 v6.0.0-rc.1
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 20:18:40 -07:00
Nextcloud bot 1443f9e7a4
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-21 02:22:56 +00:00
Varun Patil ad59ceffad bin-ext: bump go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 16:11:40 -07:00
Varun Patil 432b7a4791 0.1.19 2023-10-20 16:02:15 -07:00
Varun Patil b1fb3d2e94 Merge branch 'szaimen-master' 2023-10-20 16:01:18 -07:00
Varun Patil 07fff59353 ci: update image name 2023-10-20 16:01:14 -07:00
Varun Patil 7e36063bf5 Merge branch 'master' of https://github.com/szaimen/go-vod into szaimen-master 2023-10-20 16:00:49 -07:00
Varun Patil d4bdc7bd81 Remove NVIDIA Dockerfile 2023-10-20 15:17:55 -07:00
Varun Patil 36832c731c build: don't remove lists 2023-10-20 15:12:58 -07:00
Varun Patil edbcaaa064 dockerfile: swith to inheriting build 2023-10-20 15:02:59 -07:00
Varun Patil 899098bc51 run: improve logging 2023-10-20 14:54:01 -07:00
Varun Patil d98d0b9522 run: add missing params to curl 2023-10-20 14:53:06 -07:00
Varun Patil 5319743c2d admin: remove govod_want
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 14:49:19 -07:00
Varun Patil c9317e9e37 video: add support for go-vod run
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 14:28:08 -07:00
Varun Patil d678fda96e main: print version to stdout 2023-10-20 14:24:49 -07:00
Varun Patil ad79aa5827 Add run script 2023-10-20 14:14:28 -07:00
Varun Patil d388b6f233 Add version monitor 2023-10-20 14:12:09 -07:00
Varun Patil b5e324b394 video: fix caching
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 13:33:06 -07:00
Varun Patil f655a0051c ci: fix bin-ext step
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 12:47:14 -07:00
Varun Patil e406b74806 refactor: move pkill to binext
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 12:42:22 -07:00
Varun Patil fd851b5e34 refactor: rename exiftool-bin to bin-ext
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 12:35:44 -07:00
Varun Patil eb1e224bfa refactor: generalize sw route
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 12:21:41 -07:00
Varun Patil 05b8534c47 docs: full PHP version in changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 11:29:56 -07:00
Varun Patil ca756732d8 ci: restrict workflow paths
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-20 11:27:00 -07:00
Varun Patil 1287a8e601 docs: update readme apps section
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 23:31:22 -07:00
Varun Patil 0f33ca1aa2 viewer: fix title changes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 23:14:08 -07:00
Varun Patil d048b7b3bf dtm: check share type
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 23:02:26 -07:00
Varun Patil d1f15240b7 refactor: folder dtm
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 22:55:18 -07:00
Varun Patil b641d08651 Merge branch 'Cl00e9ment-structured-shared-folder' 2023-10-19 22:48:13 -07:00
Varun Patil 0d155f1315 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 22:41:56 -07:00
Varun Patil 6f344b863f folder: hide list on recursive
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 22:38:46 -07:00
Varun Patil 3575c0b166 folder-share: tweaks
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 22:32:34 -07:00
Varun Patil 3d8ad4d668 Merge branch 'structured-shared-folder' of https://github.com/Cl00e9ment/memories into Cl00e9ment-structured-shared-folder
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 21:29:33 -07:00
Nextcloud bot adee570195
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-20 02:25:31 +00:00
Varun Patil 090a89602a build: move types to tsconfig
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 19:22:32 -07:00
Varun Patil 66a864560c Revert "build: revert to JS webpack config"
This reverts commit b66d88434e.
2023-10-19 19:21:09 -07:00
Varun Patil b66d88434e build: revert to JS webpack config
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 19:14:10 -07:00
Varun Patil caf0ff3487 Revert "build: fix attempt"
This reverts commit 552e7dc426.
2023-10-19 19:12:07 -07:00
Varun Patil 552e7dc426 build: fix attempt
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 19:08:39 -07:00
Varun Patil 1a05220aa3 folders: sanitize the path
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 18:51:54 -07:00
Varun Patil bbdcecc29e psalm: disable cache
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 18:48:04 -07:00
Varun Patil f69765a42a fs: improve sanitization
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 18:47:58 -07:00
Varun Patil 73cc86c4a1 scroller: hide container when not scrolling
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 14:22:48 -07:00
Varun Patil 993e43a46d refactor: top-left util class
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 14:21:44 -07:00
Varun Patil e96b10da46 scroller: reduce repaints
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 14:13:53 -07:00
Varun Patil 2a333911ef scrolling: minor improvements
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 14:09:02 -07:00
Clément Saccoccio 5d884a564c fix: check that share is a folder before trying to acces sub-folders 2023-10-19 22:50:35 +03:00
Clément Saccoccio c85a611651 share: show directory structure 2023-10-19 22:12:26 +03:00
Varun Patil 8d54a90fc1 build: capitalization in tsconfig
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 12:03:19 -07:00
Varun Patil c57b9ede34 build: remove worker types from global
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 12:00:08 -07:00
Varun Patil 545088de1c bootstrap: simplify video clientId
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 11:57:26 -07:00
Varun Patil 77d91f81e8 build: service-worker to TS
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 11:52:36 -07:00
Simon L 11bca6cc53 Create docker-build.yml
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-10-19 20:50:45 +02:00
Varun Patil bcd1764779 webpack: config to ts
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 11:42:16 -07:00
Varun Patil 03d86e79dc readme: link to shepherd.dev
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-19 00:34:33 -07:00
Varun Patil 85a8f32da1 Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-18 23:15:15 -07:00
Varun Patil d631bb7d83 Merge branch 'meichthys-patch-3' 2023-10-18 23:15:05 -07:00
Varun Patil 1b1400babc docs: hw transcoding update
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-18 23:14:42 -07:00
Varun Patil 25fee175d8 Merge branch 'patch-3' of https://github.com/meichthys/memories into meichthys-patch-3 2023-10-18 23:02:07 -07:00
Nextcloud bot f0ed6976f7
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-19 02:23:46 +00:00
Varun Patil 1ab738c4af dav: remove usage of path
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-18 14:21:51 -07:00
Varun Patil 7e90fc8c40 Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-18 12:55:15 -07:00
Varun Patil 2c35f20eec webpack: fix source maps
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-18 12:55:12 -07:00
Varun Patil 1bf9022756 webpack: increase workbox cache size
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-18 12:39:01 -07:00
Varun Patil 27b252ce9c build: remove babel
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-18 12:21:16 -07:00
Nextcloud bot 892d0d037a
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-18 02:50:53 +00:00
MeIchthys 8cb09cf9e8
Clarify need for updated ffmpeg version
Also add bare-metal helpful links/notes for VM/Container use cases.
2023-10-17 16:06:43 -04:00
Varun Patil 52e82620ab
Merge pull request #877 from Cl00e9ment/recommended-extensions
docs: added recommended extensions to VSCode config
2023-10-17 12:13:36 -07:00
Clément Saccoccio 4e05baf3eb docs: added recommended extensions to VSCode config 2023-10-17 22:12:26 +03:00
Clément Saccoccio 8c35e488bb docs: added recommended extensions to VSCode config 2023-10-17 22:04:17 +03:00
Varun Patil 770f1e92da docs: disable issues 2023-10-17 11:43:51 -07:00
Varun Patil a235c7a2fb docs: general improvements
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-17 08:43:24 -07:00
Varun Patil b43fec0d3f docs: bump Nextcloud requirement
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-17 08:03:13 -07:00
Varun Patil 85adc58cdb docs: link back
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-17 08:02:21 -07:00
Varun Patil 7ac32e60e0 docs: update faq with forums link
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-17 07:58:44 -07:00
Varun Patil 96776de2ff docs: add basic troubleshooting for transcoding
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-17 07:56:25 -07:00
Varun Patil 4400307fe5 docs: general updates
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 22:46:47 -07:00
Varun Patil 65b1de8296 docs: update hw transcoding
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 21:22:59 -07:00
Varun Patil dc146d0f7a Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-16 21:12:30 -07:00
Varun Patil 2ea45cd1c8 sidebar: compat for Nextcloud 28
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 21:04:18 -07:00
Nextcloud bot b2c5b45a07
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-17 02:28:34 +00:00
Varun Patil 728efeaa6a share: disable links for albums
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 18:48:17 -07:00
Varun Patil afaebe6106 nx: support header logo change (fix #871)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 14:22:35 -07:00
Varun Patil cae270e931 docs: update go-vod clone
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 12:56:10 -07:00
Varun Patil 181c0423ff admin: show go-vod clone tag
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 12:54:29 -07:00
Varun Patil 75881b33d0 refactor: improve route typing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 12:44:59 -07:00
Varun Patil c7f7d98d4f refactor: add a comment
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 11:38:57 -07:00
Varun Patil 9116e2b889 refactor: drop dead 24 code
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 11:36:28 -07:00
Varun Patil b2277382b2 refactor: minor typing fixes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 11:36:13 -07:00
Varun Patil 0741eeb113 refactor: revert constants rename
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 11:23:01 -07:00
Varun Patil 2c18198c37 refactot: remove GlobalMixin
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 11:15:07 -07:00
Varun Patil 449e36e9a1 refactor: move route checkers out of global mixin
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 11:08:23 -07:00
Varun Patil a33631a8ae Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-16 09:55:54 -07:00
Varun Patil 395d0506b9 refactor: convert refs to prop
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-16 09:55:52 -07:00
Nextcloud bot 4c78da59f7
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-16 02:24:08 +00:00
Varun Patil 6931f01bfa ci: minor fixes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 17:42:00 -07:00
Varun Patil 577ec47a81 ci: combine PHP jobs
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 17:39:35 -07:00
Varun Patil b5d89db6b9 ci: fix job description
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 17:33:19 -07:00
Varun Patil ab0a123bdb ci: combine UI linting jobs
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 17:31:01 -07:00
Varun Patil fe55caead2 ci: add vue-tsc workflow
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 17:21:37 -07:00
Varun Patil 8d13f0be98 refactor: add strict typing to refs
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 17:19:35 -07:00
Varun Patil 2144ba0d64 tooling: switch to Volar
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 15:23:57 -07:00
Varun Patil 74b6d9c5f2 refactor: add typing to emits
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 15:09:43 -07:00
Varun Patil 080bf1358d admin: show expected go-vod version
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 14:28:18 -07:00
Varun Patil 5e10d60123 docs: reordering in readme
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 14:13:18 -07:00
Varun Patil 5df95b2ed8 docs: update hw go-vod version
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 14:13:11 -07:00
Varun Patil ab19f66954 utils: warn user if picked folder has trailing/leading whitespace
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 13:56:31 -07:00
Varun Patil 0c3f09e52a psalm: bump level back to 3
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 13:46:20 -07:00
Varun Patil 33561f9ab4 cluster: add missing return type
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 13:26:18 -07:00
Varun Patil 1565638405 lint: modernize old migrations
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 13:23:57 -07:00
Varun Patil 15be33d94b ci: bump psalm level
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 13:18:48 -07:00
Varun Patil 49848bbd16 pslam: fix more issues
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 13:16:57 -07:00
Varun Patil bd2101e7bb refactor: PHP 8 syntax migration
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-15 12:46:35 -07:00
Varun Patil 73624ce5f2 Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-14 19:48:11 -07:00
Varun Patil eccc125991 webpack: add bundle analyzer
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 19:43:21 -07:00
Varun Patil c1b2984e22 refactor: webpack config js
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 19:39:29 -07:00
Varun Patil eee5abf210 refactor: improve typing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 19:34:30 -07:00
Nextcloud bot 6867547660
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-15 02:23:02 +00:00
Varun Patil 465c5f2597 php-cs: add more rules
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 19:20:21 -07:00
Varun Patil 03c55a8d67 php-cs: add trailing commas
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 18:59:00 -07:00
Varun Patil fb32a94e2e refactor: move to PHP 8 syntax for constructors
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 18:51:17 -07:00
Varun Patil 6965d0214f deps: bump nc and php requirements
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 18:18:21 -07:00
Varun Patil 6a58a10c86 psalm: remove more dead code
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 18:15:01 -07:00
Varun Patil f992d19932 refactor: remove dead code
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 17:54:29 -07:00
Varun Patil 1752396bf8 days: refactor for better typing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 17:46:54 -07:00
Varun Patil cb12398893 tq: fix string quoting for debug
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 17:31:19 -07:00
Varun Patil 27e9b093bf timeline: enable aggregation for month view
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 17:20:21 -07:00
Varun Patil 7b7ecab8e2 tq: refactor month days API
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 17:01:56 -07:00
Varun Patil 2d5b687350 days: improve monthView query
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 16:35:06 -07:00
Varun Patil 568e10d999 psalm: fix caching
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 16:10:50 -07:00
Varun Patil fe6205aea6 lin: bump psalm level
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 16:06:25 -07:00
Varun Patil eace12df0f days: remove wildcard API
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 16:03:59 -07:00
Varun Patil b29ff26a18 days: make preload more efficient
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 15:37:05 -07:00
Varun Patil c8c6f1f8a1 tags: remove some filters
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 14:35:47 -07:00
Varun Patil d73d96ed27 cI: rename jobs
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 13:15:42 -07:00
Varun Patil 376fa24c4d Merge branch 'ci-pretty' 2023-10-14 13:13:53 -07:00
Varun Patil 1bc5f58f91 chore: update prettier
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 13:12:47 -07:00
Varun Patil ba4c055fea psalm: use separate langserver config
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 12:56:31 -07:00
Varun Patil 351515ea18 ci: add prettier workflow
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 12:50:28 -07:00
Varun Patil 03d1f37a29 days: shorten function
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 12:44:26 -07:00
Varun Patil e255c957f7 tools: various updates
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 12:40:58 -07:00
Varun Patil d8c6266e53 refactor: tools to composer.json
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 03:01:08 -07:00
Varun Patil fb56eb8ce2 docs: update readme badges
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 02:49:43 -07:00
Varun Patil 516f8ab01c ci: refactor workflows
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 02:45:33 -07:00
Varun Patil d07e386029 psalm: update workflow
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 02:39:22 -07:00
Varun Patil f9c76d0b70 psalm: fix excludes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 02:34:30 -07:00
Varun Patil 1bb40fd532 psalm: ignore externals
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 02:26:30 -07:00
Varun Patil c982c35078 ci: psalm workflow 2023-10-14 02:17:35 -07:00
Varun Patil 3fddf35415 refactor: fix psalm info things
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 02:07:18 -07:00
Varun Patil 71ef41f763 refactor: add psalm
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-14 01:25:50 -07:00
Varun Patil ba959d2c43 refactor: rename timelineQuery
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 23:51:12 -07:00
Varun Patil d71295ff1f v1.4 2023-10-13 23:43:43 -07:00
Varun Patil 2f5e732258 Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-13 23:27:08 -07:00
Varun Patil bbacd7ad36 nativex: update API
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 23:27:06 -07:00
Varun Patil 69c2e482bc Add self-signed trust for webview 2023-10-13 23:24:53 -07:00
Varun Patil b0c5927d9b Add box for self-signed 2023-10-13 23:12:46 -07:00
Varun Patil 49f97e2895 Move login call to native 2023-10-13 22:06:55 -07:00
Nextcloud bot 6580f5287f
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-14 02:24:38 +00:00
Varun Patil 6baf1bc3f7 cmd: colorize places-setup output
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 19:05:55 -07:00
Varun Patil 99dfbef88d cmd: improve index logging
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 19:03:13 -07:00
Varun Patil 8fb257fa3c nxsetup: fix back button after setup (close #855)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 18:45:35 -07:00
Varun Patil 25d81987b9 tq: exclude hidden mounts
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 17:43:01 -07:00
Varun Patil 5ce8696efb tq: fix debug quoting
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 16:59:14 -07:00
Varun Patil 0c2de94ee3 fs: fix recursion in folder previews
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 16:18:37 -07:00
Varun Patil 8414dbcda7 folder-top: prevent UI glitch when switching to timeline view
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 15:38:33 -07:00
Varun Patil 12da305022 fs: fix recursive folders
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 15:28:06 -07:00
Varun Patil 6d7c623e46 tq: refactor in root function
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 15:10:59 -07:00
Varun Patil 8e79b769ed refactor: fix vue typing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 12:48:26 -07:00
Varun Patil 044d94f3b9 perf: freeze constants
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 12:22:25 -07:00
Varun Patil d6e108831e refactor: move globals declaration
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 12:22:15 -07:00
Varun Patil 43d3668119 refactor: init state to utils
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 12:09:26 -07:00
Varun Patil d0501a1bba refactor: move globals to namespace
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 10:32:07 -07:00
Varun Patil e8f5414668 ci: fix test
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-13 09:17:00 -07:00
Varun Patil 313ba6c3c2 refactor(large): disallow implicit any
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-11 22:56:53 -07:00
Varun Patil bcd16a9cb0 chore: update webpack-vue-config
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-11 20:54:06 -07:00
Varun Patil 2d1a0d1542 chore: update deps
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-11 20:30:26 -07:00
Varun Patil 4443f3e8cf Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-11 19:58:07 -07:00
Varun Patil 0c682b7cc3 dialog: restore cancel button (fix #864)
We autofocus the confirm button with MutationObserver

Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-11 19:58:02 -07:00
Nextcloud bot ac3fee401c
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-12 02:21:03 +00:00
Varun Patil 49f8c1e824 Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-10 04:58:55 -07:00
Varun Patil 08e75fb790 places-setup: fix output
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-10 04:56:56 -07:00
Varun Patil 7b647dc5c5 places-setup: improve transactions
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-10 04:48:20 -07:00
Nextcloud bot b6e4d2be36
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-10 02:56:26 +00:00
Varun Patil db93202b08 v5.5.3
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-07 10:43:21 -07:00
Varun Patil 1ca9aac7d6 tw: fix buid access (fix #849)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-07 10:40:38 -07:00
Varun Patil dbfd56e727 Bump up version 2023-10-07 09:34:50 -07:00
Varun Patil 2252100d29 v5.5.2 2023-10-07 09:22:08 -07:00
Varun Patil 72a76d7d30 nx: fix setup continue color
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-07 09:21:28 -07:00
Varun Patil 4ec42b7e0e Remove opening login toast 2023-10-07 09:13:20 -07:00
Varun Patil 2478dc71fd Check server status code on account 2023-10-07 09:12:54 -07:00
Varun Patil b4cd0f3dcb Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-07 08:57:01 -07:00
Varun Patil 4130dcd6fb index: document that --clear is now destructive
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-07 08:56:50 -07:00
Varun Patil 094a57e644 lp: fix mtime type
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-07 08:51:53 -07:00
Varun Patil 6be0cef3cd migrations: make them idempotent
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-07 08:45:35 -07:00
Varun Patil 255ef832ac migration: fix when exif is null (fix #848)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-07 08:18:21 -07:00
Nextcloud bot 4728478b0e
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-07 03:44:03 +00:00
Varun Patil 61294a7dc3 nx: replace route in setup
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-06 16:33:21 -07:00
Varun Patil 82f82cfe5f repair: remove redundant idx, improve output
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-06 15:42:47 -07:00
Varun Patil 9f25571704 migration: move filecache index to repair
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-06 15:29:16 -07:00
Varun Patil 278b2458b3 v5.5.1 2023-10-06 15:20:54 -07:00
Varun Patil 9a9783bea1 migration: fix index addition check
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-06 15:17:04 -07:00
Varun Patil 12bd8823e7 migration: add missing column checks (fix #845)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-06 15:14:16 -07:00
Varun Patil 14941a6c43 readme: add google play badge
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-06 11:02:14 -07:00
Varun Patil 3c28d93bc6 v5.5.0 2023-10-06 10:44:00 -07:00
Varun Patil 20c92e26e1 Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-06 09:57:56 -07:00
Varun Patil 57a161b7ed album: fix OG metadata in public link (fix #844)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-06 09:57:51 -07:00
Varun Patil b9dabc1e14 refactor: minor readjustment in util
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-06 09:55:39 -07:00
Nextcloud bot d4de8243bb
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-06 02:23:27 +00:00
Varun Patil e56828f3e8 lint: fix php
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 23:52:11 -07:00
Varun Patil fedb029b3f Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-04 23:51:56 -07:00
Varun Patil 20d049f160 lp: support Samsung HEIC
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 23:51:52 -07:00
Varun Patil 1360f411ca exif: trim db fields
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 23:33:59 -07:00
Nextcloud bot 64dacfb93f
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-05 02:37:39 +00:00
Varun Patil cb1d0d1ab2 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 17:16:31 -07:00
Varun Patil 686b399363 exif: only extract unknowns for lp
This is extremely slow for big MKV files, for example

Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 16:44:03 -07:00
Varun Patil f07a376c37 v5.5.0-rc.2
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 15:50:42 -07:00
Varun Patil 810ee107c9 nx: fix db update event
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 15:49:17 -07:00
Varun Patil 8b1121fc62 Fix db update events 2023-10-04 15:49:01 -07:00
Varun Patil d2c12316d3 rename variables 2023-10-04 15:35:38 -07:00
Varun Patil ce78d81d77 exif: fix buid definition
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 15:34:15 -07:00
Varun Patil 55631f53b6 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 15:14:17 -07:00
Varun Patil 96ff22325f nx: implement buid
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 15:09:43 -07:00
Varun Patil 55e5c05d54 Implement BUID 2023-10-04 14:59:47 -07:00
Varun Patil 8a90e8e01d nx: remove useless size
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 12:54:24 -07:00
Varun Patil 4016d48007 nx: bump min version
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 12:47:19 -07:00
Varun Patil c04cc12e88 Bump version 2023-10-04 12:47:08 -07:00
Varun Patil fbc5825ba7 nx: do not stringify numbers
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 12:45:35 -07:00
Varun Patil 0705924227 Pass numbers in JS interface 2023-10-04 12:45:05 -07:00
Varun Patil d22d7603ed nx: remove wrong fallback
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 12:35:59 -07:00
Varun Patil 4928eef556 remove log message 2023-10-04 12:15:38 -07:00
Varun Patil 864a240d0b nx: debounce fresh insertion
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 12:15:15 -07:00
Varun Patil 728c8e46ed Add threadpool for some ops 2023-10-04 11:46:58 -07:00
Varun Patil f7b9940181 Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-04 10:09:59 -07:00
Varun Patil aab9b6f0f7 docs: update privacy
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-04 10:09:56 -07:00
Nextcloud bot e0879ce335
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-04 02:23:13 +00:00
Varun Patil 8f820de237 cluster: add touch sound
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-03 19:20:26 -07:00
Varun Patil 62bbe2470a albums: fix deletion message
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-03 19:12:17 -07:00
Varun Patil 07b4d0dbc4 enable cache 2023-10-03 11:54:39 -07:00
Varun Patil 222db00efa Fix theming 2023-10-03 11:52:15 -07:00
Varun Patil 6d3fa7d27b nxsetup: fix overflow
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-03 11:28:59 -07:00
Varun Patil cba4bfc823 no need to specify http in url 2023-10-03 11:22:45 -07:00
Varun Patil 0152baa016 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-03 11:17:08 -07:00
Varun Patil 992a5a57a9 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-03 11:12:20 -07:00
Varun Patil 1a4d01f387 Take down req 2023-10-03 11:11:04 -07:00
Varun Patil df76e70202 v5.5.0-rc.1 2023-10-03 11:10:22 -07:00
Varun Patil 9a61e24cee Bump minimum version and check 2023-10-03 11:07:25 -07:00
Varun Patil 3e272236a5 lint: fix php
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-03 11:03:15 -07:00
Varun Patil 8f88c0f96e Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-03 11:01:43 -07:00
Varun Patil d9791d921c binext: allow directory change (fix #821)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-03 11:01:36 -07:00
Varun Patil f414c224c7
Merge pull request #840 from ASDFGamer/show-place-count
Show number of pictures per place
2023-10-03 10:45:18 -07:00
Varun Patil fd13ebd44d Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-03 10:44:38 -07:00
Varun Patil dfa4ab6695 Merge branch 'pulsejet/nn' 2023-10-03 10:44:14 -07:00
Varun Patil eb5f998505 Encrypt token (fix #10) 2023-10-03 10:43:21 -07:00
Varun Patil cba3e1faeb timeline: prevent unnecessary promises
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-03 10:10:30 -07:00
Varun Patil 5ab50fe85d New marking API 2023-10-03 10:07:01 -07:00
Varun Patil b04586ba34 nx: new marking API
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-03 10:06:40 -07:00
Varun Patil 5f6897b5c9 timeline: fix destructive cache reads
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-03 09:31:03 -07:00
Varun Patil d4765fef1a Fix ordering of query responses 2023-10-03 09:06:07 -07:00
Varun Patil e4ca88462d nx: add day cache
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-03 09:05:45 -07:00
Varun Patil 01d3e66108 nx: improve sorting algorithm
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-03 08:41:56 -07:00
Nextcloud bot 8f0cb9fd31
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-03 02:22:40 +00:00
Varun Patil ae6a2adbc4 ncx: use serverid API
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 18:43:11 -07:00
Varun Patil 500fe57e49 add serverid api 2023-10-02 18:32:40 -07:00
Varun Patil 3435ab35c9 app: refactor
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 18:00:49 -07:00
Varun Patil 1cb428b489 nx: use hidden API
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 17:54:56 -07:00
Varun Patil 51b096c194 api: add hidden day option
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 17:22:05 -07:00
Varun Patil 5820c53857 tq: mark hidden files
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 17:09:10 -07:00
Varun Patil 58760b1c53 nx: only fetch day for haslocal
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 16:27:53 -07:00
Varun Patil a87bc2e14b migration: show progress on epoch migration
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 15:42:41 -07:00
Varun Patil 96f0468c3a docs: note large migrations
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 13:50:04 -07:00
Varun Patil 63b5c00fc8 Remove useless space
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 13:34:47 -07:00
Varun Patil 33d99ee310 nxsetup: more improvements
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 13:33:26 -07:00
Varun Patil e3bea8b35b Show sync progress 2023-10-02 13:33:13 -07:00
Varun Patil aa867f1a49 nxsetup: fix nx theme
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 10:18:28 -07:00
Varun Patil 5d4fd8b07e Show toast on login 2023-10-02 10:17:27 -07:00
Varun Patil 582035df16 Refactor 2023-10-02 10:09:40 -07:00
Varun Patil b4eb9c1fc1 page: nxsetup is not public
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 10:09:23 -07:00
Varun Patil fd1671625a nx: move setup to this
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-02 10:03:58 -07:00
Varun Patil 53f8d248b7 Refactor 2023-10-02 09:36:23 -07:00
Varun Patil bb4d204228 Refactor 2023-10-01 20:36:27 -07:00
Varun Patil 9a85fa22ce Add HTTP service 2023-10-01 20:26:50 -07:00
Varun Patil 882a03312f Refactor 2023-10-01 20:19:24 -07:00
Varun Patil 44da3fc059 Refactor 2023-10-01 19:42:37 -07:00
Varun Patil a0c7408086 Refactor 2023-10-01 19:41:26 -07:00
Varun Patil 99dcd129ab Refactor 2023-10-01 19:38:39 -07:00
Varun Patil 6d83c026b1 Refactor 2023-10-01 19:38:19 -07:00
Varun Patil 2f065e6d12 Refactor 2023-10-01 19:37:35 -07:00
Varun Patil 0eee69bacb Refactor 2023-10-01 19:26:11 -07:00
Nextcloud bot d80be442fd
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-02 02:22:45 +00:00
Varun Patil a612b02dfa Refactor 2023-10-01 19:17:05 -07:00
Varun Patil 4e90123814 Refactor 2023-10-01 19:14:43 -07:00
Varun Patil 73ff1b883f Fix iteration 2023-10-01 19:11:44 -07:00
Varun Patil 19e5fa29dc Reorder stuff 2023-10-01 19:04:41 -07:00
Varun Patil a930eab8d2 refactor: split nativex
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-01 19:04:01 -07:00
Varun Patil 3f85f76d2e Remove dead code 2023-10-01 18:43:38 -07:00
Varun Patil f6ba121c40 edit-meta: disable when processing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-01 10:36:20 -07:00
Varun Patil a3f327ed36 edit-metadata: prompt if no date
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-01 10:28:45 -07:00
Varun Patil df07f8f671 Merge branch 'master' of https://github.com/pulsejet/memories 2023-10-01 10:15:50 -07:00
Varun Patil 4a595db3f5 metadata: fix display of dates without tz info
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-01 09:34:48 -07:00
Varun Patil 9f246ff58b refactor: variable name
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-01 08:46:16 -07:00
Varun Patil a14f2febb6 exif: fix mtime zone
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-01 08:45:44 -07:00
Varun Patil 30dadfeac9 refactor: data construction in EditMetadataModal
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-01 08:26:44 -07:00
Varun Patil 37c2065129 refactor: improve typing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-10-01 08:08:10 -07:00
Christoph Wildhagen d7c55aa5a9
Update source of count value 2023-10-01 13:07:05 +02:00
Christoph Wildhagen f5f844e978
Merge branch 'pulsejet:master' into show-place-count 2023-10-01 13:05:51 +02:00
Nextcloud bot 3c502a577e
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-10-01 02:29:19 +00:00
Varun Patil 0796b58b87 Switch share local to AUID 2023-09-30 15:01:35 -07:00
Varun Patil e787b1c14e nx: attempt to share local file
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 15:01:12 -07:00
Varun Patil 12d5f137da Switch full load to AUID 2023-09-30 14:47:56 -07:00
Varun Patil 3ec3a7bcd2 nx: always try local image for full load
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 14:47:37 -07:00
Varun Patil 58220ecd2c ps-image: prevent repeat loading of full res
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 14:29:38 -07:00
Varun Patil f5daa0e557 Adapt to new nx api 2023-09-30 14:15:29 -07:00
Varun Patil a78aa311f0 Bump up go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 14:14:42 -07:00
Varun Patil 96e033b23d nx: force local video when available
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 14:14:36 -07:00
Varun Patil 54bfe16c28 Oops 2023-09-30 14:09:38 -07:00
Varun Patil 9f466511eb Add dry delete API 2023-09-30 13:39:11 -07:00
Varun Patil 0b745fef6f nx: deduplicate confirmations for deletion
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 13:38:46 -07:00
Varun Patil 8976b53284 Upgrade gradle 2023-09-30 12:33:12 -07:00
Varun Patil ccf037e44a css: fix alignment of empty content
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 12:32:28 -07:00
Varun Patil 679538e6df exif: remove useless byrefs
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 12:26:17 -07:00
Varun Patil 2f9da42f96 e2e: upgrade versions
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 12:05:53 -07:00
Varun Patil f76703ee7f test: fix E2E 2023-09-30 12:04:36 -07:00
Varun Patil 917020d426 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 11:44:11 -07:00
Varun Patil 5fac290b37 share: enable sharing smaller videos
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 11:37:40 -07:00
Varun Patil 7a8c23d4e9 Allow multi resolution full videos 2023-09-30 11:34:18 -07:00
Varun Patil 23d54d3f3b refactor: move modal functions to namespace
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 10:30:59 -07:00
Varun Patil 87b99fe6ea refactor: make face move modal singleton
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 10:17:28 -07:00
Varun Patil da35e9a41f refactor: make moveToFolder singleton
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 10:10:04 -07:00
Varun Patil b7f6d557dd albums: hint addition
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 10:02:09 -07:00
Varun Patil 0fdab7d7c7 sel: ask deletion confirmation (fix #798)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 09:56:38 -07:00
Varun Patil 96e3b3e769 dialog: autofocus confirm button
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 09:41:52 -07:00
Varun Patil 33b916d54a perf: add index on isvideo
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-30 09:01:26 -07:00
Varun Patil 10bc05eaea dav: minify xml
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 20:56:09 -07:00
Varun Patil 248a3cd7a0 dav: remove dead code
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 20:46:26 -07:00
Varun Patil a1072d03b5 l10n: make albums shared by consistent
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 20:19:44 -07:00
Varun Patil 1fc100a61f l10n: translate tags in metadata
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 20:16:02 -07:00
Varun Patil eddd459132 Merge branch 'master' of https://github.com/pulsejet/memories 2023-09-29 20:13:43 -07:00
Varun Patil cf883d9403 Merge branch 'ASDFGamer-translate-tag-names' 2023-09-29 20:13:32 -07:00
Varun Patil 5efb659f70 l10n: use natural sorting
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 20:12:52 -07:00
Varun Patil ace3bfc63c l10n: fix localeCompare lang
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 20:08:05 -07:00
Varun Patil a2466e3501 explore: fix tag translation
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 20:01:48 -07:00
Varun Patil e95ff4f05c refactor: fix PR
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 19:48:40 -07:00
Varun Patil 94053f7dd3 refactor: fix PR
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 19:25:39 -07:00
Nextcloud bot 02692e3447
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-30 02:21:05 +00:00
Varun Patil 9eebe8f8e3 Merge branch 'translate-tag-names' of https://github.com/ASDFGamer/memories into ASDFGamer-translate-tag-names 2023-09-29 19:18:33 -07:00
Varun Patil 52df869e90 admin: fix description of preview_max_filesize_image (fix #816)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 18:54:55 -07:00
Varun Patil ee3d6e20df Merge branch 'master' of https://github.com/pulsejet/memories 2023-09-29 18:52:06 -07:00
Varun Patil 23843c3ded exif: resume on failure to get file (fix #820)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 18:52:03 -07:00
Varun Patil fa9d26e3da index: fix error logging
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 18:50:32 -07:00
Christoph Wildhagen 06266a27e3 Show number of pictures per place
This shows the number of pictures per place.
This function was previously disabled, if the parameter 'mark'
wasn't set to 0. I found no reason why this was the case.

Signed-off-by: Christoph Wildhagen <git@christoph-wildhagen.de>
2023-09-30 00:58:50 +02:00
Christoph Wildhagen 6ea34b223c Sort Tags by translated names
Previously the tags were sorted (implicitly via the api) by the english
names. This could be confusing in other languages, when the shown
tags were seemingly unordered.

Signed-off-by: Christoph Wildhagen <git@christoph-wildhagen.de>
2023-09-29 23:07:42 +02:00
Christoph Wildhagen 22d24bc608 Translate Names of ClusterTopMatter for Tags
This fixes a bug, that the Name/Title of Tag detail sites like
/apps/memories/tags/Frog isn't translated, even though the
name of the Tag is translated in the tag overview page.

Signed-off-by: Christoph Wildhagen <git@christoph-wildhagen.de>
2023-09-29 22:26:27 +02:00
Varun Patil eacf64fce0
Merge pull request #837 from ASDFGamer/readme-add-required-programs
Readme add required programs
2023-09-29 11:28:57 -07:00
Varun Patil 697fc4535d index: prevent blank exif indexing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 11:25:49 -07:00
Christoph Wildhagen cffbe4bea1
Fix numbering in List 2023-09-29 20:20:58 +02:00
Christoph Wildhagen 03212a9385
Update README.md
Add required programs to Development Setup

This adds a step to the Developement Setup section that shows
that Composer and Node.js has to be installed.
2023-09-29 20:19:32 +02:00
Varun Patil d773f36ed1 Merge branch 'Murena-SAS-dev/default-timeline' 2023-09-29 11:03:52 -07:00
Varun Patil 630a435dea Refactor PR 2023-09-29 11:00:44 -07:00
Varun Patil 6947ee9bc5 Merge branch 'dev/default-timeline' of https://github.com/Murena-SAS/memories into Murena-SAS-dev/default-timeline 2023-09-29 10:34:16 -07:00
Varun Patil 2bb0f30c6f admin: allow configuring GOP size workaround (fix #800)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 10:27:59 -07:00
Varun Patil 47a4ea7c78 Bump up go-vod (fix #822)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 10:27:29 -07:00
Varun Patil ebb9b5373b Bump up version 2023-09-29 10:25:17 -07:00
Varun Patil a7968c9279 stream: add UseGopSize 2023-09-29 10:25:00 -07:00
Varun Patil ec9900e166 refactor: use log for log 2023-09-29 10:24:41 -07:00
Varun Patil c933613d1e Fix sidecar metadata in max.mov 2023-09-29 10:00:22 -07:00
Varun Patil 151f1e9d8c docs: document OCC commands
closes #772

Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-29 09:50:49 -07:00
Varun Patil e10baecb69 lint: fix php
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-27 18:57:29 -07:00
Varun Patil 562128b02b tq: use MAX for mimetype query (fix #312)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-27 18:43:14 -07:00
Varun Patil 1c51422ed9 Merge branch 'master' of https://github.com/pulsejet/memories 2023-09-27 18:33:06 -07:00
Varun Patil 725c32cb4e tq: hide files in hidden folders (fix #825)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-27 18:33:03 -07:00
Akhil 269d080df1
lint fix 2023-09-26 23:17:28 +05:30
Akhil 6b4983fc28
use getsystemconfig method 2023-09-26 20:36:49 +05:30
Akhil 77cb06e67a
Use default_timeline_path to show first start or not 2023-09-26 20:17:30 +05:30
Akhil 83ed204d9c
Set default timeline path option 2023-09-26 20:08:54 +05:30
Nextcloud bot 2d6c62065e
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-24 02:23:21 +00:00
Nextcloud bot e790c9dbc1
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-23 02:22:00 +00:00
Nextcloud bot 97430cd9eb
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-22 02:28:22 +00:00
Nextcloud bot 01075647fc
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-21 02:26:41 +00:00
Nextcloud bot e145b99491
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-19 02:18:20 +00:00
Nextcloud bot ebddc4d62e
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-15 02:20:18 +00:00
Nextcloud bot a5871977fd
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-14 02:22:58 +00:00
Nextcloud bot 04dfab551b
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-13 02:18:30 +00:00
Varun Patil 277f1789f5 lint: fix php with latest cs-fixer
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-12 10:56:59 -07:00
Varun Patil 2e21251c73 tooling: fix Makefile cs-fixer installation
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-12 10:56:33 -07:00
Varun Patil fbd2669562 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-12 10:56:09 -07:00
Varun Patil bc3572b571 Merge branch 'rhyst-add-public-full-res-options' 2023-09-12 10:54:11 -07:00
Varun Patil 41ea6bdc1f user-config: fix errors on init
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-12 10:50:53 -07:00
Varun Patil 73fdcd9166 Refactor implementation 2023-09-12 10:40:23 -07:00
Varun Patil 66c5baa964 Merge branch 'add-public-full-res-options' of https://github.com/rhyst/nextcloud-memories into rhyst-add-public-full-res-options
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-12 09:40:28 -07:00
Varun Patil f7f4c12dba app: whitelist HEIF and WebP (#812, close #811)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-12 09:28:25 -07:00
Varun Patil a4175ad59e dav: remove dead code
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-12 09:17:17 -07:00
Varun Patil fd7ac71d96 tw: simplify cleanup query
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-08 16:30:38 -07:00
Varun Patil c5691f50b9 Merge branch 'master' of https://github.com/pulsejet/memories 2023-09-08 16:13:59 -07:00
Varun Patil f2dc42e83a Merge branch 'Murena-SAS-dev/index-command-options' 2023-09-08 16:13:54 -07:00
Varun Patil 94d423a9df lint: fix php 2023-09-08 16:10:29 -07:00
Varun Patil a9a25a9555 Merge branch 'dev/index-command-options' of https://github.com/Murena-SAS/memories into Murena-SAS-dev/index-command-options 2023-09-08 16:09:40 -07:00
Nextcloud bot 9a51158c5b
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-08 02:24:39 +00:00
Nextcloud bot 1c4c6f3f56
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-07 02:22:44 +00:00
Varun Patil 50dfffc0f8 admin: improve perl detection
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-03 13:30:31 -07:00
Varun Patil 134e0f3748 download: don't cap video downloads
This doesn't work in Firefox due to a bug in video streaming.

Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-03 09:37:23 -07:00
Varun Patil 068379ee06 Merge branch 'master' of https://github.com/pulsejet/memories 2023-09-03 09:26:57 -07:00
Varun Patil 0752081d15 refactor: remove force option from getSysConfig
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-09-03 09:26:54 -07:00
Nextcloud bot a1caada47a
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-02 02:19:04 +00:00
Akhil d08778122b
Fix group condition
Signed-off-by: Akhil <akhil@e.email>
2023-09-01 20:23:24 +05:30
Akhil 16f12ef061
Add per-group and skip cleanup options 2023-09-01 17:03:50 +05:30
Nextcloud bot eb262ac5b6
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-09-01 02:23:18 +00:00
Varun Patil deef94f7cd lp: reduce liveid size to 128
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-31 13:32:52 -07:00
Varun Patil 5ad9092928 migrations: reduce size of old UID field
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-31 13:30:50 -07:00
Varun Patil 5ba43a134a binext: bump go-vod to 0.1.13 (close #800)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-30 20:10:04 -07:00
Varun Patil 33714bb36a 0.1.13 2023-08-30 20:06:11 -07:00
Varun Patil 8d46582c11 stream: use passtrough only for scale_cuda 2023-08-30 20:05:13 -07:00
Varun Patil 58ac632839 stream: add split_by_time HLS flag 2023-08-30 19:59:03 -07:00
Varun Patil cd93535419 Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-30 19:51:25 -07:00
Varun Patil 748ee361d3 timeline: hide scroller on empty content
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-30 19:49:55 -07:00
Varun Patil 6394301af5 scroller: fix for zero rows (fix #801)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-30 19:47:01 -07:00
Nextcloud bot 10fc5f50e8
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-31 02:30:25 +00:00
Varun Patil b4873776a3 refactor: lint fix
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-30 13:27:43 -07:00
Varun Patil 4122f592b6 public: fix extra slash in path (fix #716)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-30 13:25:28 -07:00
Varun Patil 77a557547e docs: add arch migration commands
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-30 12:56:08 -07:00
Varun Patil f1ed890480 chore: update php-cs-fixer
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-30 11:10:08 -07:00
Varun Patil 5cffbf2197 places: reduce column size
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-30 10:25:25 -07:00
Varun Patil 8845a4f9ee docs: minor style updates
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-29 10:29:04 -07:00
Varun Patil 051b0ea74c Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-29 10:27:28 -07:00
Varun Patil b1ab26e44a refactor: improve typing and doc
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-29 10:27:26 -07:00
Nextcloud bot 15f37558ab
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-29 02:26:25 +00:00
Varun Patil e75aa4006f router: remove dead link
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-28 16:43:04 -07:00
Varun Patil fce0a23277 albums: update view on deselection
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-28 16:25:37 -07:00
Varun Patil c196761c5e viewer: rename fetch day event
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-28 16:16:12 -07:00
Varun Patil 41a255aaa3 refactor: add typed event bus
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-28 16:14:50 -07:00
Varun Patil 9b12b2ab41 albums: fix changing albums from album (fix #795)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-28 15:23:43 -07:00
Varun Patil 6ca3b10606 Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-28 09:10:25 -07:00
Varun Patil 45b042d704 db: change mtime to BIGINT (fix #518)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-28 09:10:23 -07:00
Nextcloud bot e6eff83c50
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-28 02:20:11 +00:00
Nextcloud bot 793b5964ab
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-27 02:23:05 +00:00
Varun Patil bca08f7eb2 refactor: use cached uid and isAdmin
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 21:41:42 -07:00
Varun Patil 78de9601ef albums: allow leaving shares
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 21:20:38 -07:00
Varun Patil 5cebf5cb80 dav: generalise info cache for filename
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 20:57:35 -07:00
Varun Patil f56f7a7272 Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-25 20:38:03 -07:00
Varun Patil 224bd3c2c9 viewer: reduce round trip for sidebar load
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 20:01:16 -07:00
Varun Patil ff481dffbb image: revert filename format change
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 19:55:04 -07:00
Varun Patil cd853f4a04 metadata: make basename clickable
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 19:40:01 -07:00
Nextcloud bot 8e215035e0
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-26 02:28:33 +00:00
Varun Patil 97574690bc refactor: improve typing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 15:54:46 -07:00
Varun Patil 65cd1952ff refactor: improve typing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 14:47:57 -07:00
Varun Patil fbcec52de4 metadata: refactor
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 13:49:40 -07:00
Varun Patil 001c63ad90 metadata: add file path (fix #173)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 12:53:15 -07:00
Varun Patil 991babb2b5 edit-exif: enter to save
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 12:14:20 -07:00
Varun Patil aa04736456 metadata: move description to top
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 12:07:31 -07:00
Varun Patil ebd26d32b1 viewer: fix bottom bar width
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-25 11:28:17 -07:00
Varun Patil 19a1aebba3 Bump up go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-24 22:16:10 -07:00
Varun Patil 814af27881 Bump up version 2023-08-24 22:14:40 -07:00
Varun Patil eb5ce7fedd manager: use container duration 2023-08-24 22:12:35 -07:00
Varun Patil 164d0cb4a4 Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-24 21:14:44 -07:00
Varun Patil b0bf05df31 admin: detect recognize installed but not enabled (fix #789)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-24 21:14:41 -07:00
Nextcloud bot e6ced8d29b
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-25 02:39:30 +00:00
Nextcloud bot 62c9c64cca
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-24 03:00:39 +00:00
Varun Patil 68cdcffb8d
Merge pull request #788 from meichthys/master-1
Update memories-vs-photos.md
2023-08-23 14:29:26 -07:00
MeIchthys 592c7535df
Update memories-vs-photos.md
Add note about `draw` and `Shared with you` features missing in memories.
2023-08-23 10:53:00 -04:00
Nextcloud bot 2d2cbb743d
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-23 02:22:24 +00:00
Varun Patil baf8d70608 Merge branch 'szaimen-enh/615/add-aio-docs' 2023-08-22 12:41:47 -07:00
Varun Patil d7447d24e1 docs: minor update
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-22 12:41:34 -07:00
Varun Patil 1a443b8bff Merge branch 'enh/615/add-aio-docs' of https://github.com/szaimen/memories into szaimen-enh/615/add-aio-docs 2023-08-22 12:28:46 -07:00
Varun Patil cabaed234f Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-22 10:47:03 -07:00
Varun Patil 1426e947ba image: prevent quality loss during commit
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-22 10:46:53 -07:00
Simon L 10804f3ecc add a few docs on AIO
Signed-off-by: Simon L <szaimen@e.mail.de>
2023-08-22 19:21:17 +02:00
Nextcloud bot 07413e3e31
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-22 02:49:18 +00:00
Varun Patil aecc53841c refactor: lowercase all services
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 18:30:46 -07:00
Varun Patil 1084c7057b refactor: lowercase Utils
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 18:22:14 -07:00
Varun Patil fe4fd9c240 refactor: split up CSS globals
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 18:17:55 -07:00
Varun Patil 4357a722a4 dialog: improve accessibility
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 18:05:36 -07:00
Varun Patil 38981ea0a3 dialog: add prompt proxy
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 18:00:07 -07:00
Varun Patil 9211d99a8b refactor: remove dead import
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 17:40:41 -07:00
Varun Patil 7eb9ffc3bf selection: move to custom dialog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 17:40:03 -07:00
Varun Patil 60281c1f7f viewer: move to custom dialog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 17:35:12 -07:00
Varun Patil ba19a3b45f dialog: allow blank title and message
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 17:35:05 -07:00
Varun Patil 80f01974ce dialog: migrate to user-dialog for most parts
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 17:23:56 -07:00
Varun Patil 6b1ccee34c main: remove dead code 2023-08-21 16:08:12 -07:00
Varun Patil ca60375703 reformat manifest 2023-08-21 12:42:38 -07:00
Varun Patil 84086024bd Optimization 2023-08-21 12:41:26 -07:00
Varun Patil 4e89b101b2 Reformat code 2023-08-21 12:38:55 -07:00
Varun Patil 3fb209a994 room: add indices 2023-08-21 12:36:39 -07:00
Varun Patil 6dfe308268 Switch to room 2023-08-21 12:32:52 -07:00
Varun Patil ec8c125b0e account : catch all exceptions 2023-08-21 09:59:22 -07:00
Varun Patil 6f7e68ad17 More refactor 2023-08-21 03:39:16 -07:00
Varun Patil bd5113e6b1 nx: rearrange structure 2023-08-21 03:30:43 -07:00
Varun Patil 1602173ce3 nx: document incomplete sync API
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 03:22:52 -07:00
Varun Patil 23b0f4b102 fields: refactor more 2023-08-21 03:12:41 -07:00
Varun Patil 56a1ec6cf6 Refactor Db calls 2023-08-21 02:42:44 -07:00
Varun Patil e4db8e8089 base: prevent deleting locals for albums
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 00:27:25 -07:00
Varun Patil 7b0159f4f2 native: delete with AUID
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-21 00:23:54 -07:00
Varun Patil 4df353c7d2 Deletion with AUIDs 2023-08-21 00:23:38 -07:00
Varun Patil 2493e95cd6 native: refactor delete
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 23:35:02 -07:00
Varun Patil 2f4fff2ff8 base: prevent infinite loop
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 23:34:15 -07:00
Varun Patil d9e1c2a95d Implement AUID 2023-08-20 23:08:34 -07:00
Varun Patil dca914274c Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-20 23:07:13 -07:00
Varun Patil 290c550f2f native: implement AUID
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 23:07:07 -07:00
Varun Patil 25761f119b migrations: update copyright
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 22:13:09 -07:00
Varun Patil 290d8c6bed Store AUID in DB 2023-08-20 21:30:15 -07:00
Nextcloud bot 7a58411323
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-21 02:21:21 +00:00
Varun Patil fea191638c docs: link to store
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 14:22:32 -07:00
Varun Patil 15d522a896 readme: link to store page
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 14:21:56 -07:00
Varun Patil e71951f984 v5.4.1 2023-08-20 14:11:35 -07:00
Varun Patil 831f07a021 Fix perms 2023-08-20 13:55:06 -07:00
Varun Patil 6756d73ffb main: fix color parsing 2023-08-20 13:28:45 -07:00
Varun Patil a3603a4d2e nativex: document regex patterns
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 13:03:52 -07:00
Varun Patil a5d68632a4 nativex: describe interfaces
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 13:00:41 -07:00
Varun Patil 8c10c0acb7 v5.3.0
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 11:37:37 -07:00
Varun Patil 04cc704063 editor: more crop options (fix #546)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 11:24:25 -07:00
Varun Patil e200b10051 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 11:07:18 -07:00
Varun Patil 29aae6bfc1 albums: add search bar to picker
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 11:05:24 -07:00
Varun Patil a3280e1351 face-list: minor refactor
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 10:51:43 -07:00
Varun Patil 5928255463 fs: document nomedia exclusion
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 10:38:17 -07:00
Varun Patil 31014fc2a9 map: remove dark mode
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 10:29:36 -07:00
Varun Patil 41723320f4 Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-20 09:42:08 -07:00
Varun Patil 0091fdd962 index: support .nomemories (fix #777)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-20 09:42:04 -07:00
Nextcloud bot 79f2bf3937
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-20 02:27:37 +00:00
Varun Patil ca8fad3055 timeline: prevent negative loading count
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-19 15:41:57 -07:00
Varun Patil b4748fbcab timeline: fix refreshing favorite state
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-19 15:26:55 -07:00
Varun Patil 8658147a44 sel: prevent duplicate calls (fix #760)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-19 14:40:11 -07:00
Varun Patil 29e44f051d docs: update VA-API example (close #628)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-19 12:58:50 -07:00
Varun Patil d04697ae63 albums: auto select new album in picker (fix #770)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-19 11:19:00 -07:00
Varun Patil 178e46fba6 livephoto: unmute viewer playback (fix #660)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-19 10:43:12 -07:00
Varun Patil 3b0106a996 face: improve top matter name behavior
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-19 10:36:50 -07:00
Varun Patil 6c444a00d7 Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-19 10:01:53 -07:00
Varun Patil 1f2305b804 Merge branch 'g3n35i5-fix/unassigned-faces-selection-problem' 2023-08-19 10:01:50 -07:00
Varun Patil 693fa029d7 Refactor SelectionManager 2023-08-19 09:57:13 -07:00
Varun Patil 293421fb9a Merge branch 'fix/unassigned-faces-selection-problem' of https://github.com/g3n35i5/memories into g3n35i5-fix/unassigned-faces-selection-problem 2023-08-19 08:34:48 -07:00
g3n35i5 e3e20f9731 fix: Fix a bug that caused some unassigned face photos to be unselectable
This resolves #721
2023-08-19 12:03:25 +02:00
Nextcloud bot 5cb3f3a7fa
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-19 02:27:09 +00:00
Varun Patil 6c430d54f9 dav: improve pipelining
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-17 14:04:25 -07:00
Varun Patil 9fe1c02076 refactor: use selectAlias
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-17 10:48:43 -07:00
Varun Patil 4e3ed6fc49 admin: check for preview imagick and ffmpeg
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-16 20:24:38 -07:00
Varun Patil 57a4c81bb5 Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-16 19:30:41 -07:00
Varun Patil fe1a6f6886 img: update logo
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-16 19:30:33 -07:00
Nextcloud bot 071561bb8d
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-17 02:27:42 +00:00
Varun Patil d0901cae5f Bump up version 2023-08-16 19:00:14 -07:00
Varun Patil a6bd21a9f9 Merge branch 'matiasdelellis-memoriesMetadata' 2023-08-16 08:40:36 -07:00
Varun Patil 520d0c6b13 metadata: use face recognition if recognize not available 2023-08-16 08:40:15 -07:00
Varun Patil ea11e8d984 Merge branch 'memoriesMetadata' of https://github.com/matiasdelellis/memories into matiasdelellis-memoriesMetadata 2023-08-16 08:25:50 -07:00
Varun Patil 5b509c241d Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-16 08:19:37 -07:00
Varun Patil b513650892 recognize: filter user in unassigned (fix #773)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-16 08:18:51 -07:00
Varun Patil a6d7ddecdb clusters: add error message to preview
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-16 08:16:06 -07:00
Nextcloud bot 8ab66ff994
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-16 02:16:25 +00:00
Varun Patil 2bedef3354 readme: shout out to @mpanhans
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-15 16:48:51 -07:00
Nextcloud bot abbed47d24
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-13 02:16:08 +00:00
Nextcloud bot b41067a185
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-12 02:22:22 +00:00
Nextcloud bot 834962dcdd
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-11 02:21:24 +00:00
Nextcloud bot 17e61dde55
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-10 02:21:33 +00:00
Nextcloud bot 1043719448
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-09 02:44:46 +00:00
Matias De lellis df918a04de Don't show the individual clusters but now accordingly with the new version of Face Recogntion. 2023-08-08 20:38:15 -03:00
Matias De lellis 68e8204ee6 Two small micro optimizations
Confidence is not used since the faces scoring method is shared with
recognize and fix removal of two parameters in image list response.
2023-08-08 19:21:18 -03:00
Nextcloud bot 26c93ee8b4
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-08 02:24:17 +00:00
Matias De lellis 4e98eddb53 Metadata: Uses FaceRecognition clusters when the route if from this application. 2023-08-07 21:15:57 -03:00
Matias De lellis b956cbdb53 Implement Face Recognition getClustersInternal filtered with fileid 2023-08-07 21:11:36 -03:00
Nextcloud bot a2569f1690
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-07 02:22:29 +00:00
Nextcloud bot bfd874de0a
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-06 02:18:00 +00:00
Varun Patil 71f0f5e523 chore: bump up go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-05 11:27:29 -07:00
Varun Patil df534ae500 Bump up version 2023-08-05 11:24:20 -07:00
Varun Patil f347b996d2 manager: fix size calculation 2023-08-05 11:24:07 -07:00
Varun Patil 5e7e4fae4d viewer: allow disabling live photo autoplay (fix #591)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-05 10:39:29 -07:00
Varun Patil 464ccfebce timeline: fix blank gaps at top when loading new rows
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-05 10:19:04 -07:00
Varun Patil ae11c4551e cluster: fix overlay
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 23:12:20 -07:00
Varun Patil 66ac8a5462 cluster: increase margin
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 23:08:24 -07:00
Varun Patil e7f3576f72 cluster-grid: improve rounding
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 22:03:26 -07:00
Varun Patil aadc2ce133 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 19:41:43 -07:00
Varun Patil f95c937aeb cluster: make circle text bold
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 19:39:10 -07:00
Varun Patil 09e925b202 cluster-grid: fix wrong margin
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 19:38:59 -07:00
Varun Patil cb1f0e7917 Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-04 19:30:38 -07:00
Varun Patil ff019d4595 cluster: fix album gap on mobile
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 19:30:36 -07:00
Nextcloud bot 4a0e6407f5
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-05 02:22:01 +00:00
Varun Patil e8b9936512 cluster: make album title bold
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 19:04:17 -07:00
Varun Patil 211c5a640e folder: improve padding on desktop
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 19:01:45 -07:00
Varun Patil 3fec0a94bd cluster: new albums layout
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 18:49:28 -07:00
Varun Patil eba28c3976 cluster: specify margin in px
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 14:42:18 -07:00
Varun Patil 7b936d8955 cluster: refactor name alignment
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 14:35:07 -07:00
Varun Patil a82ba99231 cleanup: remove unused ref
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 13:51:24 -07:00
Varun Patil 454a98dc23 app: disable service worker on localhost
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 13:49:32 -07:00
Varun Patil 7e08319f78 album: increase top matter inline count
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 13:47:26 -07:00
Varun Patil 489d6ec749 cluster: change style again
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-04 13:32:09 -07:00
Varun Patil f4b07337c1 admin: fix gaps
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 23:17:47 -07:00
Varun Patil 35be299da2 admin: refactor title
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 23:15:21 -07:00
Varun Patil dfcbf7be0a viewer: prevent duplicate metadata calls
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 23:10:38 -07:00
Varun Patil 0b31a8b9da albums: prevent list highlight when open
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 22:46:22 -07:00
Varun Patil 5b1cab9f91 albums: fix sort order
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 22:44:28 -07:00
Varun Patil 4ce6c5dbe1 v5.3.0-alpha.1
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 22:29:58 -07:00
Varun Patil 7af24abcc9 api: revert OCS API change
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 22:27:10 -07:00
Varun Patil c7b05c1194 image: improve typing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 22:15:27 -07:00
Varun Patil dfc7f76c10 viewer: hide slideshow if single item
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 21:53:25 -07:00
Varun Patil 123ce4dfb3 viewer: hide album on public route
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 21:51:27 -07:00
Varun Patil 0ddb478759 chore: bump go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 21:11:28 -07:00
Varun Patil 478d62930d stream: fix odd numbers in size 2023-08-03 21:08:29 -07:00
Varun Patil b8160e6ae8 util: fix constructor of callback response
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 20:54:44 -07:00
Varun Patil b7f6301c4e viewer: debounce sidebar updates
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 20:31:53 -07:00
Varun Patil baf3023758 Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-03 19:58:33 -07:00
Varun Patil 46a15a16eb clusters: fix linting (ugh)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 19:56:32 -07:00
Varun Patil 66f9616942 perf: reduce metadata queries
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 19:43:57 -07:00
Nextcloud bot 44f0627266
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-04 02:23:10 +00:00
Varun Patil d00411670e image: improve typing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 18:57:23 -07:00
Varun Patil db5030c18b clusters: make fileid filter generic
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 18:56:51 -07:00
Varun Patil 268268da40 metadata: stop unnecessry reflows
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 14:50:48 -07:00
Varun Patil 488c67d216 viewer: fix positioning of popper
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 14:29:08 -07:00
Varun Patil 4e03a1b24b docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 14:14:15 -07:00
Varun Patil 9052370be2 metadata: allow tag creation (fix #487)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 14:11:52 -07:00
Varun Patil dc99fcd3e5 admin: support go-vod useTranscoder option
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 13:13:17 -07:00
Varun Patil 7a67cf56e2 Make transpose optional and configurable
Close #15
Close #16
Close #17
2023-08-03 13:06:31 -07:00
Varun Patil 5cc1819a27 admin: adjust text
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 11:25:27 -07:00
Varun Patil a121c2d1a0 admin: warn if more than an hour since index
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 11:22:20 -07:00
Varun Patil 3f28416649 admin: add help section
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 11:18:15 -07:00
Varun Patil e514e75959 docs: note admin interface
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 10:53:00 -07:00
Varun Patil f13e868e72 admin: revamp UI
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 10:46:48 -07:00
Varun Patil 2f6e80c4de admin: check for preview generator
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 10:11:39 -07:00
Varun Patil 28634a3f30 admin: add apps section
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-03 10:02:21 -07:00
Varun Patil 62eea6c4e1 places: fix duplicate where
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 19:33:15 -07:00
Varun Patil 6f961b59ae Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-02 19:30:47 -07:00
Varun Patil 5fc104622e metadata: do not fetch clusters for local
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 19:30:42 -07:00
Varun Patil 7841c80317 metadata: fix spacing for people
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 19:30:30 -07:00
Varun Patil 4d31385927 viewer: hide album button for local
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 19:30:17 -07:00
Varun Patil c231e48df9 refactor: move local check to utils
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 19:30:04 -07:00
Nextcloud bot 0f3b9c89ca
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-03 02:19:57 +00:00
Varun Patil 4b1759fb11 metadata: adjust people font size on mobile
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 19:16:02 -07:00
Varun Patil 014edf7506 metadata: fix stray gap
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 19:00:22 -07:00
Varun Patil af226344b8 metadata: show faces
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 18:52:29 -07:00
Varun Patil c56911709c docs: fix key docs
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 18:19:50 -07:00
Varun Patil 8283516911 albums: rearrange stuff in backend
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 18:08:16 -07:00
Varun Patil f82c4ab851 app: fix nav alignment
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 16:29:15 -07:00
Varun Patil aad685d8d3 sidebar: fix overflow
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 16:08:04 -07:00
Varun Patil eb9c385d74 albums: fix UI when backend disabled
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 16:01:11 -07:00
Varun Patil 0e42b1cfca albums: fix incorrect deselection
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 15:53:25 -07:00
Varun Patil 0f875c2d2d albums: fix deletion from shares
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 15:34:45 -07:00
Varun Patil ce2b5f2fae albums: refactor change
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 15:28:28 -07:00
Varun Patil 854ff48d43 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 15:27:29 -07:00
Varun Patil 0a6be56996 api: refactor query
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 15:25:36 -07:00
Varun Patil 4da3bd938a albums: refactor backend
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 15:22:06 -07:00
Varun Patil 912e05fae8 metadata: fix incorrect class
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 14:43:25 -07:00
Varun Patil 8b0c95835c metadata: use router link for albums
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 14:40:41 -07:00
Varun Patil 846294fae5 albums: more refactor for metadata
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 14:30:00 -07:00
Varun Patil d7a09cfbd3 albums: refactor metadata
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 13:54:25 -07:00
Varun Patil 86e9f729f6 albums: refactor list
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 13:23:27 -07:00
Varun Patil 254329e1c2 album: refactor add modal
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 12:42:45 -07:00
Varun Patil d32793e9c0 album: refactor picker
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-02 12:01:12 -07:00
Varun Patil 5890daba1a Merge branch 'issue-738.ux-improvements' of https://github.com/johnSamilin/memories into johnSamilin-issue-738.ux-improvements 2023-08-02 11:20:05 -07:00
Varun Patil 44d79bf4d3 Merge branch 'master' of https://github.com/pulsejet/memories 2023-08-01 12:10:55 -07:00
Varun Patil 1e62cd65c5 docs: update hw transcoding (fix #757)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-08-01 12:10:53 -07:00
Nextcloud bot 6f7a6eb983
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-08-01 02:20:35 +00:00
Alex Saltykov 9ef9c573f7
Merge branch 'pulsejet:master' into issue-738.ux-improvements 2023-07-31 19:13:57 +03:00
Alexander Saltykov 9c883b5584 Moves AlbumsList component to metadata tab, changes album picker behaviour (click to add, click checkmark icon to select)
Signed-off-by: Alexander Saltykov <temp.kroogi@gmail.com>
2023-07-31 18:04:27 +03:00
Nextcloud bot 2e47d308a5
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-31 02:19:49 +00:00
Varun Patil 87c6c6f529 refactor: use route check props for cluster view
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-29 10:12:47 -07:00
Varun Patil bedacf429a albums: fix sorting order (fix #748)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-29 10:08:24 -07:00
Varun Patil 2d54b502a9 refactor: more route check functions
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-29 10:02:45 -07:00
Varun Patil 6958a678b9 timeline: fix incorrect spacing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-29 09:59:56 -07:00
Varun Patil 56323fe494 Merge branch 'master' of https://github.com/pulsejet/memories 2023-07-29 09:13:50 -07:00
Varun Patil b5239de07f Merge branch 'universalhandle-patch-1' 2023-07-29 09:13:39 -07:00
Varun Patil 1f894ba70e docs(file-types): do not list individual image providers 2023-07-29 09:13:22 -07:00
Varun Patil 1035abe308 Merge branch 'patch-1' of https://github.com/universalhandle/memories into universalhandle-patch-1 2023-07-29 09:10:46 -07:00
Nextcloud bot 44bc4accfb
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-29 02:21:23 +00:00
Alexander Saltykov 67da46f6dd Adds additional button to menu
Signed-off-by: Alexander Saltykov <temp.kroogi@gmail.com>
2023-07-28 08:59:19 +03:00
Alex Saltykov cb78e654b0
Merge branch 'pulsejet:master' into issue-738.ux-improvements 2023-07-27 11:58:38 +03:00
Alexander Saltykov c20b0db074 Adds batch removing from albums feature
Signed-off-by: Alexander Saltykov <temp.kroogi@gmail.com>
2023-07-27 08:44:52 +03:00
Nextcloud bot 1f7aa99c30
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-27 02:13:24 +00:00
Alex Saltykov a54b0b5b04
Merge branch 'pulsejet:master' into issue-738.ux-improvements 2023-07-26 10:45:15 +03:00
Alexander Saltykov ccbd550ba1 Adds multiple albums selection
Signed-off-by: Alexander Saltykov <temp.kroogi@gmail.com>
2023-07-26 08:43:20 +03:00
Nextcloud bot 1dac600121
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-26 02:47:58 +00:00
Alex Saltykov 7eca2b7111
Merge branch 'pulsejet:master' into issue-738.ux-improvements 2023-07-25 13:13:02 +03:00
Alexander Saltykov ee87fc32e4 Adds Albums tab to sidebar
Signed-off-by: Alexander Saltykov <temp.kroogi@gmail.com>
2023-07-25 12:51:08 +03:00
Nextcloud bot d865af3238
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-25 02:14:46 +00:00
Alexander Saltykov 16cdf694a2 fixes formatting
Signed-off-by: Alexander Saltykov <temp.kroogi@gmail.com>
2023-07-24 22:41:59 +03:00
Alexander Saltykov 2457eb70aa Fixes indicator styling, adds info whether an album contains selected file
Signed-off-by: Alexander Saltykov <temp.kroogi@gmail.com>
2023-07-24 22:35:25 +03:00
Nextcloud bot 29ae919dae
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-24 02:13:44 +00:00
Varun Patil 2d6b025582 image: clear imagick
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-23 15:26:41 -07:00
Varun Patil 79266d75b3 sel: initiate selection with ctrl / shift (fix #745)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-23 11:42:23 -07:00
Varun Patil ab01f9d105 rowhead: do not show sel icon if no hover device
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-23 11:40:07 -07:00
Varun Patil 945b302320 sel: let shift-click on icon select range (fix #565)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-23 11:34:51 -07:00
Varun Patil ec8a2baed0 chore: bump up dependencies
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-22 13:04:29 -07:00
Varun Patil 101170d71d editor: remove patching
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-22 12:39:09 -07:00
Varun Patil 10783a7cd1 folder: fix breadcrumb navigation (fix #731)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-21 20:53:04 -07:00
Varun Patil 33eada84a0 Merge branch 'master' of https://github.com/pulsejet/memories 2023-07-21 20:27:01 -07:00
Varun Patil 33d968dc53 chore: bump up go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-21 20:26:56 -07:00
Varun Patil f2d1a66a2a Disable transpose for CUDA 2023-07-21 20:21:39 -07:00
Varun Patil ff9c27a74e Fix invalid rotation with CPU 2023-07-21 19:02:31 -07:00
Alexander Saltykov 3663a31df0 Adds indication whether an album have this photo already
Signed-off-by: Alexander Saltykov <temp.kroogi@gmail.com>
2023-07-21 12:29:07 +03:00
Nextcloud bot 6708fb5b80
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-21 02:13:11 +00:00
Nextcloud bot dde078bfc1
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-20 02:16:22 +00:00
Nextcloud bot 86293417c9
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-19 02:17:04 +00:00
Nextcloud bot ee107caef0
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-18 02:15:10 +00:00
Nextcloud bot 71e49e5c6e
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-17 02:13:47 +00:00
Frank J. Gómez c3f550a5fc
docs: Clarify that users should modify rather than replace the enabledPreviewProviders array 2023-07-16 09:04:26 +00:00
Nextcloud bot 84760d6266
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-16 02:16:18 +00:00
Nextcloud bot 480d02e811
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-15 02:14:43 +00:00
Nextcloud bot 3caa0ef1a0
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-14 02:18:22 +00:00
Nextcloud bot 7e231275aa
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-13 02:21:12 +00:00
Nextcloud bot bb5abebf52
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-12 02:09:48 +00:00
Nextcloud bot a5f189d034
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-11 02:21:17 +00:00
Nextcloud bot f06bfbaac9
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-10 02:21:41 +00:00
Nextcloud bot d0b062a929
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-08 02:18:54 +00:00
Nextcloud bot b6d1025c14
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-07 02:15:14 +00:00
Varun Patil 4e52978fa9 Merge branch 'master' of https://github.com/pulsejet/memories 2023-07-06 13:19:01 -07:00
Varun Patil 45fa284b75 albums: fix name for shares (fix #723)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-06 13:18:59 -07:00
Nextcloud bot bcc26dc117
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-05 02:13:48 +00:00
Nextcloud bot d68b9ed904
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-04 02:17:03 +00:00
Varun Patil 5290c48202 v5.2.1 2023-07-03 17:12:01 -07:00
Varun Patil 590d8272d5 Implement unclustered photos for recognize (fix #475)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-03 17:07:50 -07:00
Varun Patil a87c29a2fa metadata: fix text when address lookup fails (close #719)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-03 12:07:43 -07:00
Varun Patil 9d9ef6654e tw: fix array_pop arg (close #720)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-03 12:02:52 -07:00
Varun Patil 906f6594bb util: fall back to busybox for ps (fix #714)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-07-03 12:00:36 -07:00
Nextcloud bot 8e1c77f084
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-02 02:18:29 +00:00
Nextcloud bot d5b75ea41c
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-07-01 02:16:05 +00:00
Varun Patil edd3132ce0 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-30 10:47:50 -07:00
Varun Patil 66aa48c5e5 Merge branch 'master' of https://github.com/pulsejet/memories 2023-06-30 10:46:00 -07:00
Varun Patil e2743cdb38 v5.2.0 2023-06-30 10:45:35 -07:00
Varun Patil 1e881fb93b exif: turn on LFS (close #713)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-30 10:40:17 -07:00
Nextcloud bot 9f6ea641fe
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-30 02:22:43 +00:00
Varun Patil 3c52125c0f Merge branch 'master' of https://github.com/pulsejet/memories 2023-06-29 08:43:02 -07:00
Varun Patil c1cc0c695a public: prevent 500 for unindexed share (fix #711)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-29 08:42:56 -07:00
Nextcloud bot e00b2b5b54
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-29 02:31:40 +00:00
Nextcloud bot 4f041df255
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-28 02:20:12 +00:00
Varun Patil f1819d8ac6 Merge branch 'master' of https://github.com/pulsejet/memories 2023-06-27 08:55:30 -07:00
Varun Patil 3c68fb38b0 metadata: use locale time format (fix #703)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-27 08:55:27 -07:00
Nextcloud bot 1e95c72588
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-27 02:27:17 +00:00
Varun Patil 1433f895aa v5.2.0-beta.1 2023-06-26 15:49:00 -07:00
Varun Patil 512ffb8656 app: start with closed nav for shares (fix #553)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-26 15:01:46 -07:00
Varun Patil e6597844f7 share: prevent init screen on shares (fix #562)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-26 14:53:32 -07:00
Varun Patil 2fda196cbf exif: prevent original duplicates on edit (fix #699)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-26 14:39:25 -07:00
Nextcloud bot 30ba613d8d
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-26 02:21:15 +00:00
Nextcloud bot ac8a0cdd61
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-25 02:18:59 +00:00
Nextcloud bot e7c497160e
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-24 02:15:23 +00:00
Nextcloud bot 0912217455
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-23 03:10:41 +00:00
Nextcloud bot 2ef3c491cd
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-21 02:25:12 +00:00
Nextcloud bot cbf41ef183
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-20 02:17:11 +00:00
Nextcloud bot 62f3e9ae28
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-19 02:08:24 +00:00
Nextcloud bot 2c3eb20cee
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-18 02:04:43 +00:00
Nextcloud bot ab91783fa6
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-17 02:05:29 +00:00
Nextcloud bot 72451be5ee
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-16 02:05:46 +00:00
Nextcloud bot 300401f573
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-15 02:04:31 +00:00
Nextcloud bot 5e166c40e6
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-14 02:08:49 +00:00
Nextcloud bot 037751c5ec
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-13 02:10:00 +00:00
Nextcloud bot 06e1eae4dd
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-11 02:25:17 +00:00
Nextcloud bot 602ba60e9c
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-10 02:05:03 +00:00
Nextcloud bot 4f6c4c83c8
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-09 02:07:32 +00:00
Nextcloud bot 217f7e3103
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-08 02:04:39 +00:00
Varun Patil b33406bd04
Merge pull request #685 from rakekniven/patch-3
fix(l10n): Fixed typo
2023-06-07 17:41:44 -07:00
rakekniven cc655c9cd6
fix(l10n): Fixed typo 2023-06-08 00:45:03 +02:00
Varun Patil 92413eaa29 build: remove step is not necessary 2023-06-04 11:25:55 -07:00
Varun Patil 427c2ec38d Merge branch 'master' of https://github.com/pulsejet/memories 2023-06-04 11:18:48 -07:00
Varun Patil 08fb5d4397 map: use map icon for empty content
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-04 11:18:45 -07:00
Varun Patil e9e329aa2b map: fix empty content position
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-04 11:16:45 -07:00
Varun Patil 9e9ea601e7 map: remove hover zoom
Causes more trouble than it is worth

Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-04 10:57:08 -07:00
Varun Patil 4e283ecc93 refactor: use consistent preview sizes (fix #679)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-04 10:44:35 -07:00
Nextcloud bot 963acff85b
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-04 02:03:13 +00:00
Varun Patil 078f4f7a5c lint: fix php
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-03 09:06:46 -07:00
Varun Patil 272a15245c
Merge pull request #14 from lastlink/patch-1
get dockerfile working on windows
2023-06-03 09:03:06 -07:00
Varun Patil dd38ba04f2 sel: cap touch scroll to 10px
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-02 20:18:24 -07:00
Varun Patil 089c5298c4 nx: detect with requested header
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-02 20:05:34 -07:00
Varun Patil fbee0063ea release: v5.2.0-alpha.5 2023-06-02 19:30:44 -07:00
Varun Patil 2a54057c85 template: fix php tag
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-06-02 19:30:03 -07:00
Nextcloud bot c7145c8df9
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-06-03 02:03:53 +00:00
Rhys Tyers 011a862367 Create global preview/full res image settings and allow user to override them 2023-06-01 20:58:23 +01:00
lastlink 3b0e91b1df
get dockerfile working on windows 2023-05-31 11:59:28 -04:00
Rhys Tyers 1be43bdeeb Add configuration for full res on zoom and full res always for public shares 2023-05-31 12:35:40 +01:00
Varun Patil ac862da3d3 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-30 20:55:25 -07:00
Varun Patil f8eaa75b8e exif: fix set with unicode names
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-30 20:55:17 -07:00
Nextcloud bot 71a705356e
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-31 02:07:53 +00:00
Varun Patil ab5627d1f4 scroller: fix cursor transform clamping
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-30 10:50:33 -07:00
Varun Patil 483bf74d29 timeline-root: fix .nomedia matching (fix #668)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-30 10:36:20 -07:00
Varun Patil a001361f20 cluster-view: add margin below top matter
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-30 09:42:59 -07:00
Varun Patil d4da014268 top-matter: hide shadow by default
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-30 09:40:30 -07:00
Varun Patil 88e9ed068b scroller: fix scrolling post last tick
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-30 00:43:45 -07:00
Varun Patil b1a141ff9b lint: fix php
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 23:23:40 -07:00
Varun Patil 8118578b1c otd: remove sync load
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 23:23:25 -07:00
Varun Patil 11d76a3f99 v5.2.0-alpha.4 2023-05-29 23:13:20 -07:00
Varun Patil 34d48c3cc6 places: implement hierarchy (close #511)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 23:12:55 -07:00
Varun Patil f89da9e541 dtm: refactor header to component
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 21:37:48 -07:00
Varun Patil 6288fbb8ff refactor: move dynamic top matter to component
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 21:31:44 -07:00
Varun Patil 1e8d0485bf refactor: make no-user-select global
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 12:46:02 -07:00
Varun Patil 5f516eaf55 v5.2.0-alpha.3 2023-05-29 12:27:59 -07:00
Varun Patil 2c764210bc Revert "release: v5.2.0-alpha.3"
This reverts commit a9a5c25431.
2023-05-29 12:27:25 -07:00
Varun Patil a9a5c25431 release: v5.2.0-alpha.3 2023-05-29 12:26:01 -07:00
Varun Patil 5bed6503e2 sel: do not block touch events
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 12:21:27 -07:00
Varun Patil b641d43f86 v5.2.0-alpha.2
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 12:04:37 -07:00
Varun Patil 5ed210710f ximg: improve preview check regex
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 11:57:34 -07:00
Varun Patil 32a4899194 ximg: get fileid only after regex match
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 11:49:14 -07:00
Varun Patil 5e8967eb16 ximg: beter log preview errors
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 11:46:47 -07:00
Varun Patil 8aa5cf09a5 psimage: fix uncaught fetch error
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 11:37:50 -07:00
Varun Patil 2517bfacee ximg: only inject trusted svg tags
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 11:23:11 -07:00
Varun Patil f8ce33f5f4 photo: rearrange attributes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 11:16:59 -07:00
Varun Patil bc74ee2529 photo: fix nested svg styles
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 11:11:58 -07:00
Varun Patil 1fce8ae207 sel: only use left click for clicking (#641)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 11:07:53 -07:00
Varun Patil 0bf239b67a ximg: restore nopreview image
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 11:02:04 -07:00
Varun Patil e43a8b17ea folder: remove broken call
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-29 11:01:40 -07:00
Varun Patil 985bcee976 admin: test temp go-vod bin only
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-28 10:09:50 -07:00
Varun Patil 86e27e0f46 admin: add params to render
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-28 09:59:34 -07:00
Varun Patil c1ab6572bd chore: bump up go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-28 01:24:42 -07:00
Varun Patil 44a55e1e4a edit-tags: translate tag names
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-28 01:22:13 -07:00
Varun Patil 3008647ee5 utils: fix fromNow date
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-28 01:05:30 -07:00
Varun Patil 8899021c96 image: fix editing png
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-28 00:58:45 -07:00
Varun Patil bfce0b06ad otd: fix half round corners
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-28 00:45:26 -07:00
Varun Patil 359f9a97ad timeline: restore subpixel rounding fix
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-28 00:12:31 -07:00
Varun Patil 4d0020a593 0.1.7 2023-05-27 23:43:09 -07:00
Varun Patil 0e09eb1d76 Another attempt at fixiing autorotation 2023-05-27 23:42:58 -07:00
Varun Patil fddd1939aa v5.2.0-alpha.1 2023-05-27 21:45:29 -07:00
Varun Patil 9b778e8eee Bump version
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-27 21:44:04 -07:00
Varun Patil 2ea2971eef Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-27 21:26:14 -07:00
Varun Patil 1ec29d83eb lint: fix php
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-27 21:23:54 -07:00
Nextcloud bot 70bb63a408
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-28 02:05:39 +00:00
Varun Patil 0aba7c4ac0 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-27 17:10:23 -07:00
Varun Patil 7b027a1fe9 metadata: fix display of mtime (fix #666)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-27 17:10:20 -07:00
Varun Patil d7de507669 metadata: refactor date calls
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-27 16:39:20 -07:00
Nextcloud bot 741c113cbe
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-27 02:04:40 +00:00
Varun Patil e7cd6d0e60 hooks: clear all cache on logout (close #665)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-26 11:05:44 -07:00
Varun Patil 1a6f17fb54 util: use native PHP user agent
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-26 10:51:31 -07:00
Varun Patil f154e12804 admin: minor refactor
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-26 10:23:16 -07:00
Varun Patil 0532bc8ee3 refactor: use separate entry point for admin
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-26 09:47:05 -07:00
Varun Patil cb20753a7f admin: fix types in file support
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-26 09:43:36 -07:00
Varun Patil 24644c646f page: cosmetic refactor
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-26 09:26:45 -07:00
Varun Patil 0c5e1cb5b0 cache: scope all keys we use
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-26 09:23:22 -07:00
Varun Patil 6b2e462496 refactor: use await for cache open in ximg-worker
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-26 09:13:52 -07:00
Varun Patil 10ff01ae86 refactor: variable names in cache
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-26 09:11:05 -07:00
Varun Patil 1bbc7e5066 update logo 2023-05-26 02:05:29 -07:00
Varun Patil a2995eb527 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-26 02:01:44 -07:00
Varun Patil 764833d33f docs: add places troubleshooting (close #659)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-26 02:01:42 -07:00
Nextcloud bot 2b0398a732
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-26 02:04:19 +00:00
Varun Patil cfd1ba798e timeline: remove unused import
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-25 11:17:20 -07:00
Varun Patil b1f5884494 refactor: remove more createMatter defs
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-25 11:13:49 -07:00
Varun Patil bd167a200b folder: fix route replace
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-25 11:08:24 -07:00
Varun Patil ca8e447409 exif: always call proc_close (#663)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-25 11:00:27 -07:00
Varun Patil 1f2b8d3186 nx: hide mnav on album
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 23:24:30 -07:00
Varun Patil 97b18e9ece lint: fix php
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 23:10:57 -07:00
Varun Patil 15411a9db9 timeline: fix dyn-top-matter overlap with scroller
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 23:10:41 -07:00
Varun Patil b3e39cf53c scroller: force top computation on recreate
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 23:04:11 -07:00
Varun Patil 79f32298d0 scroller: add comment
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 23:03:50 -07:00
Varun Patil 1cb791b4a5 top-matter: hide shadow when dynamic visible
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 22:25:20 -07:00
Varun Patil 449595b006 public-album: fix header (fix #627)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 22:04:50 -07:00
Varun Patil ca30e2f876 albums: show better title
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 21:59:03 -07:00
Varun Patil 300567d7b6 albums: fix weirdness in top-matter
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 21:14:10 -07:00
Varun Patil ae6f034458 refactor: collect route methods to global
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 21:11:29 -07:00
Varun Patil af82ca68b3 timeline: bigger dynamic header
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 21:01:09 -07:00
Varun Patil c06089eaa2 top-matter: prevent name wrap
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 20:22:56 -07:00
Varun Patil c2632db8eb cluster: fix word wrapping
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 20:19:19 -07:00
Varun Patil 2cd6381f38 chore: add github issue config
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 19:53:59 -07:00
Varun Patil 1b9f37a427 docs: add occweb to troubleshooting
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 19:50:21 -07:00
Varun Patil e8f72505a2 docs: update troubleshooting guide
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 19:49:04 -07:00
Varun Patil b6378ea29d chore: support 27
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 19:25:30 -07:00
Varun Patil 502af11af0 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-24 19:23:07 -07:00
Varun Patil 5c6728d413 chore: lint for new cs-fixer
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 19:23:04 -07:00
Nextcloud bot e31a028f9c
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-25 02:08:26 +00:00
Varun Patil afed32ec1d viewer: sidebar -> info
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-24 12:28:19 -07:00
Varun Patil 78ad1b072f explore: sort tags and places
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-23 21:13:01 -07:00
Varun Patil ba326f9552 albums: allow 2 columns
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-23 21:10:19 -07:00
Varun Patil e69422b37a empty-content: add icon for albums
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-23 21:01:28 -07:00
Varun Patil 0bd0c9cb37 cluster: no link for plus
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-23 21:01:20 -07:00
Varun Patil 3b7550160c docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-23 20:50:10 -07:00
Varun Patil 1762404d13 scroller: reduce one transform
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-23 20:44:53 -07:00
Varun Patil 3b93e85ab6 scroller: fix icon
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-23 20:38:10 -07:00
Varun Patil b15ae11c72 nx: add containment
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-23 20:19:21 -07:00
Varun Patil 40fc7ab44c mobile-header: add link
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-23 20:17:00 -07:00
Varun Patil 1e933a0776 Clean up manifest 2023-05-23 20:10:21 -07:00
Varun Patil 7bc13f924f fix wv destruction 2023-05-23 20:09:17 -07:00
Varun Patil 57ed493cd6 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-23 20:05:36 -07:00
Varun Patil 5be9da0ab4 mnav: replace routes instead of push
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-23 20:05:31 -07:00
Varun Patil 23c784f2cd webview: match host 2023-05-23 20:03:11 -07:00
Varun Patil e5745d0c05 video: support direct playback 2023-05-23 19:57:01 -07:00
Varun Patil 121f5fb1af nx: pass both video sources
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-23 19:44:31 -07:00
Nextcloud bot e902bc6628
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-24 02:05:30 +00:00
Varun Patil 76b1f20cbb perf: move cluster grid to layer
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-23 13:43:11 -07:00
Varun Patil ff2fe92115 Bump up go-vod version
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 22:43:44 -07:00
Varun Patil 0dedd2acb8 Bump up version 2023-05-22 22:42:52 -07:00
Varun Patil af7e48edfd admin: minor UX fix
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 22:38:46 -07:00
Varun Patil b2bb64e83d admin: allow preview configuration (close #587)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 22:35:29 -07:00
Varun Patil 8b37c33154 admin: add preview types
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 21:57:53 -07:00
Varun Patil 98b60f44ca public-album: add download API (fix #621)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 21:21:22 -07:00
Varun Patil 4bb41d1cc4 refactor: fs manager strings
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 21:06:22 -07:00
Varun Patil 1d1ba59ae2 clusters: fix query name
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 20:52:54 -07:00
Varun Patil d4fcf94047 refactor: download controller params
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 20:30:08 -07:00
Varun Patil a11b347c6f app: remove useless gap on public links
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 20:18:50 -07:00
Varun Patil 7a534767ab top-matter: fix z-index
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 20:05:23 -07:00
Varun Patil c9f434d74c refactor: move folder picker to utils
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 19:59:54 -07:00
Varun Patil 0323d94c00 first-start: multiple fixes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 19:45:23 -07:00
Varun Patil 817dff8973 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-22 19:24:22 -07:00
Varun Patil afc22c6f60 first: fix admin text
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 19:24:20 -07:00
Varun Patil 79aecab377 Watch local changes 2023-05-22 19:16:04 -07:00
Nextcloud bot 907b89e5dd
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-23 02:06:35 +00:00
Varun Patil 76f3a270c3 destroy webview on activity 2023-05-22 18:07:06 -07:00
Varun Patil 91666db87a docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-22 18:02:30 -07:00
Varun Patil 056a640fd0 manifest: turn on hw explicitly 2023-05-21 23:29:48 -07:00
Varun Patil 926afdd7b7 manifest: disable backup 2023-05-21 23:29:18 -07:00
Varun Patil 4f660eaaab Change default status color 2023-05-21 23:26:46 -07:00
Varun Patil d35f5b4583 Add current logo 2023-05-21 23:23:08 -07:00
Varun Patil 75a81f3706 Remove unused svg
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 22:24:41 -07:00
Varun Patil 3a67accc3f face: don't reload page on rect setting change
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 22:12:54 -07:00
Varun Patil 815f3420a0 map: animate size invalidation
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 21:58:07 -07:00
Varun Patil 123ede8f00 explore: add folders link
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 21:55:16 -07:00
Varun Patil 3f4f96074b settings: confirm before logout
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 21:51:02 -07:00
Varun Patil 8341458f80 welcome: more to sync 2023-05-21 21:45:42 -07:00
Varun Patil 21d803bb04 Add local folder to welcome 2023-05-21 21:41:59 -07:00
Varun Patil bd2767fb0f nx: add tap for mnav
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 20:52:04 -07:00
Varun Patil 4a6855189d Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-21 20:39:02 -07:00
Varun Patil b5a59d457d settings: fix layout bug
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 20:38:33 -07:00
Varun Patil 39d137a81c Add local folder config 2023-05-21 20:31:30 -07:00
Varun Patil 02644a645f nx: allow configuring local folders
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 20:31:17 -07:00
Varun Patil f842012954 settings: make timeline path readonly
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 20:08:19 -07:00
Varun Patil fe2ff5d23c nx: fix album share
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 19:56:08 -07:00
Varun Patil 5355dc5b38 db: reset sync time on version change 2023-05-21 19:26:04 -07:00
Varun Patil beb95cd25a explore: adjust margins
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 19:11:36 -07:00
Nextcloud bot 24c602ebcf
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-22 02:04:28 +00:00
Varun Patil 488d638c72 explore, app: move around some padding
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 19:00:04 -07:00
Varun Patil 5147e919fe timeline: remove header
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 18:32:30 -07:00
Varun Patil af298fd12e Minor display improvements
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 18:28:43 -07:00
Varun Patil f9b0e873fb scroller: shift for top matters
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 17:41:31 -07:00
Varun Patil d7678fd218 Docs 2023-05-21 12:18:05 -07:00
Varun Patil 2b8fec6a40 app: fix sw update
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 12:12:47 -07:00
Varun Patil 5c031a1121 static-config: fix with offline sw
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 11:54:06 -07:00
Varun Patil 72c83319cb api: inherit OCSController
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-21 10:21:10 -07:00
Varun Patil 997a95da15 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-20 21:53:08 -07:00
Varun Patil 2f0fb83f7c page: do not hide bg
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-20 21:53:05 -07:00
Nextcloud bot 3f038cdb06
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-21 02:03:50 +00:00
Nextcloud bot 9f50082687
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-20 02:03:03 +00:00
Varun Patil 68ef973bab Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-18 19:51:38 -07:00
Varun Patil 94b8fc82d6 Add sync page 2023-05-18 19:50:19 -07:00
Varun Patil 1b1f32e623 nx: fix dark recognition
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-18 19:18:04 -07:00
Varun Patil 9464a54481 Improve landing page 2023-05-18 19:10:33 -07:00
Nextcloud bot a21c1b9251
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-19 02:04:10 +00:00
Varun Patil 7d7a19eb07 Rename variables 2023-05-18 16:34:56 -07:00
Nextcloud bot 4b34760cb1
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-18 20:38:05 +00:00
Varun Patil 8aba3e7e81 Add nx for logout 2023-05-18 00:00:44 -07:00
Varun Patil 85bb2fdd9b nx: add logout button
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-17 23:57:13 -07:00
Varun Patil e1b58ae6fb Request permission 2023-05-17 23:38:36 -07:00
Varun Patil a4d250168f Fix user agent 2023-05-17 23:17:29 -07:00
Varun Patil 662397c320 nx: check version
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-17 23:16:11 -07:00
Varun Patil 9c83922943 Check min version of Memories 2023-05-17 22:56:42 -07:00
Varun Patil 554e91d447 other: add uid to describe API
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-17 22:41:53 -07:00
Varun Patil 3626001c4d Check token revocation 2023-05-17 22:41:32 -07:00
Varun Patil ddfc586465 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-17 20:42:23 -07:00
Varun Patil 8e410f73da util: move system config defaults to file
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-17 20:42:21 -07:00
Nextcloud bot 7c4c9ab767
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-18 02:09:07 +00:00
Varun Patil 64faee08db image: bump down decodable quality to 85
We no longer use this API for image editing, so this is
an acceptable compromise for now

Signed-off-by: Varun Patil <radialapps@gmail.com>

#653
2023-05-17 17:36:05 -07:00
Varun Patil a8fe957161 app: use event bus to close nav
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-17 15:37:41 -07:00
Varun Patil 98d7638473 Update UA 2023-05-16 23:34:14 -07:00
Varun Patil bf7721cb1f nx: strip empty auth header
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-16 23:34:04 -07:00
Varun Patil df870d5024 nx: UA update
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-16 23:33:38 -07:00
Varun Patil d4fee58c88 tw: prevent discarding S/W coordinates (fix #649)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-16 21:22:26 -07:00
Varun Patil 7f54512d59 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-16 21:01:48 -07:00
Varun Patil 4410d7816f deps: replace moment with luxon
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-16 21:01:41 -07:00
Nextcloud bot d07cdd0bb0
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-17 02:05:29 +00:00
Varun Patil 8cade4d100
Merge pull request #12 from Markvis/nvidia-hw-accel
add nvidia Dockfile
2023-05-16 17:46:27 -07:00
Varun Patil 33d4efd82a readme: shout out to @ChildLearningClub
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-16 17:40:21 -07:00
Varun Patil 07e217c093 perf: prevent bailouts
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-16 12:07:25 -07:00
Varun Patil 0191f0153f other: add login flow URL to description
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-16 03:18:04 -07:00
Varun Patil 6e10692962 Add login flow 2023-05-16 03:17:45 -07:00
Varun Patil 56308aa8aa nx: add login flow basics 2023-05-16 01:07:00 -07:00
Varun Patil 33a1d4ea92 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-16 00:26:02 -07:00
Varun Patil d6c464f09f other: add describe API
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-16 00:25:59 -07:00
Varun Patil 0a47baf16e Add API call to welcome 2023-05-16 00:25:34 -07:00
Nextcloud bot 80a68e1919
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-16 04:15:57 +00:00
Varun Patil 14bbea4c9f Add welcome page 2023-05-15 21:07:36 -07:00
Varun Patil c08d87777a Add delta sync 2023-05-15 20:09:56 -07:00
Varun Patil 4513b461d9 admin: restore csrf checks
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-15 12:19:03 -07:00
Varun Patil bd0c18ac0f timeline: debounce soft refresh calls
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-15 12:13:47 -07:00
Varun Patil c5833c97ad single-item: prevent circular refs
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-15 11:52:14 -07:00
Varun Patil bff4f44003 rowhead: reduce font weight
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-15 09:55:47 -07:00
Varun Patil 2e67ab5cda Minor refactofr 2023-05-15 09:41:05 -07:00
Varun Patil 9487058570 scroller: prevent hv above viewport
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-15 09:35:06 -07:00
Varun Patil e8639694ba timeline: reduce scroll delay
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-15 09:32:22 -07:00
Varun Patil 6dfd9762fc dav: improve deleting error handling
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 22:33:02 -07:00
Varun Patil 9488a2bc7d UX improvements 2023-05-14 22:16:11 -07:00
Varun Patil 1fb15a2f51 Set background color to transparent initially
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 22:02:44 -07:00
Varun Patil e8c59d7648 Optimizations 2023-05-14 21:56:41 -07:00
Varun Patil a7e0fa8b11 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-14 21:49:26 -07:00
Varun Patil 67f7eb1e6a nx: add header
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 21:49:23 -07:00
Nextcloud bot edea2d9712
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-15 04:15:04 +00:00
Varun Patil 7ba4055839 scroller: do update during animation frame
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 20:10:51 -07:00
Varun Patil 19e068e36d otd: increase mobile size
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 20:06:57 -07:00
Varun Patil 3fb17c0450 exoplayer: button fixes 2023-05-14 19:58:45 -07:00
Varun Patil 042dfe4307 Bump go-vod
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 19:39:54 -07:00
Varun Patil c4ad66567f Do not rotate MOV 2023-05-14 19:38:13 -07:00
Varun Patil 15784416eb UX improvements 2023-05-14 19:04:46 -07:00
Varun Patil 2e59e59df8 video: get rid of CSS rotation
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 18:44:05 -07:00
Varun Patil 3ad8606d8d Remove log 2023-05-14 18:39:30 -07:00
Varun Patil 52cef01dca manager: read rotation from side data 2023-05-14 18:38:50 -07:00
Varun Patil dd637f9b1f Rotate videos 2023-05-14 18:10:17 -07:00
Varun Patil a2765eef60 Add touch sound api 2023-05-14 17:26:39 -07:00
Varun Patil 804fbbe78e nx: play touch sound on sel manager viewer open
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 17:26:14 -07:00
Varun Patil 4205a65b87 Multiple fixes 2023-05-14 16:25:48 -07:00
Varun Patil 82251aa6ec nx: video fixes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 15:45:27 -07:00
Varun Patil bb86a8f62a mnav: fix weird scrolling
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 15:07:12 -07:00
Varun Patil 4ed0972645 nx: add HLS playback
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 13:59:00 -07:00
Varun Patil d7b550e85a Add HLS playback 2023-05-14 13:57:32 -07:00
Varun Patil 403e4404a7 Add local video playback 2023-05-14 13:32:25 -07:00
Varun Patil 0559e70b12 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-14 13:31:38 -07:00
Varun Patil 6fa14a94b6 nx: destroy player
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 13:31:26 -07:00
Varun Patil 9fc71f4832 nx: make video playback body transparent
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 12:30:28 -07:00
Varun Patil 0d03f461f1 refactor: make viewer singleton
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-14 11:59:38 -07:00
Nextcloud bot 7cfba1fb27
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-14 04:13:37 +00:00
Varun Patil ce3ee760d0 Remove nativeX static refs on exit 2023-05-13 17:56:11 -07:00
Varun Patil 7f0a75eae2 refactor 2023-05-13 17:50:40 -07:00
Varun Patil 18817f2642 refactor 2023-05-13 17:46:02 -07:00
Varun Patil c7d2d78619 Fix video deletion 2023-05-13 17:16:39 -07:00
Varun Patil dc169c578f Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-13 13:15:33 -07:00
Varun Patil 879cdfc1f5 docs: add nothing to show to faq
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-13 13:15:30 -07:00
Nextcloud bot ce520de9b1
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-13 04:14:11 +00:00
Varun Patil 639a1b807c Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-12 01:18:45 -07:00
Varun Patil 39f2af8dc3 Convert to kotlin 2023-05-12 01:16:30 -07:00
Varun Patil 94e47a194c Convert some files to kotlin 2023-05-11 23:40:19 -07:00
Varun Patil 5386d72456 dl: allow sharing local video 2023-05-11 21:19:26 -07:00
Nextcloud bot 83147c12a1
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-12 04:19:02 +00:00
Varun Patil b0b0b74754 Show local videos in timeline 2023-05-11 21:16:43 -07:00
Varun Patil 7a73902238 viewer: fix highres for nx
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-11 19:49:13 -07:00
Varun Patil e87ae9ffb7 Update caniuse list
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-11 19:06:34 -07:00
Varun Patil 79347da0d0 ximg: remove unused import
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-11 03:32:56 -07:00
Varun Patil 70bac31f51 view: many fixes for mobile
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-11 03:28:31 -07:00
Varun Patil 5e748710cd album-share: add loading icon
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-11 00:53:33 -07:00
Varun Patil b121c62e56 album-form: fix overflow
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-11 00:46:49 -07:00
Varun Patil ef1bfac8ba modal: remove use of important
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-11 00:43:35 -07:00
Varun Patil 6dfdefb56c viewer: close editor on close
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-11 00:32:19 -07:00
Varun Patil bc5490ecdb Add local sharing 2023-05-10 20:25:53 -07:00
Varun Patil da16db5388 nx: allow sharing local files
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-10 20:24:53 -07:00
Varun Patil 379dee2c91 share-modal: reset loading counter
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-10 20:13:21 -07:00
Varun Patil fb3045d6c9 Remove unused var 2023-05-10 20:04:45 -07:00
Varun Patil bdc95b0cbf nx: add sharing API
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-10 20:02:52 -07:00
Varun Patil 884e70e5e6 Add share API 2023-05-10 20:02:30 -07:00
Varun Patil 5c671473f7 modal: use content height on mobile
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-10 18:11:33 -07:00
Varun Patil 6748157cb3 nx: delete (active)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-10 13:26:01 -07:00
Varun Patil fb911669e6 tq: delete from table on deletion 2023-05-10 13:25:02 -07:00
Varun Patil 414f6cf5ed Update del API for list 2023-05-10 13:20:31 -07:00
Varun Patil 22ed3b3cb0 Add single delete API 2023-05-10 12:47:26 -07:00
Varun Patil 1efff760b5 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-10 03:03:58 -07:00
Varun Patil 118d87db03 albums: show display name of user for sharing
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-10 02:41:44 -07:00
Nextcloud bot bebd2bd5d4
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-10 04:22:49 +00:00
Varun Patil 8ec201cb0f nx: use etag
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 21:35:19 -07:00
Varun Patil 93ee281eee tq: add fake etag 2023-05-08 21:33:38 -07:00
Varun Patil a49d5dfad3 nx: fix sort order
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 21:30:45 -07:00
Varun Patil c3a27eeb7d lint: fix php
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 21:19:13 -07:00
Varun Patil 7b5e136f0d Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-08 21:07:12 -07:00
Nextcloud bot 75f8c53ba3
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-09 04:01:48 +00:00
Varun Patil 1ffada41b1 download: use head for filename (nx)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 20:34:24 -07:00
Varun Patil e8baff4273 dl: filename 2023-05-08 20:30:23 -07:00
Varun Patil 6f11b5eeba add untested download code 2023-05-08 20:02:33 -07:00
Varun Patil 7d1cf975aa download: add range headers only for resumable
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 20:00:36 -07:00
Varun Patil d2bbddbdd9 nx: hand off download
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 19:50:33 -07:00
Varun Patil 95e358c382 download: exceptions should be thrown
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 19:30:53 -07:00
Varun Patil 41a9e306cb dav: exclude locals
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 19:09:50 -07:00
Varun Patil 6642e0c577 viewer: disable unused buttons in nx
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 15:24:27 -07:00
Varun Patil bad7610ead x-loading: fix z-index
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 15:19:37 -07:00
Varun Patil 7a290077d5 viewer: prevent incorrect favorite setting
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 15:11:36 -07:00
Varun Patil 17dfa8a4cc metadata: ensure latlng numbers
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 15:03:48 -07:00
Varun Patil a6cf5ad190 info: add EXIF 2023-05-08 15:01:24 -07:00
Varun Patil 7ee3239ea3 nx: use info API
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 14:46:15 -07:00
Varun Patil 5149ef94d4 Add basic image info API 2023-05-08 14:07:12 -07:00
Varun Patil 4aaacdda0d Remove async promise 2023-05-08 13:25:44 -07:00
Varun Patil 83c359e2e7 nx: use HTTP
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-08 13:25:13 -07:00
Varun Patil b23b1d81f6 revert whitespace change 2023-05-08 12:07:14 -07:00
Varun Patil c10f3c1296 Disable cache 2023-05-08 12:06:46 -07:00
Varun Patil 77859ea0ca Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-07 21:18:39 -07:00
Varun Patil d797a7cc0b nx: set theme with viewer
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-07 21:18:33 -07:00
Nextcloud bot cb79db032c
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-08 04:11:51 +00:00
Varun Patil 09a707111f nx: highcontrast dark is dark
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-07 21:10:05 -07:00
Varun Patil 942a1eee2e Add theme color API 2023-05-07 21:07:02 -07:00
Varun Patil 0476703567 nx: set theme color
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-07 21:06:30 -07:00
Varun Patil 01d4bd8489 Add days API 2023-05-07 20:02:37 -07:00
Varun Patil 3e88e2cab4 nativex: use days
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-07 20:02:14 -07:00
Varun Patil 93350812a3 tq: remove stale images 2023-05-07 19:08:41 -07:00
Varun Patil cd131797cc Update tq 2023-05-07 18:57:29 -07:00
Varun Patil 535daadc51 Add dayId to DB 2023-05-07 18:26:11 -07:00
Varun Patil af97d312bd Add SQLite DB service 2023-05-07 14:18:25 -07:00
Varun Patil ddd8bb7af6 Add NativeX class 2023-05-07 13:06:12 -07:00
Varun Patil 37415f7dd5 refactor 2023-05-07 13:02:04 -07:00
Varun Patil c325d4466f mnav: adjust sizes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-06 23:20:03 -07:00
Varun Patil 8c3ee746b3 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-06 21:42:12 -07:00
Varun Patil bc5ad8c0c4 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-06 21:36:26 -07:00
Varun Patil 5668e54a55 modal: fix album/face edit routes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-06 21:36:04 -07:00
Varun Patil 2641a7619b util: allow all path chars (fix #635)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-06 21:30:51 -07:00
Varun Patil cca54c6681 mnav: size is number
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-06 21:15:48 -07:00
Nextcloud bot 0b4222ceb0
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-07 04:12:52 +00:00
Varun Patil 29b8582d4a mnav: make icons smaller
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-06 21:12:48 -07:00
Varun Patil 22c81ef5a6 scroller: make hv bigger
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-06 20:45:04 -07:00
Varun Patil 118f709154 psvideo: allow rotation 270 (fix #394)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-06 14:29:30 -07:00
Varun Patil d0335adcb5 sel: improve mobile touch drag
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-06 14:02:36 -07:00
Nextcloud bot b63854e8a9
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-06 04:09:16 +00:00
Varun Patil 769477d5d5 timeline: prvent stale manager refs
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-05 20:58:50 -07:00
Varun Patil 4a62fbaf34 build: fix sourcemap URL
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-05 20:10:27 -07:00
Varun Patil 28fa6df745 webpack: enable cache
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-05 18:36:45 -07:00
Varun Patil f442e52ce5 build: add HMR script
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-05 17:38:28 -07:00
Varun Patil 1309f6bcbd lint: fix php
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-05 17:12:04 -07:00
Varun Patil 774d249751 Update deps
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-05 17:11:44 -07:00
root c2a7be9480 add nvidia Dockfile 2023-05-05 12:12:47 -07:00
Varun Patil 2680284b05 Bump exiftool
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-05 03:49:39 -07:00
Varun Patil 402e12b287 places-setup: fix unlink warnings
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-05 02:19:15 -07:00
Nextcloud bot acc4c4d89f
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-05 04:09:16 +00:00
Varun Patil 29d1e92421 scroller: account for border of hv
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-04 20:08:46 -07:00
Varun Patil d465f996e2 scroller: inverted logic
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-04 19:28:51 -07:00
Varun Patil 636183918c Revert scroller height patch
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-04 11:21:38 -07:00
Varun Patil c13a4ca339 mnav: hide on public links
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-04 10:30:41 -07:00
Nextcloud bot 4dda0ced3c
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-04 04:09:11 +00:00
Varun Patil fb6476a001 mnav: prevent scroller overflow
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 21:03:15 -07:00
Varun Patil 2fa06c503e mnav: make it smaller
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 20:52:37 -07:00
Varun Patil 12f44d94ca nx: full load for viewer
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 20:28:13 -07:00
Varun Patil 839de2e646 frame: add local flag to photo
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 20:21:20 -07:00
Varun Patil c9a9e4379b Initial Commit 2023-05-03 20:10:02 -07:00
Varun Patil 917fccf0da nx: add more interfaces
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 19:59:58 -07:00
Varun Patil b889c5f5f7 config: use scoped storage
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 11:54:07 -07:00
Varun Patil 50287a2159 explore: add loader
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 11:25:58 -07:00
Varun Patil f3345dd0b7 mnav: more fixes
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 11:18:30 -07:00
Varun Patil 585a5f71c8 mnav: prevent overlap
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 11:05:40 -07:00
Varun Patil 8f5056e06a mnav: highlight selection
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 10:41:56 -07:00
Varun Patil 0ce08c82fe config: fix use of removed props
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 10:33:03 -07:00
Varun Patil f7d7693bf4 design: add new loading icon
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 10:28:12 -07:00
Varun Patil 0143148f61 explore: add new component
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 04:10:31 -07:00
Varun Patil aaab49e371 nx: add mobile nav
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 02:27:03 -07:00
Varun Patil 1e610ee0a9 style: disable tap highlight globally
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 02:00:07 -07:00
Varun Patil 4c6f1a7017 nx: use js for detection
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 01:24:22 -07:00
Varun Patil 18e85006e7 nx: remove base render
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-03 01:12:18 -07:00
Varun Patil 9903885862 nx: base layout 2023-05-03 00:37:25 -07:00
Varun Patil 3c1d6cffdd lint: fix php
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-02 23:38:45 -07:00
Varun Patil fb5d08a554 sw: use network first for index
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-02 23:37:11 -07:00
Varun Patil 749e14fe03 sw: cache-first for pages
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-02 23:26:42 -07:00
Varun Patil 2af2e2faa1 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-02 22:52:02 -07:00
Varun Patil 37abc991b1 big: remove initial state except for shares
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-02 22:52:00 -07:00
Nextcloud bot a5099b7582
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-03 04:08:36 +00:00
Varun Patil 80836d4e05 refactor: move admin out of other
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-02 20:31:47 -07:00
Varun Patil 4e5003457c refactor: remove unused var
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-02 20:29:45 -07:00
Varun Patil c9dc66b2e2 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-02 15:40:40 -07:00
Varun Patil 45743b8918 all: make OCA dep optional
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-02 15:40:36 -07:00
Nextcloud bot effe3ab8a5
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-02 04:09:51 +00:00
Varun Patil 38fa33fdba docs: open demo in new tab
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 17:42:08 -07:00
Varun Patil 74cee348e6 docs: update demo URL
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 16:32:41 -07:00
Varun Patil 945afc7f71 docs: add dark mode
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 15:59:50 -07:00
Varun Patil 87627b634e Fix build
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 15:59:45 -07:00
Varun Patil bbd060b795 docs: add lock-in feature
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 15:50:49 -07:00
Varun Patil 38a161eb64 docs: add footer
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 15:49:53 -07:00
Varun Patil 1c7bcb9b17 docs: move demo URL to home.html
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 15:09:10 -07:00
Varun Patil d774357cd7 docs: add social plugin
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 15:05:59 -07:00
Varun Patil c8b531ad70 docs: section rename
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 14:53:42 -07:00
Varun Patil 13338d5c9f docs: update readme badges
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 03:11:28 -07:00
Varun Patil 559492474a docs: update urls
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 03:05:38 -07:00
Varun Patil cd47a37a03 docs: add CNAME
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 03:05:23 -07:00
Varun Patil e05c10d1de docs: point to new domain name
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 02:54:06 -07:00
Varun Patil 258aade109 Merge branch 'master' of https://github.com/pulsejet/memories 2023-05-01 02:03:38 -07:00
Varun Patil 838baf8073 docs: add install page
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 02:03:36 -07:00
Varun Patil 822036dc33 docs: add feature sections
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-05-01 01:43:32 -07:00
Varun Patil 32e55a3c3b docs: improve home page
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-30 23:29:12 -07:00
Nextcloud bot 56ebbfb593
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-05-01 04:14:45 +00:00
Varun Patil e9c43661ca docs: revert site_name
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-30 14:05:27 -07:00
Varun Patil 756f6425c6 docs: remove refs to wiki
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-30 13:46:33 -07:00
Varun Patil f0abdf8f9a docs: minor update
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-30 13:42:57 -07:00
Varun Patil 92136fedda ci: rename docs workflow
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-30 13:40:16 -07:00
Varun Patil d94ffdb047 docs: add repo url
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-30 13:39:32 -07:00
Varun Patil f850a8012f ci: add docs workflow
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-30 13:38:30 -07:00
Varun Patil 73d2fff06f Add index page
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-30 13:36:02 -07:00
Varun Patil c32679c609 l10n: ignore docs
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-30 13:31:49 -07:00
Varun Patil 8318ea1d38 docs: add wiki to repo
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-30 13:29:12 -07:00
Varun Patil c5deb0baa0 exif: prefer CreateDate for all videos
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-30 04:57:39 -07:00
Varun Patil 8c66a4afc6 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-30 04:22:25 -07:00
Varun Patil 289317bbc6 exif: fix timezone parsing for Apple Quicktime
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-30 04:22:22 -07:00
Nextcloud bot 24e66d9bc8
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-30 04:11:29 +00:00
Varun Patil 3acf02e7cf get-exiftool: use versions from BinExt
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-29 12:52:48 -07:00
Varun Patil 76dddf6a8b release: v5.1.0 2023-04-29 11:35:12 -07:00
Varun Patil 1013076051 exif: prevent stay_open zombies
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-29 11:27:59 -07:00
Varun Patil 99c57880d3 docs: update changelog
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-29 11:11:26 -07:00
Varun Patil 7e252fd56c binext: improve ffmpeg check
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-29 10:56:52 -07:00
Varun Patil 578b0645f4 refactor: change classname bbl
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-29 00:25:28 -07:00
Varun Patil d4c71b886b docs: update changelog 2023-04-29 00:16:19 -07:00
Varun Patil df0c8d590f recognize: allow creating new cluster (fix #117)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-29 00:13:30 -07:00
Varun Patil a9f2f0f5ad top-matter: hide actions for all when selection
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-28 22:40:57 -07:00
Varun Patil 1ead974fc9 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-28 22:37:14 -07:00
Varun Patil 10002e3686 fix: remove top-bar class on sel manager destruction
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-28 22:37:10 -07:00
Varun Patil 395b3aacb5 face-top-matter: hide actions on top bar
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-28 22:33:54 -07:00
Varun Patil 429c821fbf Support for recognize v3.8 (fix #618)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-28 22:29:10 -07:00
Varun Patil e1986b6991 topmatter: refactor
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-28 22:13:32 -07:00
Nextcloud bot c76f753943
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-29 04:10:42 +00:00
Varun Patil 281e431965 Update issue version
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-28 06:52:14 -07:00
Varun Patil 7b8053652d download: cast fread len to int
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-27 10:27:33 -07:00
Nextcloud bot be537cd8e2
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-26 04:16:51 +00:00
Varun Patil 968f7a9164 Allow duplicate live video files (close #594)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-25 14:50:48 -07:00
Varun Patil 081687838a video: catch bad request for json
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-25 13:48:25 -07:00
Varun Patil 0718a03ee0 db: use 1 for literals
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 23:03:33 -07:00
Varun Patil 5eb6115680 binext: fix crash on non-existent exiftool
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 22:54:53 -07:00
Varun Patil 900b218294 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-24 22:08:01 -07:00
Varun Patil a0f347806d db: use literals for literals
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 22:07:58 -07:00
Varun Patil 34dc2263da tw: fix cleanup function
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 21:48:36 -07:00
Nextcloud bot 4cd1085080
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-25 04:06:23 +00:00
Varun Patil 4b86dc96cc index: add stale cleanup (close #610)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 17:59:26 -07:00
Varun Patil 8735ac2159 cluster: refresh on config change
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 17:46:31 -07:00
Varun Patil fe8fb6b164 tw: use transaction for delete
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 16:58:34 -07:00
Varun Patil ad5a75b2f6 frmagick: orient before transformations (fix #609)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 14:33:22 -07:00
Varun Patil 240b82e0d5 docs: update with discord community link
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 14:10:41 -07:00
Varun Patil fec633e51b
Merge pull request #602 from dpjl/master
Add x-msvideo mime type
2023-04-24 13:08:46 -07:00
Varun Patil 6c28bc054e
Merge pull request #606 from llucax/fix-605
Avoid showing "Memories: Indexing process stopped before completion. Will continue on next run" as a warning
2023-04-24 13:06:46 -07:00
Varun Patil a8aaece932 binext: allow empty exiftool path (#601)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 12:48:18 -07:00
Varun Patil fb4dad9bbe Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-24 12:42:56 -07:00
Varun Patil 13341ebbd3 binext: catch missing exiftool error (fix #601)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 12:42:54 -07:00
Varun Patil e5a958916e edit: allow using precise location (fix #604)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 12:31:08 -07:00
Varun Patil 0a79f30861 download: limit only videos
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-24 12:24:25 -07:00
Nextcloud bot b4c822b348
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-24 04:18:52 +00:00
Leandro Lucarella 94e9b616d2
Avoid showing "Memories: Indexing process stopped before completion. Will continue on next run" as a warning
An indexing cron job not finishing is just normal operation, so
we shouldn't emit a warning for it. This commit emits a info
instead when this happens.

While we are at it, we also emit a info message if the indexing
was successful.
2023-04-23 11:53:38 +02:00
dpjl 8e0ebce13d
Add x-msvideo mime type 2023-04-23 07:37:56 +02:00
Nextcloud bot b0878e8e49
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-23 04:10:50 +00:00
Nextcloud bot 7c7b0becb4
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-22 04:10:33 +00:00
Varun Patil 0abdb57f28 download: disable time limit
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-21 11:06:49 -07:00
Varun Patil 5e0af5a2e9 download: prevent buffer/gzip
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-21 10:52:42 -07:00
Varun Patil 0aa822c5e4 binext: use CRC for getTimeBin
Academic only, the performance difference between these is zero

Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-21 01:13:15 -07:00
Varun Patil f833ddaac8 fs: minor variable name fix
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-21 01:10:28 -07:00
Varun Patil 91ab715da2 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-20 23:07:31 -07:00
Varun Patil 246aeba379 webpack: disable sourcemaps in production
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-20 23:07:24 -07:00
Varun Patil 7111c7c0e9 lint: format webpack.js with prettier
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-20 23:07:09 -07:00
Nextcloud bot 913c71051c
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-21 04:11:52 +00:00
Varun Patil 48b417db0a index: add type hint for section
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-20 14:27:36 -07:00
Varun Patil 2d6ac784b3 doc: add comments to remaining exits
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-20 14:12:42 -07:00
Varun Patil 31e753c176 index: don't exit
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-20 14:11:54 -07:00
Varun Patil f9559ab990 lint: fix php
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-20 14:03:18 -07:00
Varun Patil fe766ce30e other: use direct for places setup
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-20 13:28:45 -07:00
Varun Patil 01c82dfe1b video: use guardExDirect for live photo
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-20 13:20:46 -07:00
Varun Patil 9ae10a68f1 video: use guardExDirect for transcode
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-20 13:04:42 -07:00
Varun Patil 67fccd0799 image: use guardExDirect for multipreview
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-20 13:02:23 -07:00
Varun Patil 1805f3e004 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-20 11:33:57 -07:00
Varun Patil 3e6e8f9b14 download: do not exit (#597)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-20 11:33:54 -07:00
Nextcloud bot f41fa6ed75
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-20 04:19:03 +00:00
Varun Patil 4239e05b3c lint: fix php
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 17:49:30 -07:00
Varun Patil 9ab16e4478 release: v5.0.5 2023-04-19 17:48:03 -07:00
Varun Patil 0e5f058af9 exif: blacklist invalid date (fix #539)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 17:37:35 -07:00
Varun Patil 105987e92d dav: fix escaping in folder url (fix #569)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 17:07:37 -07:00
Varun Patil 49b1583c07 main: move admin to async import
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 16:59:40 -07:00
Varun Patil 35754c36fa download: do not read excess (fix #592)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 16:44:19 -07:00
Varun Patil da192ee70e download: fix invalid destructuring in range (fix #590)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 16:32:29 -07:00
Varun Patil 6fb4b4dd23 folder-grid: make bigger on desktop
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 16:18:26 -07:00
Varun Patil aa81acd139 refactor: update prettier config
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 16:14:30 -07:00
Varun Patil 9da0e87a7b admin: fix tokens
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 16:00:19 -07:00
Varun Patil 7861ac6549 refactor: break up admin
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 15:26:08 -07:00
Varun Patil 5152348586 cache: improve startup behavior
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 14:01:08 -07:00
Varun Patil f1834e31ba worker: fix crash due to caches (fix #588)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 13:42:38 -07:00
Varun Patil 3113b0041e admin: add http checks
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 13:33:53 -07:00
Varun Patil 20b2baa613 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-19 09:56:16 -07:00
Varun Patil 45478d1166 ximg: remove useless blob call
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 09:56:02 -07:00
Varun Patil 52e1901ffc fs: fix crash with .nomedia folder (fix #589)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 09:47:57 -07:00
Varun Patil f268943e5e template: add logs to bug
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-19 09:37:16 -07:00
Nextcloud bot ac44e8c37e
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-19 04:09:33 +00:00
Varun Patil 4f22e9de29 release: v5.0.4 2023-04-18 19:28:04 -07:00
Varun Patil f370e74c54 admin: remove quotes from string (close #579)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-18 19:22:54 -07:00
Varun Patil 65448ed4c0 refactor: enable strict null checking
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-18 19:19:05 -07:00
Varun Patil 516917a0e0 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-18 14:32:51 -07:00
Varun Patil aabaaef390 admin: include versions of bin
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-04-18 14:02:34 -07:00
Nextcloud bot e7dc6bce25
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-18 02:50:48 +00:00
Varun Patil 6669626864 admin: note you don't need perl
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-17 16:20:49 -07:00
Varun Patil 5e69f7b7dd admin: warn incomplete planet (#578)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-17 09:49:13 -07:00
Varun Patil 475d6f69cd admin: device is not file (fix #577)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-17 09:31:54 -07:00
Varun Patil b32fbbc8df admin: show missing gis message
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-17 09:26:02 -07:00
Varun Patil 529b9573d9 other: remove unused import
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-17 09:19:32 -07:00
Varun Patil d895648015 release: v5.0.3 2023-04-17 00:39:27 -07:00
Varun Patil 418cfb7e5c Bump up go-vod
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-17 00:39:02 -07:00
Varun Patil d9d903bb4f Merge branch 'master' of https://github.com/pulsejet/go-vod 2023-04-17 00:36:54 -07:00
Varun Patil df7122fe07 Disable ENCODER_COPY 2023-04-17 00:36:36 -07:00
Varun Patil 24890f0103 psvideo: make another attempt to play
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-17 00:34:36 -07:00
Varun Patil 59c186ab8e timeline: ensure pct is valid
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-17 00:29:25 -07:00
Varun Patil e742bde5de release: v5.0.2 2023-04-16 22:29:20 -07:00
Varun Patil 85b979cd49 Exclude filerobot from minification (fix #573)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 22:28:56 -07:00
Varun Patil d2273f404b release: v5.0.1 2023-04-16 21:48:32 -07:00
Varun Patil 94a35c1315 ximg: fix chunk loading
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 21:46:47 -07:00
Varun Patil 1576663b70 Revert "worker: use public path"
This reverts commit edc50fe0da.
2023-04-16 21:03:58 -07:00
Varun Patil edc50fe0da worker: use public path
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 20:56:32 -07:00
Varun Patil 128a817583 Update changelog
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 20:20:07 -07:00
Varun Patil edb91857ba release: v5.0.0 2023-04-16 20:19:33 -07:00
Varun Patil 2531854552 admin: add token to prevent too many actions
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 20:05:29 -07:00
Varun Patil 526559b672 place-setup: recalculate places
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 19:53:06 -07:00
Varun Patil 7a733d3d11 index: improve job message
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 18:47:26 -07:00
Varun Patil c3067dab91 index: add background job (close #110)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 18:07:57 -07:00
Varun Patil 51c62cd3b2 modal: use mutation observer
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 17:01:09 -07:00
Varun Patil 265c0f795c refactor: move utils to Util from Exif
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 16:03:59 -07:00
Varun Patil 14011dc5fd public: allow empty foldersPath (fix #550)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 15:58:28 -07:00
Varun Patil 83be3c93b1 sec: better path sanitization
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 15:58:11 -07:00
Varun Patil c25dd6e640 albums: fix empty root check
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 15:46:26 -07:00
Varun Patil e21c8d2d25 admin: hide null value
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 15:07:54 -07:00
Varun Patil 5934ab4a11 Remove duplicate mime type
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 15:07:38 -07:00
Varun Patil 666da6e11d tq: check categoryid exists (fix #572)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 13:47:49 -07:00
Varun Patil d99647291a index: fix parallelization
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 12:58:29 -07:00
Varun Patil e0eea4c89a Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-16 11:30:34 -07:00
Varun Patil a6a4e4b62b viewer: change alert to error
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 11:29:58 -07:00
Varun Patil 9db4d6b8b9 frmagick: orient image
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 11:29:00 -07:00
Varun Patil 35e4402030 refactor: info
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 11:27:40 -07:00
Varun Patil 6b25ad6780 editor: improve edit propagation
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 11:13:58 -07:00
Varun Patil 6e0003dc10 docs: update chnagelog
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 10:59:21 -07:00
Varun Patil bb047d9418 editor: fix load after resize
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 10:52:54 -07:00
Varun Patil bc704e8221 frmagick: ensure correct colorspace
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 10:13:13 -07:00
Varun Patil 2f62a4e1c2 editor: fix saving name
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 10:09:40 -07:00
Varun Patil 8c947000a5 editor: fix bugginess
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 10:02:51 -07:00
Varun Patil 7e88bc4248 image: prevent overwrite on copy
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 00:05:41 -07:00
Varun Patil e2408a5111 ximg: start worker on demand
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-16 00:03:13 -07:00
Varun Patil 967646572c imge: more updates
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-15 23:59:29 -07:00
Varun Patil 678c46b15e More on frmagick
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-15 23:51:05 -07:00
Nextcloud bot 805686a8b1
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-16 04:07:49 +00:00
Varun Patil 6d4398bd87 Add some filters
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-15 19:42:53 -07:00
Varun Patil ec1ad319b6 frimagick: add flipfloprotate
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-15 19:10:37 -07:00
Varun Patil e23afa41cc add test 2023-04-15 19:03:55 -07:00
Varun Patil 8ecf4d62c7 ximg: increase default buffer size
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-15 12:30:06 -07:00
Varun Patil 9908f65dc7 remove frivolous will-change
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-15 12:29:03 -07:00
Varun Patil b9998b6a12 map: do not make queries when nothing changed
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-15 12:26:39 -07:00
Varun Patil cbb2adba23 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-15 12:15:23 -07:00
Varun Patil 9f62a23895 tw: acquire lock before processing
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-15 12:02:07 -07:00
Varun Patil 039115d8f4 index: move clean to finally
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-15 11:41:15 -07:00
Varun Patil 5fe7eb9be4 tw: don't catch and throw
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-15 11:32:02 -07:00
Nextcloud bot 327b976670
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-15 04:12:49 +00:00
Varun Patil d8f18abf30 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-14 16:55:45 -07:00
Varun Patil b4a80dff55 binext: add type cast
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-14 16:08:58 -07:00
Varun Patil 24fb01edd6 binext: add strict types
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-14 16:03:22 -07:00
Varun Patil 7245511bd2 refactor: move binext to service
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-14 16:02:13 -07:00
Varun Patil 3ada3d6510 Exclude mounts in nomedia
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-14 15:49:18 -07:00
Nextcloud bot 478a031f75
Fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-14 11:22:18 +00:00
Varun Patil 8ec21747f3 lint: fix php 2023-04-14 00:02:16 -07:00
Varun Patil 5438223b29 tw: drop invalid GPS data
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-14 00:02:04 -07:00
Varun Patil 9ab896989f tw: catch exeption not error
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-13 23:37:30 -07:00
Varun Patil db559e19f7 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-13 23:26:28 -07:00
Varun Patil 140f0fb059 Mark timeline indexing as not recommended
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-13 23:24:24 -07:00
Varun Patil cf8533968d cte: add brackets for clarity
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-13 23:20:23 -07:00
Varun Patil 71a5d5e701 Update changelog
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-13 23:18:16 -07:00
Varun Patil acb9f21414 Exclude nomedia with CTE (fix #185)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-13 23:16:48 -07:00
Varun Patil 04728a1d60 refactor: move CTE to trait
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-13 22:49:12 -07:00
Varun Patil a9b0f463a1 index: better output
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-13 22:24:01 -07:00
Varun Patil 86c3c260a1 Remove dead code
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-13 21:59:45 -07:00
Varun Patil a611169e7d Restore refresh command
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-13 21:59:01 -07:00
Nextcloud bot 21d8c03017
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-14 04:04:32 +00:00
Varun Patil 641574ccd2 index: move to service (partial)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-13 19:43:13 -07:00
Varun Patil d2273cc76e refactor: move preview url to utils
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 22:05:24 -07:00
Varun Patil 3a629bf7aa refactor: utls to folder
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 22:00:03 -07:00
Varun Patil c9bbbe9f94 refactor: utils into files
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 21:57:07 -07:00
Varun Patil 2eaf5670fe worker: no init for admin
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 21:46:46 -07:00
Varun Patil 0f1deae483 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-12 21:35:00 -07:00
Varun Patil d4a4b2dbca timeline: load immediately on scroll end
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 21:34:36 -07:00
Nextcloud bot 865477a0d9
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-13 04:13:10 +00:00
Varun Patil a01092f3ae ximg: move cache to main thread
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 20:34:59 -07:00
Varun Patil 7a316785fa sel: fix mobile multi-select
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 15:53:41 -07:00
Varun Patil 7bb216e2b9 docs: update changelog
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 15:25:49 -07:00
Varun Patil 294d731f6f refactor: move rowHead to comp
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 15:24:13 -07:00
Varun Patil 805a131c4a timeline: v-for on photo component
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 15:19:29 -07:00
Varun Patil 3bf221a663 restore del test
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 15:01:48 -07:00
Varun Patil 2b36c31af0 otd: add once to icons
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 14:34:24 -07:00
Varun Patil 88cf0865e5 perf: prevent icon updates
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 13:47:07 -07:00
Varun Patil 926b6f06e7 timeline: add missing bracket
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 13:29:23 -07:00
Varun Patil e685d114bf Update build files 2023-04-12 13:20:57 -07:00
Varun Patil 4de6a6aded ts: modern syntax for type import
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 07:45:56 -07:00
Varun Patil 189e529fc2 ximg: improve types
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 07:37:18 -07:00
Varun Patil de8d79821f ximg: move to worker
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 07:08:55 -07:00
Varun Patil a4785efcdc psvideo: prevent illegal play attempts
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 05:42:45 -07:00
Varun Patil 148f0a6ee1 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-12 04:46:09 -07:00
Varun Patil 8802cbc7d6 timeline: preload more rows (fix #549)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-12 04:46:04 -07:00
Nextcloud bot 6e2c255530
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-12 04:13:14 +00:00
Varun Patil 48a441da58 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-11 11:52:15 -07:00
Varun Patil 7ab557093b bin-ext: scope by instance (also fix #559)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-11 11:52:12 -07:00
Varun Patil c05c9cfc55 Updae changelog
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-11 11:20:57 -07:00
Nextcloud bot dafaeb73ab
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-11 04:10:07 +00:00
Varun Patil 055cee57a0 release: v5.0.0-alpha.1 2023-04-10 19:46:15 -07:00
Varun Patil 3ffb9ad19d binext: add suffix to tempfile
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 19:45:42 -07:00
Varun Patil c39bca0278 places: fix error message
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 19:40:32 -07:00
Varun Patil 6d26fadfe6 binext: use realpath
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 19:38:07 -07:00
Varun Patil 3ee8e07bd3 admin: show gistype config
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 19:31:07 -07:00
Varun Patil 5852102eb7 places-setup: add reindex note
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 19:23:01 -07:00
Varun Patil 42a5616860 cmd: remove unused constants
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 19:19:00 -07:00
Varun Patil e495dbfcb8 admin: add places-setup route
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 19:17:16 -07:00
Varun Patil 4871c2c2bc admin: fix checks of go-vod bin
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 17:57:57 -07:00
Varun Patil 98df8aa7b1 bin: copy externals outside before exec
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 17:51:16 -07:00
Varun Patil 117e849038 ci: fix repair
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 17:12:06 -07:00
Varun Patil b84bdc65a5 Bump up vod
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 17:03:51 -07:00
Varun Patil 23be0f6d17 Bump up to 0.1.0 2023-04-10 17:00:27 -07:00
Varun Patil 5bf4c59b9c admin: refresh status
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 16:58:45 -07:00
Varun Patil ac0cc6460b video: configure external go-vod too
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 16:45:04 -07:00
Varun Patil 5548498453 Add config POST 2023-04-10 16:44:39 -07:00
Varun Patil cb8ebcb6a8 admin: kill go-vod when changing config
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 14:37:56 -07:00
Varun Patil 31a37deda2 Remove video-setup
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 14:34:16 -07:00
Varun Patil 3f66e58ebe admin: add external storage note
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 14:33:24 -07:00
Varun Patil 312039deab add more config to repair step
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 14:32:35 -07:00
Varun Patil 8cdfe0a97e notranscode: remove error on UI
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 14:13:21 -07:00
Varun Patil 5c5eef1ff4 add binext
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 14:01:29 -07:00
Varun Patil 5cb3deb519 admin: allow test results to show
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 00:28:23 -07:00
Varun Patil 8c1432af45 admin: add status text
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-10 00:20:17 -07:00
Varun Patil 203cb146c8 admin: add exiftool
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-09 23:42:23 -07:00
Varun Patil b80fa55dd3 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-09 23:25:03 -07:00
Varun Patil f73b82bdd5 admin: add settings section
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-09 23:24:59 -07:00
Nextcloud bot 49ff102526
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-10 04:18:45 +00:00
Nextcloud bot 81385fe852
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-09 04:11:30 +00:00
Nextcloud bot 4d58443114
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-06 04:13:55 +00:00
Nextcloud bot 405deeea4b
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-05 04:17:08 +00:00
Nextcloud bot 634583d153
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-04 04:11:15 +00:00
Varun Patil 5e32987932 release: v4.13.1 2023-04-03 20:23:45 -07:00
Varun Patil c2527482f3 docs: update changelog
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-03 20:23:28 -07:00
Varun Patil 719cd896f3 Bump up go-vod
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-03 19:50:08 -07:00
Varun Patil e1a53d8e81 psvideo: improve selection behavior
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-03 19:39:05 -07:00
Varun Patil 8748f4a6e0 manager: avoid pointless streams 2023-04-03 19:37:10 -07:00
Varun Patil a2a8fda91e Use copy for H264 2023-04-03 18:55:26 -07:00
Varun Patil b1aba2284f refactor: consts 2023-04-03 18:44:11 -07:00
Varun Patil ffdf49395d dl: use video hints
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-03 18:17:21 -07:00
Varun Patil a23ec41916 dl: better chunking
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-03 17:41:01 -07:00
Varun Patil 47c9761308 sw: bypass for API
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-03 17:05:44 -07:00
Varun Patil 674a5da53c psvideo: fallback to HLS if direct fails (#364)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-03 14:43:37 -07:00
Varun Patil 56dd81e747 docs: update changelog
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-03 12:39:32 -07:00
Varun Patil c90dd66061 Merge branch 'master' of https://github.com/pulsejet/memories 2023-04-03 12:37:48 -07:00
Varun Patil 26f2fd2f82 release: v4.13.0 2023-04-03 12:37:47 -07:00
Varun Patil ceab94762d psvideo: await lock changes
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-03 12:36:30 -07:00
Varun Patil 2e483865bb psvideo: don't override prev rotation again
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-03 12:28:41 -07:00
Nextcloud bot 3bad36f48f
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-04-03 04:09:58 +00:00
Varun Patil cccc9798c0 image: sort multipreview priority by size
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-01 23:05:29 -07:00
Varun Patil 595c1924f1 release: v4.13.0-alpha.3 2023-04-01 22:46:16 -07:00
Varun Patil 052134be6e ximg: process multipreview on the fly
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-01 22:35:11 -07:00
Varun Patil 7e8e877320 map: trigger refresh immediately during init
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-01 18:21:43 -07:00
Varun Patil 4418494fb3 timeline: throw query on invalid params
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-01 18:17:53 -07:00
Varun Patil 7c53248936 map: fix init position
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-01 18:14:37 -07:00
Varun Patil 3bf525193d split-timeline: remove border-radius
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-01 10:21:29 -07:00
Varun Patil 2c91535ff2 split-timeline: fix title size
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-01 10:19:07 -07:00
Varun Patil 003ab958e3 release: v4.13.0-alpha.2 2023-04-01 10:07:04 -07:00
Varun Patil 89246f7552 scroller: hide when inactive on mobile
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-01 09:57:25 -07:00
Varun Patil 0a37263dda places-setup: reduce transactioon size to 100 (fix #535)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-01 09:44:13 -07:00
Varun Patil 07da344807 split-timeline: use top for animations
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-04-01 09:12:32 -07:00
Varun Patil 552a613778 map: implement deep linking
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-31 14:41:02 -07:00
Varun Patil 3d4a5d6579 split-timeline: top-bar position
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-31 14:05:14 -07:00
Varun Patil 203be8f11b docs: update changelog
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-31 13:58:48 -07:00
Varun Patil b179b5b9ad split-timeline: use percent basis
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-31 13:56:53 -07:00
Varun Patil 952f781d70 split-timeline: fix small timeline behavior
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-31 13:50:40 -07:00
Varun Patil effb80b1fd timeline: forbid breakout on desktop
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-31 13:33:19 -07:00
Varun Patil 9cec776457 Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-31 13:25:16 -07:00
Varun Patil 65d987c7db map: remove stamen
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-31 13:24:23 -07:00
Varun Patil 6157a4fb36 map: improve mobile layout
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-31 13:22:12 -07:00
Varun Patil 9cd1058028 timeline: use container size for layout
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-31 12:01:33 -07:00
Nextcloud bot 0c6bde2123
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-31 04:20:12 +00:00
Varun Patil 279c74fae9 split-timeline: fix class scoping
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-30 12:08:41 -07:00
Varun Patil bcf14cd434 map: invalidate size on resize
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-30 11:51:16 -07:00
Varun Patil 61b3c7de1c split-timeline: basic resizing
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-30 11:44:18 -07:00
Varun Patil dd00857ea0 docs: update changelog
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-30 10:43:00 -07:00
Varun Patil 5c57d17aa8 timeline: preserve row sizes regardless of load state
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 19:11:58 -07:00
Varun Patil 5e7c8fec9f albums: log DAV copy error
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 17:58:00 -07:00
Varun Patil d8176b93c8 perf(lp): use MicroVideoOffset for samsung
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 17:02:22 -07:00
Varun Patil 05cbccceec lp: add support for MVIMG (fix #468)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 16:58:34 -07:00
Varun Patil 70c2b0d11d index: allow specifying user and folder (fix #184)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 16:38:17 -07:00
Varun Patil 2c3181b497 tw: remove useless byref
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 16:29:36 -07:00
Varun Patil c65ad77be3 lint: fix php
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 16:19:31 -07:00
Varun Patil 8c881f0488 Bump up go-vod (fix #532) 2023-03-29 16:13:57 -07:00
Varun Patil a0ff17df96 api: remove undefined in API.Q
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 16:08:25 -07:00
Varun Patil c9198e0218 x264: remove level 2023-03-29 15:57:23 -07:00
Varun Patil 2684f705f9 output: choose zero streams 2023-03-29 15:54:53 -07:00
Varun Patil 1c9d46130e Don't set audio bitrate 2023-03-29 15:50:01 -07:00
Varun Patil b6d251ebf5 image: set autoOrient flag
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 15:08:44 -07:00
Varun Patil abfe0cf94d image: throw proper errors in decodable (close #529)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 15:05:05 -07:00
Varun Patil 687cafb13d people: use IImage instead of Imagick (#529)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 14:57:09 -07:00
Varun Patil 24b0aa6981 Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-29 12:14:18 -07:00
Varun Patil 9d38a66533 places: optimize clusters query to use index properly
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 12:14:14 -07:00
Varun Patil 4501d75b26 tq: admin_level int
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-29 11:23:41 -07:00
Nextcloud bot 582d4f6218
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-29 04:17:12 +00:00
Varun Patil 5f09ffd239 tw: fix function signature of processExifLocation
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-28 19:07:17 -07:00
Varun Patil 016a2c2c8a Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-27 22:16:42 -07:00
Varun Patil 9e7a6a0bd1 edit-meta: fix location ref
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-27 22:16:34 -07:00
Nextcloud bot 195be15323
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-28 04:01:54 +00:00
Varun Patil 120757f335 release: v4.13.0-alpha.1 2023-03-27 18:57:59 -07:00
Varun Patil 1b83ab3405 places: bump up planet db
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-27 18:56:29 -07:00
Varun Patil 2453aad507 places: support user lang
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-27 18:53:01 -07:00
Varun Patil 3b24a62ba0 exif: use location for timezone
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-27 17:52:03 -07:00
Varun Patil 86ceaf7bb2 exif: improve date parsing
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-27 15:26:08 -07:00
Varun Patil 0c17d7e209 exif: ignore all invalid dates
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-27 12:47:24 -07:00
Varun Patil 7faa4afb1e takeout: keep TrackCreateDate
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-27 11:57:44 -07:00
Varun Patil 642816f4b9 migrate-takeout: allow restricting to one user/folder
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-27 11:15:36 -07:00
Varun Patil 2756855b50 ximg: make decoding async
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-25 08:11:08 -07:00
Varun Patil 0566075efe ply: restore screen orientation on fullscreen exit (fix #521)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-25 08:08:49 -07:00
Varun Patil dae5785462 single-item: fix post-processing (fix #470)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-25 07:58:03 -07:00
Varun Patil 81708a4de7 facerecog: check key in post process
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-25 07:56:42 -07:00
Varun Patil 8cf910f3b6 image: don't load msrc placeholder unless blob
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 19:08:39 -07:00
Varun Patil fce7d621bf release: v4.12.5 2023-03-24 18:45:49 -07:00
Varun Patil dc614e8a23 README: sync with info
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 18:38:02 -07:00
Varun Patil 3d0e4f1b68 Merge branch 'silopolis-stringfix' 2023-03-24 18:37:24 -07:00
Varun Patil 24a62531f3 Merge branch 'stringfix' of https://github.com/silopolis/memories into silopolis-stringfix 2023-03-24 18:37:16 -07:00
Varun Patil 5c76b8d12d Mark compat for NC 26 (fix #489)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 18:33:37 -07:00
Varun Patil 8db1ce0350 More refactor for albums
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 18:09:31 -07:00
Varun Patil 68a1366f4e ximg: fix rejection
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 17:38:20 -07:00
Varun Patil d160532bd8 cluster: add error image
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 17:02:38 -07:00
Varun Patil 1ece331ecb strings: fix album
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 16:56:35 -07:00
Varun Patil 3dbea3382d cluster-grid: make it smaller
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 16:51:03 -07:00
Varun Patil 558e0bf13f folder-grid: do query in timeline
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 16:49:16 -07:00
Varun Patil d1c012edab cluster-grid: fix margin
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 16:20:14 -07:00
Varun Patil d9e37eb0ae timeline: folders not empty
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 16:12:10 -07:00
Varun Patil e696c5199c timeline: minor refactor
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 16:02:10 -07:00
Varun Patil eb3c834241 refactor: separate folder logic
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 15:54:58 -07:00
Varun Patil 37a108c2fc cluster: hide overlay on error
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 14:00:23 -07:00
Varun Patil 1a5e2399a3 lint: fix php
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 13:55:47 -07:00
Varun Patil f0d9f68061 facelist: use clustergrid
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 13:54:59 -07:00
Varun Patil 5a7d91d886 refactor: separate cluster grid
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 13:41:36 -07:00
Varun Patil 74e4503668 timeline: refactor markup
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 13:29:23 -07:00
Varun Patil 492f1bb610 cluster-view: increase buffer
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 13:24:43 -07:00
Varun Patil 3676e088cf cluster: allow reuse of element
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 12:35:09 -07:00
Varun Patil 7326ee8ec0 refactor: tag frame to cluster
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 12:30:08 -07:00
Varun Patil 92781df0c1 clusters: add type to response
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 04:17:54 -07:00
Varun Patil 24615ddd0d sel: do not forgive movement for taps (fix #516)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 02:43:31 -07:00
Varun Patil ffd23230ad test: add some wait
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-24 02:34:25 -07:00
Varun Patil 9f843f83be release: v4.12.4 2023-03-23 22:10:54 -07:00
Varun Patil 13c4ed97eb e2e: revert pwd change
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 22:10:19 -07:00
Varun Patil f3f895ae21 vscode: update settings
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 22:09:29 -07:00
Varun Patil df9bb37fbe More refactor
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 22:01:49 -07:00
Varun Patil 8669ddd4a7 e2e: revert username change
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 21:58:37 -07:00
Varun Patil c867cc68ed More refactor
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 21:57:54 -07:00
Varun Patil bf5d26e71a Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-23 21:48:30 -07:00
Varun Patil 897e9a2e70 Update e2e tests
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 21:48:27 -07:00
Varun Patil 9e43075df4 fs: throw 412 when not logged in
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 21:16:53 -07:00
Nextcloud bot 3fb6ff4105
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-24 04:05:26 +00:00
Varun Patil 5ae7c83147 refactor: days query to enum
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 20:06:08 -07:00
Varun Patil f1461b720c More refactor
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 18:12:39 -07:00
Varun Patil df9bd84c92 More refactor
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 18:04:20 -07:00
Varun Patil fa9205a11e More refactor
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 17:56:41 -07:00
Varun Patil f6fa48e089 More refactor
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 17:19:05 -07:00
Varun Patil 7d9db06421 big refactor: move more stuff to backend
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 16:58:49 -07:00
Varun Patil 78d063eed6 refactor: fs manager
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 14:45:56 -07:00
Varun Patil 5c9f1c4915 util: remove duplicate checks
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 13:49:26 -07:00
Varun Patil bffefdd3ec Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-23 13:32:28 -07:00
Varun Patil 0e385d2283 refactor: rework controller (1)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 13:32:23 -07:00
Varun Patil bd6aaeee3a Use DI for tq everywhere
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 11:16:28 -07:00
Varun Patil f284085a1a refactor: cluster backends
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-23 11:08:36 -07:00
Nextcloud bot 83a3c6b753
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-23 04:16:50 +00:00
Varun Patil da7ab397ae cluster: restore CSRF check
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 17:51:11 -07:00
Varun Patil b55c0b3950 controller: add docs to people utils
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 17:50:36 -07:00
Varun Patil 473eb0a17e fr: add more casts
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 17:47:49 -07:00
Varun Patil e38d208067 tq: more cleanup
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 17:45:45 -07:00
Varun Patil ac1529bb87 tq: remove unused check
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 17:44:22 -07:00
Varun Patil a701ccd2f4 refactor: face recognition to use generic
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 17:42:30 -07:00
Varun Patil ca49eb19e8 refactor: dedup try-catch
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 17:01:41 -07:00
Varun Patil 3f825073dc refactor: files --> photos
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 16:56:13 -07:00
Varun Patil 094a4b32d7 refactor: use generic for recognize
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 16:44:51 -07:00
Varun Patil af7000a037 refactor: make cluster more generic
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 16:19:59 -07:00
Varun Patil fffc597797 refactor: use generic controller for most clusters
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 12:54:03 -07:00
Varun Patil a5f1685987 refactor: rename base to generic
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 11:40:56 -07:00
Varun Patil eb15e48b76 apibase: mark abstract
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 11:38:05 -07:00
Varun Patil 5e6976fc2b refactor: split ApiBase
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 11:24:15 -07:00
Varun Patil e39d229747 psvideo: fix double bg
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-22 10:41:43 -07:00
Varun Patil 220adcab90 video: remove placeholder if not setup
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-21 13:31:58 -07:00
Varun Patil b8e9d03f49 git: ignore launch json
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-21 13:31:47 -07:00
Varun Patil 979b53495c Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-21 11:13:15 -07:00
Varun Patil 0735d410e5
Merge pull request #505 from gen6033/fix-non-sequential-albums-array
Fix /memories/api/albums API to return JSON array
2023-03-21 11:13:11 -07:00
Varun Patil e356a8c2d9 deps: bump up exiftool
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-21 11:05:10 -07:00
Nextcloud bot 9010b5efaa
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-21 04:07:55 +00:00
Genki Sakanashi cb3afda011 to sequential 2023-03-21 12:41:41 +09:00
Jérémie Tarot (@silopolis) f36b0fde8f fix(text): Improve app description consistency
May seem picky for english but makes quite a difference for translations

Signed-off-by: Jérémie Tarot (@silopolis) <silopolis@gmail.com>
2023-03-20 10:59:39 +01:00
Nextcloud bot 562a5a2020
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-20 04:08:20 +00:00
Varun Patil e8da4bd39d Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-19 03:09:30 -07:00
Varun Patil c6478a195d ps: add typings
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-19 03:09:28 -07:00
Varun Patil 09ab876ebd video: keep placeholder
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-19 01:51:21 -07:00
Varun Patil 17162ed5b3 lp: minor improvements
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-19 01:45:37 -07:00
Varun Patil d6a8198660 ps: improve thumb behavior
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-19 01:15:08 -07:00
Varun Patil efec80523a psvideo: fix preview of video
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 21:35:31 -07:00
Varun Patil d2122c1e3a psvideo: refactor div creation
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 21:28:23 -07:00
Nextcloud bot 223ac89c8b
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-19 04:08:36 +00:00
Varun Patil ab4426dc73 psimage: load thumbnail
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 20:59:26 -07:00
Varun Patil 7c04313519 photo: fix cursor
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 20:48:06 -07:00
Varun Patil e207d3a8c5 fix: change return type to generic
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 20:38:57 -07:00
Varun Patil d1720e8006 errors: fix string
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 20:32:27 -07:00
Varun Patil 47e2d9197f recognize: fix compat with 3.6 (fix #500)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 19:03:17 -07:00
Varun Patil 1e424d7e46 test: click on img-outer
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 18:21:15 -07:00
Varun Patil 235cf66dee sel: allow touchmove by 30px
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 14:32:25 -07:00
Varun Patil 857c44adc8 photo: fix long press on firefox mobile (fix #498)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 14:21:30 -07:00
Varun Patil c797e11220 lp: disableRemotePlayback
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 12:49:12 -07:00
Varun Patil 65da5c0436 refactor: optimize usage of querySelector
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 12:45:52 -07:00
Varun Patil 0bbcf7c8a0 viewer: adjust for sidebar on window resize
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 12:30:14 -07:00
Varun Patil 1371c5b8a6 refactor: move window resize event to app
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 12:08:52 -07:00
Varun Patil 886f3758d6 viewer: refactor sidebar functions to sidebar
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 11:39:11 -07:00
Varun Patil bcc2d3ca8f viewer: fix sidebar in fullscreen
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 11:25:27 -07:00
Varun Patil c74bdeecbc viewer: fix sidebar shenanigans
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 11:19:36 -07:00
Varun Patil 3052d7e1c6 Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-18 11:01:27 -07:00
Varun Patil 5f9a299af4 refactor: add errors class
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 10:52:04 -07:00
Varun Patil 00e51ef8d4 video-setup: print more info
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-18 10:50:49 -07:00
Nextcloud bot d9e8075d86
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-18 04:08:26 +00:00
Varun Patil cbef18d1e5 recognize: hide when faces disabled (fix #494)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-17 17:03:10 -07:00
Varun Patil 68c5b18e08 release: v4.12.3 2023-03-17 16:47:25 -07:00
Varun Patil 1a73afca65 Bump up go-vod
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-17 16:46:37 -07:00
Varun Patil 38384b0d6d Revamp scaler + add nv12 to vaapi 2023-03-17 16:40:31 -07:00
Varun Patil b4ad9d91be Switch to main profile 2023-03-17 16:07:33 -07:00
Varun Patil cbad0bb175 Trap exit code for ffmpeg 2023-03-17 14:44:59 -07:00
Varun Patil 5cb165d15f stream: don't die on stdout error 2023-03-17 14:31:03 -07:00
Varun Patil 51adf19eae video: support new vod post api
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-17 14:11:26 -07:00
Varun Patil 7dde1e145c Add temp post support 2023-03-17 14:06:54 -07:00
Varun Patil afd3cf937d video: check lp status code
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-17 13:16:43 -07:00
Varun Patil 40ff469e8f video: add external flag
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-17 10:52:44 -07:00
Varun Patil 149d2469bd release: v4.12.2 2023-03-17 10:43:15 -07:00
Varun Patil 7f2dc535e4 Add dockerfile 2023-03-17 10:41:09 -07:00
Varun Patil 5ab14ad07a video-setup: add print-config
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-17 09:50:09 -07:00
Varun Patil 2ccc03e7e1 vod: allow configuring connect address
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-17 09:32:43 -07:00
Varun Patil 17c494e5f9 takeout: minor fixes
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-17 01:11:13 -07:00
Varun Patil 2441d5f556 edit-meta: forbid some types e.g. mts
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-17 00:12:18 -07:00
Varun Patil 758beab34e takeout: add catch block to migrateFile
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-16 23:51:19 -07:00
Varun Patil e301ee84cb takeout: skip migration if blank exif
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-16 23:47:12 -07:00
Varun Patil 337d466644 app: enable support for MTS video
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-16 23:43:54 -07:00
Varun Patil 94bb94f34d lint: fix php
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-16 23:34:13 -07:00
Varun Patil f2d22d7e43 Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-16 23:33:21 -07:00
Varun Patil 7c95638e0d takeout: add migrator (fix #430)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-16 23:33:06 -07:00
Nextcloud bot 0020ba695b
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-17 04:06:58 +00:00
Varun Patil e1a55a49c3 livephoto: restore scale animation
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-16 17:50:54 -07:00
Varun Patil e30138d1cf Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-16 10:01:54 -07:00
Varun Patil b1df9215f9 big: remove filename from IPhoto
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-16 09:58:43 -07:00
Nextcloud bot 7ed775d290
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-16 04:13:56 +00:00
Varun Patil 1851c463c5 tag: hide overlay when no name
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-15 17:06:46 -07:00
Varun Patil 811343e730 lint: fix php
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-15 16:59:31 -07:00
Varun Patil 098d8da208 photo: fix overlay z-index
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-15 16:59:11 -07:00
Varun Patil dd29e00eb0 tag: add overlay
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-15 16:49:59 -07:00
Varun Patil 8044298ab8 recognize: add faceid to response
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-15 16:12:55 -07:00
Varun Patil 1ef3f576b0 livephoto: make animation less annoying
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-15 15:32:44 -07:00
Varun Patil dab575714d release: v4.12.1 2023-03-15 14:38:29 -07:00
Varun Patil 6698d58135 viewer: allow loading full image (fix #266)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-15 14:06:30 -07:00
Varun Patil 41a37df454 image: jpeg --> decodable
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-15 12:28:33 -07:00
Varun Patil 033a70c0d0 viewer: ximg for live photo
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-15 12:08:24 -07:00
Varun Patil 695b5c54ec exif: support more cases in date parsing (fix #485)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-15 10:51:33 -07:00
Varun Patil fb45a0fd36 Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-15 10:26:22 -07:00
Varun Patil df39c3fd66 Bump up go-vod
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-15 10:26:18 -07:00
Varun Patil 619c73e9ab
Merge pull request #488 from silopolis/stringfix
fix(typo,viewer): 'live video' -> 'Live Photo'
2023-03-15 10:24:49 -07:00
Varun Patil 9ea4f3ad2d Reduce lookBehind to 3 (fix #5) 2023-03-15 10:21:44 -07:00
Jérémie Tarot (@silopolis) 3db68abe74 fix(typo,viewer): 'live video' -> 'Live Photo'
Signed-off-by: Jérémie Tarot (@silopolis) <silopolis@gmail.com>
2023-03-15 10:46:00 +01:00
Nextcloud bot 75859edd3a
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-15 04:06:49 +00:00
Varun Patil d1778a6e8e sidebar: fix dropdown
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-14 15:01:12 -07:00
Varun Patil 72cc00d05a deps: update
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-14 14:39:46 -07:00
Varun Patil c4027bebd8 node-share: no sidebar on mobile
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-14 13:51:53 -07:00
Varun Patil 7a35229b47 public-album: add og metadata
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-14 13:42:55 -07:00
Varun Patil 2a9cfaf81b Add og metadata to share (fix #466)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-14 13:20:24 -07:00
Varun Patil 0286ba8bbd viewer: allow replaying live photo (fix #483)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-14 12:29:57 -07:00
Varun Patil 5a6d0f8d0c Revert "Update circle config"
This reverts commit dbc2e516ea.
2023-03-14 12:12:16 -07:00
Varun Patil dbc2e516ea Update circle config 2023-03-14 12:10:50 -07:00
Varun Patil 42c971ed64 Remove comment 2023-03-14 12:06:44 -07:00
Varun Patil c77f334182 modal: auto focus face search (fix #484)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-14 12:04:21 -07:00
Varun Patil bfbe46fa98
Merge pull request #7 from remz1337/master
Drop the hwaccel_output_format argument to fix issue #6
2023-03-14 11:52:56 -07:00
Rémi Bédard-Couture 6710930109 Drop the hwaccel_output_format argument to fix issue #6 2023-03-14 14:27:44 -04:00
Nextcloud bot 657909d76b
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-14 04:11:59 +00:00
Nextcloud bot 549e06853a
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-13 04:10:03 +00:00
Varun Patil 6bff20fad2 vod: fix bind configuration (fix #477)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-03-12 21:58:10 +00:00
Varun Patil f876f5d41c photo: prevent drawing rect on dummy (fix #463)
Signed-off-by: Varun Patil <radialapps@gmail.com>
2023-03-12 21:40:27 +00:00
Varun Patil 17aa3af11b
Merge pull request #474 from rakekniven/patch-2
fix(l10n): Fixed grammar
2023-03-12 14:01:10 -07:00
Nextcloud bot 08ba3647de
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-12 04:08:20 +00:00
rakekniven 8b5e0adf2b
fix(l10n): Fixed grammar
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2023-03-12 01:19:46 +01:00
Varun Patil 94e02a66f6
docs: update changelog date 2023-03-11 08:16:55 -08:00
Varun Patil f821ef3eb7
Update issue templates 2023-03-11 07:16:47 -08:00
Varun Patil 01fd8c099b Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-11 00:32:53 -08:00
Varun Patil 7ddcb2c066 map: fix bad marker calls
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-11 00:29:23 -08:00
Varun Patil fcd68a5172 image: minor fixes to multipreview
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-11 00:05:49 -08:00
Varun Patil af29e344a0 sw: leave images to ximg
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-10 23:58:06 -08:00
Varun Patil 9b2af90546 sw: prevent caching map requests
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-10 23:41:47 -08:00
Nextcloud bot 21ed4e9eac
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-11 04:10:13 +00:00
Varun Patil d0c10b5333 docs: deprecate 7.4
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-10 19:04:28 -08:00
Varun Patil 95c50c905d video-setup; turn off vaapi before checking nvenc
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-10 18:24:13 -08:00
Varun Patil cf93890e52 release: v4.12.0 2023-03-10 18:14:56 -08:00
Varun Patil b0bbf7fbe7 docs: fix typo
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2023-03-10 17:39:17 -08:00
Varun Patil 27d027cabd
Merge pull request #465 from silopolis/stringfix
typo: fix Live Photo capitalization
2023-03-10 17:37:18 -08:00
Varun Patil fd5aab5246 docs: update changelog 2023-03-10 17:31:23 -08:00
Varun Patil 8f64d630ec share: fix jpeg on public link 2023-03-10 17:30:42 -08:00
Varun Patil 4ca57bbbe1 share: don't duplicate if at least one 2023-03-10 17:25:45 -08:00
Varun Patil c43010312f share: link immediate 2023-03-10 17:18:07 -08:00
Varun Patil 12a6383574 share: fix ext without vid 2023-03-10 15:58:40 -08:00
Varun Patil 84327983b0 share: video-transcode 2023-03-10 15:57:02 -08:00
Varun Patil 847451d8be share: single item sharing
Fix #307
Fix #261
2023-03-10 15:27:12 -08:00
Varun Patil 862d742efc lint: fix php 2023-03-10 13:29:41 -08:00
Varun Patil 5a571b29b7 share: refactor refreshing list 2023-03-10 13:25:34 -08:00
Varun Patil 3bb152672b Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-10 12:45:11 -08:00
Varun Patil ec4ae09bf6 refactor: move node-share to app 2023-03-10 12:45:04 -08:00
Varun Patil 5a846cbde6 refactor: NodeShareModal 2023-03-10 12:34:03 -08:00
Varun Patil af6c142db2 folder-share: refresh sidebar on link change 2023-03-10 12:27:15 -08:00
Varun Patil c74ef0766c lint: fix php 2023-03-10 12:17:11 -08:00
Varun Patil 71e1ff605e all: use object for API::Q 2023-03-10 12:16:56 -08:00
Varun Patil 1891d86f63 folder-share: add creation button 2023-03-10 12:15:13 -08:00
Jérémie Tarot (@silopolis) 91b846707b typo: fix Live Photo capitalization
Signed-off-by: Jérémie Tarot (@silopolis) <silopolis@gmail.com>
2023-03-10 19:09:52 +01:00
Varun Patil b94e055abc node-share: fix UI redirect 2023-03-10 09:45:24 -08:00
Varun Patil 4e6a2a1329 folder-share: add node share fake API 2023-03-10 09:30:56 -08:00
Nextcloud bot 1357ca7a91
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-10 04:13:46 +00:00
Varun Patil 53ebf7d18f refactor: edit metadata to app 2023-03-09 19:31:25 -08:00
Varun Patil f136d511da folder-share: prevent files 2023-03-09 18:55:22 -08:00
Varun Patil bd85a16f02 folder-share: redirect to local if owned 2023-03-09 18:47:59 -08:00
Varun Patil 0b62dc4aee albums: redirect public to local link 2023-03-09 18:27:18 -08:00
Varun Patil f3bdccb1ce edit-meta: check update permissions 2023-03-09 17:19:43 -08:00
Varun Patil 6c8ea158c0 viewer: allow edits to video metadata 2023-03-09 17:11:31 -08:00
Varun Patil 44e251d743 otd: convert flags 2023-03-09 17:04:40 -08:00
Varun Patil 679d83863e viewer: allow metadata edits to live photos 2023-03-09 17:00:30 -08:00
Varun Patil a553e8f122 viewer: use permissions info 2023-03-09 16:55:18 -08:00
Varun Patil 0e5806fddb all: use typed perm methods 2023-03-09 16:44:56 -08:00
Varun Patil af2a095059 all: force permissions for external shares 2023-03-09 16:39:26 -08:00
Varun Patil b3fa60ce0c docs: fix broken link 2023-03-09 15:03:29 -08:00
Varun Patil 322f7701ad metadata: hide edit buttons on public shares 2023-03-09 15:01:10 -08:00
Varun Patil ff8216a45e docs: update changelog 2023-03-09 14:58:13 -08:00
Varun Patil efd0a0e97a page: do not load sidebar on public 2023-03-09 14:53:24 -08:00
Varun Patil 05e55e27ec sidebar: fix for albums and shares (fix #320) 2023-03-09 14:48:18 -08:00
Varun Patil 8000616457 sidebar: add proxy component 2023-03-09 13:47:14 -08:00
Varun Patil 2788d5915c docs: update changelog 2023-03-09 13:16:34 -08:00
Varun Patil 509ab8402b vod: add more configuration
Close #450
Close #445
Close #428
Close #297
2023-03-09 13:06:08 -08:00
Varun Patil 95cfe3fd57 Make NVENC more configurable 2023-03-09 13:02:57 -08:00
Varun Patil ec4db393b3 vod: switch to new config pattern 2023-03-09 12:40:02 -08:00
Varun Patil a38fed1983 vaapi: make lowpower configurable 2023-03-09 12:39:43 -08:00
Varun Patil f41680455c Switch to config file 2023-03-09 11:57:15 -08:00
Varun Patil 722f426d3f Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-09 09:53:39 -08:00
Varun Patil 20e9007cdd folder-share: remove quotes in string 2023-03-09 09:53:37 -08:00
Nextcloud bot d4ff476147
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-09 04:14:29 +00:00
Varun Patil 383109e414 settings: fix sort text 2023-03-08 16:42:35 -08:00
Varun Patil 85f3810057 timeline: allow forcing timeline sorting 2023-03-08 16:38:30 -08:00
Varun Patil 03dce35da8 tl: allow choosing sort order (fix #371) 2023-03-08 16:34:17 -08:00
Varun Patil aa4bb7f60d readme: mention bulk metadata editing 2023-03-08 16:16:45 -08:00
Varun Patil 1742514be0 edit-exif: cast vals to string 2023-03-08 16:00:46 -08:00
Varun Patil 1f1e9c9f60 ximg: simplify cache cleaner 2023-03-08 15:39:33 -08:00
Varun Patil becb2abb2d map: fix refresh of count 2023-03-08 15:24:25 -08:00
Varun Patil 4a36705f42 frame: improve photo recycling 2023-03-08 15:10:37 -08:00
Varun Patil 56d2f2f65e map: prevent thumb re-render 2023-03-08 14:45:29 -08:00
Varun Patil 80d11d2bcf ximg: add interest aggregation 2023-03-08 14:11:10 -08:00
Varun Patil a52ef3dc14 cimg: minor improvements 2023-03-08 13:14:38 -08:00
Varun Patil 0505711a9f docs: add note on CSP cache 2023-03-08 12:49:03 -08:00
Varun Patil 45605f46d8 docs: add NC version to changelog 2023-03-08 12:38:20 -08:00
Varun Patil 67cf55c48c edit-meta: fix nominatim url 2023-03-08 12:19:33 -08:00
Varun Patil 1c0e60c1bb sel: remove unused import 2023-03-08 12:09:02 -08:00
Varun Patil a44cfe3b85 edit-meta: fix some layout 2023-03-08 12:03:37 -08:00
Varun Patil 679eeae601 edit-meta: fix glitch when no coords 2023-03-08 11:52:29 -08:00
Varun Patil 3ea80a451a Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-08 11:48:52 -08:00
Varun Patil 2aafb4dd09
Merge pull request #461 from meichthys/patch-2
Add emojis to remaining readme headers
2023-03-08 11:48:46 -08:00
Varun Patil 4b4fcd5047 lint: fix php 2023-03-08 11:48:36 -08:00
Varun Patil 08deed1e39 edit-meta: make location accessible 2023-03-08 11:45:03 -08:00
Varun Patil b8125a2ff3 Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-08 11:33:00 -08:00
Varun Patil 3073d92a89 edit-meta: allow removing gps data (#418) 2023-03-08 11:32:57 -08:00
MeIchthys e438a7818e
Add emojis to remaining readme headers
Some headers had emojis and some didn't, so let's emojify all headers!
2023-03-08 14:04:38 -05:00
Varun Patil fcd18604ae readme: shout out to @ChickenTarm 2023-03-08 10:53:03 -08:00
Varun Patil b2ed1b6f2d docs: update changelog 2023-03-08 10:50:51 -08:00
Varun Patil 20906499cb
Merge pull request #460 from meichthys/patch-1
Update public share link dialog text
2023-03-08 10:48:08 -08:00
Varun Patil 99ac12e7cb edit-metadata: add attribution to OSM 2023-03-08 10:43:31 -08:00
Varun Patil 58cbb9791c metadata: allow editing video metadata 2023-03-08 10:35:58 -08:00
MeIchthys 2333712cc9
Update public share link dialog text 2023-03-08 13:29:39 -05:00
Varun Patil e81260cb3e metadata: always show edit buttons 2023-03-08 10:28:35 -08:00
Varun Patil ffd105eac6 feat: add gps data editor (close #418) 2023-03-08 10:22:36 -08:00
Varun Patil 608e8556d8 Allow sectioning in meta editor 2023-03-08 08:56:00 -08:00
Varun Patil d47da7d554 docs: update metadata feature 2023-03-08 08:44:47 -08:00
Varun Patil a07ccb5b71 Minor string fixes 2023-03-08 08:43:22 -08:00
Varun Patil e8a4bcffbb album: revert capitalization 2023-03-07 21:11:03 -08:00
Varun Patil 4c821630c6 Improve album picker styling 2023-03-07 21:07:40 -08:00
Varun Patil 4c85dd14ec docs: use custom_apps in readme 2023-03-07 20:49:39 -08:00
Varun Patil 8b2f900e50 video; ensure transcoder is a file 2023-03-07 20:46:20 -08:00
Varun Patil 05770e5015
Update issue templates 2023-03-07 20:30:04 -08:00
Varun Patil 29642f5459 Update bug template 2023-03-07 20:28:50 -08:00
Varun Patil 8dc6a90fd7
Update issue templates 2023-03-07 20:25:33 -08:00
Varun Patil 3ceaaeb070 Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-07 20:14:49 -08:00
Varun Patil 6ad37a4812 feat: allow editing collaborative tags (fix #270) 2023-03-07 20:14:42 -08:00
Nextcloud bot 92de7c3814
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-08 04:13:58 +00:00
Varun Patil 2b0afe8db6 image: refactor to use arg for body 2023-03-07 20:00:21 -08:00
Varun Patil 33797c5898 Minor fixes 2023-03-07 19:35:47 -08:00
Varun Patil efdb4c726f exif-edit: do not query tags 2023-03-07 19:12:43 -08:00
Varun Patil ecc4bd0b34 all: fix modal calls 2023-03-07 18:56:23 -08:00
Varun Patil f2285a6fa5 lint: fix whitespace 2023-03-07 18:49:21 -08:00
Varun Patil 6b3eda89d1 edit-exif: combine dialogs 2023-03-07 18:49:13 -08:00
Varun Patil 538bca5bb4 metadata: show tag list 2023-03-07 14:38:37 -08:00
Varun Patil f56064e99a sidebar: EXIF --> Info 2023-03-07 12:28:08 -08:00
Varun Patil 40356b3d51 lint: fix php 2023-03-07 12:27:25 -08:00
Varun Patil ae188732c2 docs: update changelog 2023-03-07 12:25:47 -08:00
Varun Patil 47afed642b index: improve forcing logic 2023-03-07 12:20:07 -08:00
Nextcloud bot 986446a1b7
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-07 04:07:30 +00:00
Nextcloud bot 07834c0af1
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-06 04:11:49 +00:00
Nextcloud bot 391e113216
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-05 04:11:20 +00:00
Nextcloud bot d806f36f48
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-04 04:09:27 +00:00
Varun Patil e23ed4c260 albums: rename list sorting 2023-03-03 14:23:44 -08:00
Varun Patil b63a79385d fix: add UserConfig to sel manager 2023-03-03 13:55:31 -08:00
Varun Patil a6759ace5a albums: add sort order (fix #377) 2023-03-03 13:52:34 -08:00
Varun Patil 02f1fbabd0 style: add margin only to dropdown poppers 2023-03-03 13:09:05 -08:00
Varun Patil dbfada2baa frame: clean up photo face blob 2023-03-03 13:00:05 -08:00
Varun Patil 8edd13c034 mixins: do not inject UserConfig globally 2023-03-03 12:47:46 -08:00
Varun Patil d0a27aa64c folders: allow archive/unarchive (fix #350) 2023-03-03 12:37:45 -08:00
Varun Patil 2bfb04702e archive: prevent crossing user boundary 2023-03-03 12:29:17 -08:00
Varun Patil 1cad7828e6 face-list: add search bar (fix #177) 2023-03-03 12:12:05 -08:00
Varun Patil 26ac120e13 dev: check in vscode config 2023-03-03 11:50:12 -08:00
Varun Patil fa499b081f metadata: add spinner loader 2023-03-03 11:41:25 -08:00
Varun Patil d7bf0ca55c index: remove confusing percent numbers 2023-03-03 11:10:04 -08:00
Varun Patil ef9b567483 index: prevent repeats on shared files (fix #455) 2023-03-03 11:08:23 -08:00
Varun Patil a6eccd6a23 AlbumForm: disallow slash in name (fix #442) 2023-03-03 09:35:59 -08:00
Varun Patil 4bbf8770b7
Merge pull request #417 from matiasdelellis/FRFixSigleClusters
Face Recognition: Fix query to not show individual clusters
2023-03-03 11:10:17 -05:00
Varun Patil b820448147 Merge branch 'master' of https://github.com/pulsejet/memories 2023-03-03 08:08:19 -08:00
Varun Patil ef7c74a746 css: make v-popper fill up space 2023-03-03 08:08:14 -08:00
Nextcloud bot b9e63a03bf
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-03 03:31:27 +00:00
Nextcloud bot a967f148b7
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-02 03:30:31 +00:00
Nextcloud bot 7abd1f7157
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-03-01 03:44:37 +00:00
Nextcloud bot 4cdb575d63
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-28 03:30:55 +00:00
Varun Patil ae0fc3353b Merge branch 'master' of https://github.com/pulsejet/memories 2023-02-27 10:07:34 -08:00
Varun Patil efec646ecb image: use output buffer for multipreview 2023-02-27 10:01:04 -08:00
Varun Patil 37940b13f1 x-img-cache: refactor axios calls 2023-02-27 09:56:20 -08:00
Varun Patil 04b18756f6 x-img-cache: cap to 10 per multipreview 2023-02-27 09:51:17 -08:00
Nextcloud bot 773e130f3b
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-27 03:31:30 +00:00
Varun Patil f06c6fdcbf Revert "x-img: simplify logic of cache"
This reverts commit d86e9406d3.
2023-02-26 15:08:02 -08:00
Varun Patil 881bab10df vjs: dispose if exists 2023-02-26 14:42:36 -08:00
Varun Patil 02f56af0f1 ps-image: prevent white border 2023-02-26 14:41:29 -08:00
Varun Patil 4d718072ca release: v4.11.1 2023-02-26 13:53:40 -08:00
Varun Patil 89ee0b4f87 viewer: remove dead code 2023-02-26 13:53:03 -08:00
Varun Patil ba42db301c app: use name for NcAppNavigationItem 2023-02-26 13:52:24 -08:00
Varun Patil fd6b7017bd viewer: fix sharing 2023-02-26 13:03:35 -08:00
Varun Patil c7033466c7 release: v4.11.1 2023-02-26 12:36:35 -08:00
Varun Patil da6c681bbf ps-image: fix content load image 2023-02-25 22:07:57 -08:00
Varun Patil 8ae1fc8ddd viewer: use axios for photoswipe 2023-02-25 21:33:40 -08:00
Varun Patil d86e9406d3 x-img: simplify logic of cache 2023-02-25 21:09:34 -08:00
Varun Patil c78b560197 Merge branch 'master' of https://github.com/pulsejet/memories 2023-02-25 19:45:43 -08:00
Varun Patil c7fc549720 x-img: improve blob cache logic 2023-02-25 19:45:41 -08:00
Varun Patil 4a81b4d1e8 x-img: implement memcache 2023-02-25 19:30:59 -08:00
Nextcloud bot d00706821a
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-26 03:29:12 +00:00
Varun Patil 3ba717571c e2e: wait for load 2023-02-25 18:43:48 -08:00
Varun Patil 4121d179b6 test: fix e2e (1) 2023-02-25 18:35:09 -08:00
Varun Patil 4693bc1700 test: fix e2e 2023-02-25 18:27:31 -08:00
Varun Patil 0c110ec46e x-img: revoke blob on unmount 2023-02-25 18:20:17 -08:00
Varun Patil 87430e298d Replace img with x-img 2023-02-25 16:35:08 -08:00
Varun Patil 4d16388442 Merge branch 'master' of https://github.com/pulsejet/memories 2023-02-25 16:27:03 -08:00
Varun Patil dd976d3c68 perf: move multipreview to app 2023-02-25 16:26:49 -08:00
Nextcloud bot 5669557017
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-25 03:44:23 +00:00
Varun Patil 3f61f9484f docs: update readme dev guide 2023-02-24 09:51:21 -08:00
Varun Patil 03043131ee docs: update readme/info to remove demo text 2023-02-24 09:47:55 -08:00
Varun Patil be98777880 exif: refactor args to const 2023-02-24 09:28:57 -08:00
Varun Patil c6f8d1caa1 lint: fix php 2023-02-24 09:12:34 -08:00
Varun Patil cf1109e5fd video-setup: kill existing processes 2023-02-24 09:12:23 -08:00
Varun Patil b30bd9bd38 places-setup: increase batch size to 500 2023-02-24 01:47:34 -08:00
Varun Patil 3a20efb8a3 places-setup: check if exists before deleting 2023-02-24 01:44:42 -08:00
Varun Patil 8eaea1cf7a places-setup: speedup by 10x 2023-02-24 01:39:49 -08:00
Varun Patil fe0de6e9cb tw: wrap map ops in transaction 2023-02-24 01:38:31 -08:00
Varun Patil eb51b59152 tw: prevent map cluster zero division (fix #436) 2023-02-24 00:50:45 -08:00
Varun Patil aaf536609e deps: bump up go-vod 2023-02-24 00:36:57 -08:00
Varun Patil 35b4b3a8b2 buildvcs=false 2023-02-24 00:35:24 -08:00
Varun Patil 563d14248c go 1.20 2023-02-24 00:29:50 -08:00
Varun Patil 3c2a405133 Return conflict when coder changed 2023-02-24 00:26:10 -08:00
Varun Patil 79b6978bb9 lint: fix php 2023-02-24 00:22:21 -08:00
Varun Patil a2798c8763 video: improve transcode logging (#428) 2023-02-24 00:21:56 -08:00
Varun Patil 9295f2d026 general: use byval for array_map 2023-02-23 23:50:09 -08:00
Varun Patil e93571c7f6 Improve handling of temp dir (#428) 2023-02-23 23:26:49 -08:00
Varun Patil 70809b8100 modal: fix error on keydown 2023-02-23 23:10:16 -08:00
Varun Patil 78d85f45a7 timeline: react to enableTopMemories (fix #416) 2023-02-23 22:55:51 -08:00
Varun Patil 62db624710 refactor: move places warning outside condition 2023-02-23 22:49:25 -08:00
Varun Patil b4e1bf2c4f places: stop when not using db prefix (#427) 2023-02-23 22:47:29 -08:00
Varun Patil 9d5b7c3841 OnThisDay: explicitly disconnect resize observer 2023-02-23 22:38:37 -08:00
Varun Patil c6df61b61d OnThisDay: observe size changes 2023-02-23 22:34:34 -08:00
Varun Patil 6a37009b02 viewer: prevent sidebar typing leak (fix #437) 2023-02-23 22:18:06 -08:00
Varun Patil c9fc7c3c60 viewer: make imageInfo reactive (fix #412) 2023-02-23 22:07:11 -08:00
Varun Patil 52491f359e Merge branch 'master' of https://github.com/pulsejet/memories 2023-02-23 21:19:13 -08:00
Varun Patil 63ecdf30a2 exif: ignore invalid values (fix #420) 2023-02-23 21:19:09 -08:00
Nextcloud bot a636bdc03b
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-24 03:36:04 +00:00
Nextcloud bot 09b1fd2444
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-23 03:31:09 +00:00
Nextcloud bot f6f7db45e1
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-22 03:30:08 +00:00
Nextcloud bot 963ca1942d
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-21 03:29:33 +00:00
Varun Patil cd74c8444b Merge branch 'master' of https://github.com/pulsejet/memories 2023-02-20 08:12:20 -08:00
Varun Patil bdbce20f91 base: byval for getPreviewFromImageList (#25) 2023-02-20 08:12:16 -08:00
Nextcloud bot 215910a418
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-20 03:28:22 +00:00
Nextcloud bot d7001bf9c9
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-19 03:28:22 +00:00
Nextcloud bot c22d67b065
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-18 03:28:02 +00:00
Nextcloud bot 337adfc9e9
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-17 03:29:00 +00:00
Varun Patil 6a3fda1e0b lint: fix php 2023-02-16 13:39:42 -08:00
Varun Patil 91697b3523 Merge branch 'master' of https://github.com/pulsejet/memories 2023-02-16 13:34:54 -08:00
Varun Patil dd84e31eb9 cmd: detect db explicitly in places-setup 2023-02-16 13:34:51 -08:00
Nextcloud bot d14ebd9805
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-16 03:27:52 +00:00
Nextcloud bot 8474a10327
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-15 03:28:00 +00:00
Matias De lellis 7209c49105 Face Recognition: Fix query to not show individual clusters
It was working incorrectly since my last PR. Sorry.
Note that may seem useful to show them all, but it ends up being a
never-ending task that annoys the user.

On the other hand, I made two public functions to improve the
readability of the controller code.
2023-02-14 20:59:30 -03:00
Varun Patil 99baf691e9 lint: fix php 2023-02-14 10:33:32 -08:00
Varun Patil f75b68baaf tags: add translation from recognize 2023-02-14 09:51:52 -08:00
Nextcloud bot 12c556509d
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-13 03:28:31 +00:00
Varun Patil 3e3c98c8d1 map: fix viewer video fullscreen 2023-02-12 16:54:11 -08:00
Varun Patil ed33aa9f8f Merge branch 'master' of https://github.com/pulsejet/memories 2023-02-12 16:34:49 -08:00
Varun Patil 600057f5d9 viewer: allow sidebar to overlap on mobile 2023-02-12 16:34:45 -08:00
Nextcloud bot 05f39f95c2
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-12 03:26:15 +00:00
Varun Patil fc12219695 video: transcode all live photos (fix #388) 2023-02-11 08:19:46 -08:00
Varun Patil 681eb1da9c Merge branch 'master' of https://github.com/pulsejet/memories 2023-02-11 07:41:28 -08:00
Varun Patil f8919306f5 exif: remove timezone from CreateDate
Supercedes #397
Closes #405

Contributed by @AndreAle94
2023-02-11 07:41:11 -08:00
Varun Patil d93a072e3d Revert "Refactor date taken extraction logic"
This reverts commit 0e345b1592.
2023-02-11 07:34:47 -08:00
Nextcloud bot dfeeae08c6
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-11 03:25:56 +00:00
Varun Patil 8bbbe43bfc Update changelog with release date 2023-02-10 16:47:46 -08:00
Varun Patil 551067e072 release: v4.11.0 2023-02-10 16:17:04 -08:00
Varun Patil 56f9ad8b7f map: add edge buffer 2023-02-10 12:52:54 -08:00
Varun Patil d3cbe3b38c release: v4.11.0-beta.3 2023-02-10 12:26:47 -08:00
Varun Patil ca74634d1b map: fix styling in dark mode (#402) 2023-02-10 12:22:08 -08:00
Varun Patil 116640a31a map: extend cluster borders 2023-02-10 11:59:11 -08:00
Varun Patil 83808cbc17 map: remove duplicate worlds 2023-02-10 11:58:54 -08:00
Varun Patil 22af8a5615 map: animate cluster joins and splits 2023-02-10 11:42:16 -08:00
Varun Patil ea5648eb16 timeline: quit processDay without head 2023-02-10 11:41:55 -08:00
Varun Patil 1069c1696d map: animate marker movement on zoom 2023-02-10 10:31:57 -08:00
Varun Patil f4940710a6 map: use floor for consistent grouping 2023-02-10 09:55:58 -08:00
Varun Patil 4ae8537691 tw: refactor and add comments to map 2023-02-10 09:36:20 -08:00
Varun Patil 87e0b05726 tw: refactor map function names 2023-02-10 09:29:42 -08:00
Varun Patil 37c2a0fc74 map: use separate statement for aggregate update (fix #403) 2023-02-10 09:26:49 -08:00
Varun Patil fa40f92dbb Merge branch 'master' of https://github.com/pulsejet/memories 2023-02-09 20:33:02 -08:00
Varun Patil e48269766a release: v4.11.0-beta.2 2023-02-09 20:33:01 -08:00
Varun Patil eaeb114c59 map: remove fine grouping 2023-02-09 20:30:25 -08:00
Varun Patil e5149792ab index: revert incorrect commit 2023-02-09 20:14:24 -08:00
Varun Patil 77c63c55cf map: fix typing 2023-02-09 20:14:10 -08:00
Varun Patil f278229cf6 map: fix count bg color 2023-02-09 20:13:22 -08:00
Nextcloud bot 20172ae377
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-10 03:31:52 +00:00
Varun Patil efcf9a9e91 map: fix wrong URL for preview 2023-02-09 18:14:12 -08:00
Varun Patil fc18e551fb release: v4.11.0-beta.1 2023-02-09 17:54:08 -08:00
Varun Patil a4a547f303 map: zoom to viewer from map 2023-02-09 17:41:00 -08:00
Varun Patil 4527b157a6 lint: fix php 2023-02-09 17:27:18 -08:00
Varun Patil cc2accae54 map: open photo on click at high zoom 2023-02-09 17:27:03 -08:00
Varun Patil f5b6f92339 map: fix for mobile 2023-02-09 16:25:00 -08:00
Varun Patil e0d54c0f81 lint: fix php 2023-02-09 13:13:59 -08:00
Varun Patil b584add525 onthisday: allow disabling at top (fix #368) 2023-02-09 13:13:44 -08:00
Varun Patil 3fde5c1caf settings: add dialog 2023-02-09 13:03:06 -08:00
Varun Patil e0af54f835 timeline: fix day processing with frequent param change 2023-02-09 12:13:40 -08:00
Varun Patil 479665ca62 map: fix for sw 2023-02-09 12:02:11 -08:00
Varun Patil 8d4d2d6240 app: fix sw registration 2023-02-09 11:28:15 -08:00
Varun Patil efceb7feaf
Merge pull request #391 from matiasdelellis/FRpostgresql
Fix FaceRecognition integration doesn't work with postgresql database.
2023-02-09 11:18:02 -08:00
Varun Patil 605d1a803c docs: update readme for map 2023-02-09 11:16:03 -08:00
Varun Patil 2d839a9030 docs: add changelog note for reindex 2023-02-09 11:12:23 -08:00
Varun Patil e9f2fb91d4 Merge branch 'AndreAle94-master' 2023-02-09 10:32:40 -08:00
Andrea Alemani 0e345b1592 Refactor date taken extraction logic 2023-02-09 10:32:03 -08:00
Varun Patil 36c591a82a
Merge pull request #396 from pulsejet/map
Map Implementation
2023-02-09 10:08:52 -08:00
Varun Patil f727bf28cf map: update changelog 2023-02-09 10:06:37 -08:00
Varun Patil 74cdab50bc map: remove dead code 2023-02-09 10:00:40 -08:00
Varun Patil 5004de8cf6 map: use terrain at high zoom levels 2023-02-09 09:51:26 -08:00
Varun Patil 5f07ffd5c9 map: support dark mode 2023-02-09 09:17:24 -08:00
Varun Patil f7b7fa2ac8 map: fix cluster on deletion 2023-02-09 08:40:26 -08:00
Varun Patil efea8369bd map: restore CSRF check 2023-02-09 08:29:53 -08:00
Varun Patil 36f32da13f map: more minor fixes 2023-02-09 08:25:37 -08:00
Varun Patil 4b462a1da6 fix: contain scroller inside timeline 2023-02-09 08:03:08 -08:00
Varun Patil 7aa012b997 map: hide cluster count if 1 2023-02-09 01:01:15 -08:00
Varun Patil e0d3983c5b page: disable cache 2023-02-09 00:57:37 -08:00
Varun Patil bb47f5b6dc map: lazy load leaflet 2023-02-09 00:39:02 -08:00
Varun Patil 1751ad7d80 map: add migration 2023-02-09 00:35:35 -08:00
Varun Patil 72a08b917f map: revert cluster post-processing 2023-02-08 23:55:54 -08:00
Varun Patil 85f3d635c6 map: show preview of coarse 2023-02-08 23:36:31 -08:00
Varun Patil b7dcf4786a map: zoom on preview click 2023-02-08 23:15:48 -08:00
Varun Patil e7c8748cc9 draft: eager clustering 2023-02-08 21:55:12 -08:00
Nextcloud bot 75c785c57e
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-09 03:35:53 +00:00
Varun Patil 74e69d0d6f tq: fix typing 2023-02-08 17:45:55 -08:00
Varun Patil 0656368975 places: remove invalid levels 2023-02-08 15:09:54 -08:00
Varun Patil db0797ef8e map: prevent breakouts on desktop 2023-02-08 14:59:05 -08:00
Varun Patil adc16bec29 map: rename from locations 2023-02-08 14:13:13 -08:00
Varun Patil 348c887499 map: remove unused library 2023-02-08 14:03:46 -08:00
Varun Patil 64d4205346 map: refactor 2023-02-08 14:00:56 -08:00
Varun Patil 7d90aeacb1 map: restore functionality 2023-02-08 13:35:42 -08:00
Varun Patil bcc35d6132 Merge branch 'RaymondHuang210129-location' into map 2023-02-08 11:44:51 -08:00
Varun Patil 4d94353406 Merge branch 'location' of https://github.com/RaymondHuang210129/memories into RaymondHuang210129-location 2023-02-08 11:43:52 -08:00
Raymond Huang 0987ab95c5 feat: improve marker clustering logic 2023-02-09 02:52:53 +08:00
Varun Patil 99ce1fcfd6 map: add migration 2023-02-08 10:45:25 -08:00
Varun Patil c6edd10c85 Merge branch 'location' of https://github.com/RaymondHuang210129/memories into RaymondHuang210129-location 2023-02-08 10:12:40 -08:00
Raymond Huang 7d01849f8e feat: show clusters of photos on the map 2023-02-08 11:59:04 +08:00
Varun Patil a6a0de548d Merge branch 'master' of https://github.com/pulsejet/memories 2023-02-07 19:48:23 -08:00
Varun Patil e32f934fd2 tw: improve place error handling 2023-02-07 19:48:19 -08:00
Nextcloud bot b65951ecf0
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-08 03:26:17 +00:00
Varun Patil b7cfaca2d8 controller: add type casts for getPreviewFromImageList 2023-02-07 18:52:43 -08:00
Varun Patil e19302c927
Merge pull request #395 from pulsejet/places
Support for place list with reverse geocoding
2023-02-07 10:34:09 -08:00
Varun Patil 92b36613a7 places: add type cast to postgres function 2023-02-06 11:45:35 -08:00
Varun Patil 2adb7d693a places: use prepared statement for setup 2023-02-06 11:40:33 -08:00
Varun Patil bc6366c65f places: refactor string interpolation 2023-02-06 10:50:48 -08:00
Varun Patil 5dffccbc91 places-setup: fix duplicate prints 2023-02-06 08:01:47 -08:00
Varun Patil 1be68551e5 lint: fix php 2023-02-06 07:58:36 -08:00
Varun Patil db6b240593 places: ensure zip is also deleted 2023-02-06 07:56:02 -08:00
Varun Patil 8018edd5b2 places: make sure data is deleted 2023-02-06 07:54:25 -08:00
Varun Patil a43316353b places: bump up geodb 2023-02-06 07:50:07 -08:00
Varun Patil df359bc099 tw: rename updateGeoData 2023-02-06 07:38:30 -08:00
Varun Patil 6c9d2d12c5 tw: add missing execute to geo 2023-02-06 07:38:07 -08:00
Varun Patil 24c0956b20 places: fix inners for postgres 2023-02-06 07:36:29 -08:00
Varun Patil 02356f76ac places: remove frivolous print 2023-02-06 07:31:48 -08:00
Varun Patil a0280aea73 places: handle inner rings 2023-02-06 07:30:04 -08:00
Varun Patil efcfd180d6 Update CHANGELOG 2023-02-05 23:45:40 -08:00
Varun Patil b23fa125ac places: skip overly specific places 2023-02-05 23:24:29 -08:00
Varun Patil a937d91bd7 all: refactor ordering of calls 2023-02-05 22:56:09 -08:00
Varun Patil 63576dbde9 places: add data download 2023-02-05 22:42:34 -08:00
Varun Patil 75de618f56 places: fix for postgres 2023-02-05 22:23:44 -08:00
Varun Patil 926692d65b migration: change index name 2023-02-05 22:00:54 -08:00
Varun Patil b25731e9ac places: hide when not configured/enabled 2023-02-05 19:55:39 -08:00
Varun Patil bae5f99b2b meta: use places 2023-02-05 19:46:44 -08:00
Varun Patil c3fa9f0d4c lint: fix php 2023-02-05 18:47:10 -08:00
Varun Patil 9ac95ef844 geo-setup: combine truncate statements 2023-02-05 18:46:39 -08:00
Varun Patil d8dd2cb89e tag: increase line height 2023-02-05 18:41:08 -08:00
Varun Patil a798a16552 place: fix names with dash 2023-02-05 18:39:58 -08:00
Varun Patil 2c510b12b8 tw: clear places on delete 2023-02-05 18:34:54 -08:00
Varun Patil a074f158d3 geo: new adaption 2023-02-05 18:29:09 -08:00
Varun Patil 6885155313 Add geo to info.xml 2023-02-05 17:24:39 -08:00
Varun Patil 2a0cbffcb0 Fix memories-test path 2023-02-05 17:20:40 -08:00
Varun Patil 24e70a7e06 Add WIP table creation 2023-02-05 17:15:18 -08:00
Varun Patil 62579b1b89 Initial places implementation 2023-02-05 13:43:25 -08:00
Varun Patil 7f21e8802d tq: fix debugger for array 2023-02-05 12:41:36 -08:00
Nextcloud bot 40b266f70a
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-05 03:23:47 +00:00
Matias De lellis 3b29328377 Fix FaceRecognition integration doesn't work with postgresql database.
Following the discussion in #304, I tried this solution using the
strict mode of mariadb/mysql.

Split the Clusters and People queries to minimize the considerations
of both functions. Otherwise I had to add many nested ifs.

Also change to only show 15 clusters (as a small optimization) since
there is no point in showing everything, and it is better to show these
little by little.
2023-02-02 22:28:59 -03:00
Nextcloud bot cf5ebf199d
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-02 03:28:20 +00:00
Raymond Huang 93b4b0274e Merge branch 'master' into location 2023-02-01 12:18:42 +08:00
Varun Patil 0f5162bd68 video: allow setting default quality (fix #364) 2023-01-31 20:15:16 -08:00
Varun Patil 1dd1774ed2 video: refactor quality UI 2023-01-31 20:08:38 -08:00
Raymond Huang 750636de67 style: apply lint 2023-02-01 12:08:11 +08:00
Raymond Huang ea289c4f02 style: remove unused code 2023-02-01 12:02:01 +08:00
Varun Patil 0f6afa1869 Merge branch 'master' of https://github.com/pulsejet/memories 2023-01-31 19:57:17 -08:00
Varun Patil eb9cd27d98 video: make go-vod port configurable (fix #354) 2023-01-31 19:56:41 -08:00
Raymond Huang 60ee600c52 refactor: program as a transform insstead of duplication 2023-02-01 11:54:35 +08:00
Varun Patil d003a271bf Allow setting bind port 2023-01-31 19:45:09 -08:00
Varun Patil ecc6510713 video: ensure no trailing slash in govod temp dir 2023-01-31 19:39:57 -08:00
Varun Patil 8ff3bf0f4d video: create go-vod temp dir (fix #353) 2023-01-31 19:37:39 -08:00
Nextcloud bot 6848561e46
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-02-01 03:31:08 +00:00
Varun Patil 883ecb2f29 Merge branch 'master' of https://github.com/pulsejet/memories 2023-01-31 19:14:54 -08:00
Varun Patil 6261ffd35a fix: clear temp fies during index (fix #355) 2023-01-31 19:14:52 -08:00
Nextcloud bot 5645f50e6c
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-31 03:34:55 +00:00
Nextcloud bot 85e8fd7b9b
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-30 03:34:01 +00:00
Varun Patil 3a7037d3cd release: v4.10.3 2023-01-28 08:53:35 -08:00
Varun Patil c1ed9ef259 Merge branch 'master' of https://github.com/pulsejet/memories 2023-01-28 08:53:05 -08:00
Varun Patil d6fba7e4a9 write: check array keys for exif filter (fix #381) 2023-01-28 08:53:01 -08:00
Nextcloud bot cb6fc8bf29
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-27 03:29:53 +00:00
Varun Patil 25318b9402 write: fix getLivePhotoId call 2023-01-26 11:52:19 -08:00
Varun Patil 3b04df121f Merge branch 'master' of https://github.com/pulsejet/memories 2023-01-26 10:50:53 -08:00
Varun Patil 457ac16db1 livephoto: multiple trailers in Google (fix #373) 2023-01-26 10:50:41 -08:00
Raymond Huang 2097f26d17 style: apply prettier lint 2023-01-26 12:51:42 +08:00
Nextcloud bot 824d61182c
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-26 03:47:24 +00:00
Raymond Huang ea8d08eba7 style: apply php-lint 2023-01-26 08:48:17 +08:00
Raymond Huang 80a433a874 fix: soft refresh the timeline when map changes 2023-01-26 08:43:46 +08:00
Raymond Huang 2bc2c50bee fix: call withBound function in preloadDays 2023-01-26 07:23:46 +08:00
Raymond Huang 44849505bf Merge branch 'master' into location 2023-01-26 02:51:12 +08:00
Raymond Huang 68a39918b5 feat: show photos taken in locations visible in map 2023-01-26 02:41:55 +08:00
Nextcloud bot 4d76a35913
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-25 03:44:53 +00:00
Nextcloud bot 5a6b3fc230
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-24 03:27:21 +00:00
Varun Patil 7cedcf70a8 release: v4.10.2 2023-01-23 10:45:56 -08:00
Nextcloud bot e14eb4f9d3
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-23 03:29:43 +00:00
Varun Patil 413db5b6ac Merge branch 'master' of https://github.com/pulsejet/memories 2023-01-22 16:51:29 -08:00
Varun Patil c59066ce0e write: filter EXIF fields with whitelist (fix #367) 2023-01-22 16:51:26 -08:00
Varun Patil f7894fc68d edit-exif: replace lens with model 2023-01-22 16:49:47 -08:00
Nextcloud bot 19ae33e6e9
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-22 03:25:56 +00:00
Varun Patil 284901537d modal: prevent keystroke escape (fix #362) 2023-01-21 09:07:58 -08:00
Varun Patil a4f276b605 util: use 9 for SIGKILL (#360) 2023-01-21 09:01:50 -08:00
Varun Patil 07e4467e07 Merge branch 'master' of https://github.com/pulsejet/memories 2023-01-21 08:54:11 -08:00
Varun Patil b9722e925c download: fix wrong user context in one (fix #361) 2023-01-21 08:53:48 -08:00
Nextcloud bot 2a7f57b6b8
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-21 03:49:49 +00:00
Varun Patil 0fae4d1ba9 Tab -> Space 2023-01-20 10:50:48 -08:00
Varun Patil 2f38074e4c release: v4.10.1 2023-01-20 09:19:07 -08:00
Nextcloud bot c09b00a415
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-20 03:29:20 +00:00
Nextcloud bot 9e03ab1b13
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-20 02:16:53 +00:00
Varun Patil 810fc69c5b video: reword QSV to VAAPI (#351) 2023-01-19 10:40:07 -08:00
Varun Patil b9a846603b base: add type cast to album check (#346) 2023-01-18 11:32:13 -08:00
Varun Patil 51a96e31bc album: fix error on removing live photo 2023-01-18 10:48:48 -08:00
Varun Patil 134a1bd898 image: touch file on exif change (fix #282) 2023-01-18 10:34:34 -08:00
Varun Patil 998fd27dc7 scroller: fix tick vertical location on mobile 2023-01-17 22:36:05 -08:00
Varun Patil 13ee3266cd Update changelog for release date 2023-01-17 22:20:55 -08:00
Varun Patil 5851beae3d release: v4.10.0 2023-01-17 22:17:42 -08:00
Varun Patil 7e34d83878 image-editor: fix with unified download API 2023-01-17 22:15:03 -08:00
Varun Patil 1aafe3747b download: remove unused imports 2023-01-17 22:13:42 -08:00
Varun Patil 7951b01f9e Update changelog 2023-01-17 21:25:33 -08:00
Varun Patil 4f3c2493b9 Merge branch 'keyeh-feat/recursive-folder' 2023-01-17 21:18:51 -08:00
Varun Patil fbbfbf18ec folder: fixes for timeline view 2023-01-17 21:18:27 -08:00
Varun Patil 1b14fc4901 Merge branch 'feat/recursive-folder' of https://github.com/keyeh/memories into keyeh-feat/recursive-folder 2023-01-17 21:09:48 -08:00
Varun Patil 682011c5b6 Update changelog 2023-01-17 21:06:47 -08:00
Varun Patil 43102ce847 Merge branch 'ahaltindis-move_to_folder' 2023-01-17 21:02:46 -08:00
Varun Patil 902d3cc1b6 Fix whitespace 2023-01-17 21:00:58 -08:00
Varun Patil ee3f9d2670 Merge branch 'move_to_folder' of https://github.com/ahaltindis/memories into ahaltindis-move_to_folder 2023-01-17 20:55:46 -08:00
Varun Patil b18a098f47 index: allow cleaning up orphans (fix #326) 2023-01-17 20:52:26 -08:00
Varun Patil c6ef65f69a onthisday: fix on year boundaries (fix #333) 2023-01-17 20:03:50 -08:00
Varun Patil 62ae3c910a download: use unified API for single file stream 2023-01-17 19:55:17 -08:00
Varun Patil 0b40d80854 video-setup: add null check for ffmpeg (#345) 2023-01-17 19:11:20 -08:00
Varun Patil 9fd803738c Merge branch 'master' of https://github.com/pulsejet/memories 2023-01-17 19:09:07 -08:00
Varun Patil 8bd1834214 refactor: page controller csp together 2023-01-17 19:09:02 -08:00
Varun Patil 24a3b8c638 Fix album public link (fix #344, fix #274) 2023-01-17 19:02:00 -08:00
Varun Patil d8b4caf4aa Update deps 2023-01-17 17:29:42 -08:00
Nextcloud bot 1898a14781
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-17 03:25:52 +00:00
Nextcloud bot a423426ce4
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-16 03:26:00 +00:00
Varun Patil 6b9f50ab31 viewer: delete with Del key (fix #313) 2023-01-15 15:45:57 -08:00
Varun Patil b9e65aa2e3 Update changelog 2023-01-15 14:46:11 -08:00
Varun Patil 816294b591 album: fix sharing with group (fix #329) 2023-01-15 14:43:48 -08:00
Varun Patil bd319cbf1f viewer: disable live photo in slideshow (fix #330) 2023-01-15 13:59:57 -08:00
Varun Patil 892abe81cc album: cast id to int (fix #292) 2023-01-15 13:50:32 -08:00
Varun Patil f4561296d8 readme: shout out to @k1l1 2023-01-15 13:49:16 -08:00
Varun Patil df3f74dcec Merge branch 'master' of https://github.com/pulsejet/memories 2023-01-15 13:46:33 -08:00
Nextcloud bot e8b698c5ff
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-15 03:22:52 +00:00
Nextcloud bot a882796820
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-14 03:24:44 +00:00
Nextcloud bot 41771c6bad
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-13 03:38:44 +00:00
Nextcloud bot 3c2ade7235
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-11 03:26:10 +00:00
Nextcloud bot b459f490fa
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-06 03:25:00 +00:00
Kevin Yeh 9053ca7bae Fix URL path for recursive folder view 2023-01-05 15:47:37 -08:00
Kevin Yeh 1e4f808e33 Fix unnecessary refresh on routeChange 2023-01-05 15:43:19 -08:00
Kevin Yeh 992b7bb277 Fix folder breadcrumbs overflowing 2023-01-05 11:01:43 -08:00
Kevin Yeh c42825daad Merge branch 'master' into feat/recursive-folder 2023-01-05 10:19:41 -08:00
Varun Patil 2bc2901c6b Update changelog 2023-01-04 12:54:25 -08:00
Varun Patil 5ce8e1d438 util: fix pkill when no process 2023-01-04 12:47:10 -08:00
Varun Patil 33a14932c4 Fix header title on public share (fix #323) 2023-01-04 12:38:44 -08:00
Varun Patil 8f4d50a377
Merge pull request #317 from ahaltindis/fix_make_macos
Use mkdir -p instead of mkdir --parents
2023-01-04 15:34:27 -05:00
Varun Patil 1d800ffb32 Update node version requirement (close #316) 2023-01-04 12:33:52 -08:00
Varun Patil 6a0a3a370e Remove usage of pkill (fix #286) 2023-01-04 12:32:36 -08:00
Varun Patil f7bf45dc86 Fix DAV url for remote.php in subfolder
Fixes #289

Patch by @sweehua
2023-01-04 12:21:55 -08:00
Nextcloud bot d5a15eab3d
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-04 05:30:46 +00:00
Nextcloud bot 1e391c6563
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2023-01-03 05:15:26 +00:00
Ahmet Altindis cdcf489247 Add move to folder feature 2022-12-31 17:38:28 +00:00
Ahmet Altindis 07e79abda1 Use mkdir -p instead of mkdir --parents 2022-12-29 23:48:26 +00:00
Nextcloud bot 10da3fd3e8
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-24 08:47:11 +00:00
Nextcloud bot dec19e899c
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-23 09:04:25 +00:00
Varun Patil c80d149886 Merge branch 'master' of https://github.com/pulsejet/memories 2022-12-22 10:49:31 -08:00
Varun Patil 37a26b8c31 write: cast video duration to float before round 2022-12-22 10:49:28 -08:00
Varun Patil 70f3fbaea1 cmd: catch all indexing errors 2022-12-22 10:49:06 -08:00
Nextcloud bot 746ea0fc94
Fix(l10n): 🔠 Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-22 06:28:30 +00:00
Varun Patil 78905bff8e release: v4.9.3 2022-12-21 11:26:29 -08:00
Varun Patil 5e4434bfad Merge branch 'noclass' 2022-12-21 11:25:54 -08:00
Varun Patil a7fa25a806 Merge branch 'master' of https://github.com/pulsejet/memories 2022-12-21 11:25:49 -08:00
Varun Patil a9dca58c98 Fix exiftool version 2022-12-21 11:25:00 -08:00
Nextcloud bot a2c999c29d
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-20 03:25:21 +00:00
Nextcloud bot 4e171df1a1
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-19 03:28:09 +00:00
Nextcloud bot ca22312cca
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-18 03:20:10 +00:00
Nextcloud bot 0a659cf829
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-17 03:21:13 +00:00
Nextcloud bot 9a02649415
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-13 03:33:46 +00:00
Nextcloud bot b7659a29af
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-12 03:20:12 +00:00
Varun Patil f3a1be3765 refactor: move to globals.scss 2022-12-10 20:01:57 -08:00
Nextcloud bot f2f88c2895
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-11 03:32:13 +00:00
Varun Patil c3c282de8d Minor fixes for forward compat 2022-12-10 13:53:52 -08:00
Varun Patil 4fd15d87b2 Remove unused dep 2022-12-10 12:41:01 -08:00
Varun Patil 333e59303b tsconfig: add vue target 2022-12-10 12:31:17 -08:00
Varun Patil 49916f14d9 scroller: fix type 2022-12-10 12:29:27 -08:00
Varun Patil aaae75642b Fix metadata construction 2022-12-10 11:24:41 -08:00
Varun Patil c562a75e35 Update deps 2022-12-10 11:23:27 -08:00
Varun Patil 0bce4ced49 Restore type checking 2022-12-10 10:59:36 -08:00
Varun Patil 3b8571ce92 backport vue3 branch 2022-12-10 09:58:30 -08:00
Varun Patil 555697a404 remove class vue dep (done) 2022-12-10 02:27:44 -08:00
Varun Patil d2d0de0fd0 remove class vue dep (4) 2022-12-10 02:04:07 -08:00
Varun Patil 2f482f4222 remvoe class vue dep (3) 2022-12-10 01:52:03 -08:00
Varun Patil 8d79151a30 remove class vue dep (2) 2022-12-10 01:27:04 -08:00
Varun Patil 07379d836c remove class vue dep (1) 2022-12-10 01:01:44 -08:00
Nextcloud bot 7883bde5a4
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-10 03:27:15 +00:00
Varun Patil 8520d0dc1e Merge branch 'master' of https://github.com/pulsejet/memories 2022-12-09 09:42:26 -08:00
Varun Patil 941b47c4ec selection: hide editors on albums 2022-12-09 08:58:19 -08:00
Varun Patil be36c6860c viewer: fix delete on albums 2022-12-09 08:54:24 -08:00
Nextcloud bot 98dc0119be
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-09 03:36:41 +00:00
Varun Patil 50b2756bbd release: v4.9.2 2022-12-08 15:23:18 -08:00
Varun Patil 057795b186 download: add UseSession annotation 2022-12-08 14:40:31 -08:00
Varun Patil ec218772b6 viewer: make bottom bar uninteractive 2022-12-08 13:48:56 -08:00
Varun Patil e31cf72756 viewer: make top-bar uninteractive when invisible 2022-12-08 13:46:42 -08:00
Varun Patil 7aa4eafa6e release: v4.9.1 2022-12-08 13:38:13 -08:00
Varun Patil 1204982c0b multipreview: check params 2022-12-08 13:37:55 -08:00
Varun Patil 9d619d5691 release: v4.9.0 2022-12-08 13:23:01 -08:00
Varun Patil 8517dfa164 changelog: prep for release 2022-12-08 13:21:28 -08:00
Varun Patil 141a9fe4a4 php: lint docs 2022-12-08 13:08:38 -08:00
Varun Patil bb06f3af34 docs: update for facerecognition (fix #146) 2022-12-08 13:07:25 -08:00
Matias De lellis aeffe628f2 Integration with facerecognition 2022-12-08 13:07:14 -08:00
Varun Patil 3f92e5ec6a viewer: make date consistent on safari 2022-12-08 09:52:58 -08:00
Varun Patil ee80df81ed Bump up exiftool 2022-12-07 22:44:35 -08:00
Varun Patil 8c91ceb0a7 viewer: adjustments to title and description 2022-12-07 22:26:29 -08:00
Varun Patil a534882f75 metadata: break-all is too aggressive 2022-12-07 22:23:24 -08:00
Varun Patil 14784ad67f viewer: move popper to left 2022-12-07 22:21:27 -08:00
Varun Patil 2f86513daa viewer: add edit exif button 2022-12-07 22:19:05 -08:00
Varun Patil 92c35339f3 sw: add expiration to preview 2022-12-07 22:06:27 -08:00
Varun Patil 254672fabe viewer: fix null check 2022-12-07 21:54:20 -08:00
Varun Patil 35b0c3ec13 changelog: fix spacing 2022-12-07 20:07:36 -08:00
Varun Patil f86fe1a311 changelog: update 2022-12-07 20:06:08 -08:00
Varun Patil e636a796ce refactor: viewer to one folder 2022-12-07 20:03:21 -08:00
Varun Patil fe25e871e0 Merge branch 'master' of https://github.com/pulsejet/memories 2022-12-07 19:55:52 -08:00
Varun Patil 40219e2673 exif: show in viewer 2022-12-07 19:55:46 -08:00
Nextcloud bot 7848e1587f
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-08 03:21:18 +00:00
Varun Patil 2027aedc74 Add EXIF editor (fix #169) 2022-12-07 17:27:08 -08:00
Varun Patil 80444f2240 changelog: update for multipreview 2022-12-07 15:59:03 -08:00
Varun Patil 2e7baa05ab test: add extra refresh 2022-12-07 15:50:51 -08:00
Varun Patil 6707050883 lint: php 2022-12-07 15:46:52 -08:00
Varun Patil ae9b01de19 timeline: increase buffer to 800 2022-12-07 15:36:38 -08:00
Varun Patil 0f31f845fb big: add multipreview 2022-12-07 15:33:47 -08:00
Varun Patil aecc528f38 sw: start immediately 2022-12-07 12:33:49 -08:00
Varun Patil 665fe9be85 Add custom service worker 2022-12-07 12:25:19 -08:00
Varun Patil f0fdaa7c0a video: remove transition change 2022-12-06 21:21:35 -08:00
Varun Patil 65c0b27f37 Merge branch 'master' of https://github.com/pulsejet/memories 2022-12-06 21:09:26 -08:00
Varun Patil 0362728745 scroller: use middle of touch finger for reference 2022-12-06 21:09:21 -08:00
Varun Patil 9a6814c0c0 scroller: fix interactend call on outside scroller 2022-12-06 21:06:31 -08:00
Nextcloud bot e0f1902782
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-07 03:21:25 +00:00
Varun Patil b5bdc0b0bf video: prevent closing when video fullscreen 2022-12-06 13:20:13 -08:00
Varun Patil 65f8a4bc4c video: auto rotate on mobile 2022-12-06 13:11:47 -08:00
Varun Patil dcc9f06d3b scroller: add snapping offset 2022-12-06 12:40:56 -08:00
Varun Patil 6a07f5b02e scroller: optimize duplicate scroll requests 2022-12-06 12:36:43 -08:00
Varun Patil 5b6fa014c2 scroller: snap to day on touch 2022-12-06 12:32:52 -08:00
Varun Patil 9aa2db3be4 scroller: fix preventing in touch 2022-12-06 12:28:02 -08:00
Varun Patil 9b0fcaf47f scroller: move ticks to left on mobile 2022-12-06 12:06:02 -08:00
Varun Patil 18419e1550 changelog: update preview wiki link 2022-12-06 11:55:27 -08:00
Varun Patil 95925c20e8 lint: php 2022-12-06 11:53:43 -08:00
Varun Patil 56df346c92 download: fix zip file name 2022-12-06 11:53:31 -08:00
Varun Patil 2011433536 albums: add download menu 2022-12-06 11:38:57 -08:00
Varun Patil b2ad076c06 Merge branch 'master' of https://github.com/pulsejet/memories 2022-12-06 11:03:09 -08:00
Varun Patil 67cc205288 download: switch to unified API (fix #259, fix #262)
Signed-off-by: Varun Patil <varunpatil@ucla.edu>
2022-12-06 11:02:53 -08:00
Varun Patil aeb73b4a80 Remove containment from selection manager 2022-12-06 10:47:42 -08:00
Nextcloud bot bab2b56eba
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-06 03:28:55 +00:00
Varun Patil ceb2365cf5 lint: php 2022-12-04 20:05:05 -08:00
Varun Patil c6a4b4e3e9 days: remove rootid from response 2022-12-04 20:04:48 -08:00
Varun Patil 46f9920d8c sw: improve caching behavior 2022-12-04 20:00:53 -08:00
Varun Patil 968ac22d3b Merge branch 'master' of https://github.com/pulsejet/memories 2022-12-04 19:49:18 -08:00
Varun Patil 7ff573b367 timeline: more perf tweaks 2022-12-04 19:49:16 -08:00
Varun Patil 7fd079669b timeline: add more containment rules 2022-12-04 19:19:21 -08:00
Nextcloud bot 41cff42ab6
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-05 03:17:15 +00:00
Varun Patil 8347252cfa folder: design update 2022-12-04 18:52:42 -08:00
Varun Patil 604371c5cd tag: design update 2022-12-04 18:52:29 -08:00
Varun Patil cb9ba814fd video: another attempt to fix fullscreen 2022-12-04 13:09:31 -08:00
Varun Patil c566b922da Merge branch 'master' of https://github.com/pulsejet/memories 2022-12-04 09:57:41 -08:00
Varun Patil d9c6d0a597 general: fix use of deprecated get methods 2022-12-04 09:57:31 -08:00
Varun Patil 355b74e19b general: reduce more DI 2022-12-04 09:47:10 -08:00
Varun Patil 4c2bc5a675 general: reduce some DI 2022-12-04 09:33:20 -08:00
Varun Patil 04614b9c6e base: uppercase getUid 2022-12-04 09:22:59 -08:00
Varun Patil d8af8ae3ba base: validate no-read shares 2022-12-04 09:20:46 -08:00
Nextcloud bot a3d0b020f2
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-04 03:16:48 +00:00
Varun Patil 93da22e0fa image: don't interlace jpeg 2022-12-03 09:07:08 -08:00
Varun Patil 658d1865c3 Bump up go-vod 2022-12-03 08:27:43 -08:00
Varun Patil ab49efa89b Don't run ffmpeg for h264 full video 2022-12-03 07:24:24 -08:00
Varun Patil 5a54c1217b video: remove useless ob_flush call 2022-12-03 00:19:57 -08:00
Varun Patil 0ce283561e tq: fix davPaths warning 2022-12-03 00:14:29 -08:00
Varun Patil 9910691242 albums: refresh collabs after creating link 2022-12-03 00:11:46 -08:00
Varun Patil 4f81eadb9b albums: fix collabs table on 2.0.1 2022-12-02 23:54:09 -08:00
Varun Patil e2919ff2d4 exif: store w/h for high-res images 2022-12-02 23:50:33 -08:00
Varun Patil 3cb0abaea7 download: always generate url 2022-12-02 23:30:18 -08:00
Varun Patil 274951b9f9 refactor: remove token query calls 2022-12-02 23:21:57 -08:00
Varun Patil 13f73b3594 refactor: API class 2022-12-02 23:10:40 -08:00
Varun Patil e60d97ae5e video: allow transcoding everywhere 2022-12-02 22:23:43 -08:00
Varun Patil 34b96aa1aa Preserve query strings 2022-12-02 22:06:03 -08:00
Varun Patil 874258dae9 livephoto: allow access for folder shares 2022-12-02 21:53:30 -08:00
Varun Patil 6d508890c4 Update changelog 2022-12-02 21:44:23 -08:00
Varun Patil 1866ce5dfa preview: fix for shared album 2022-12-02 21:42:52 -08:00
Varun Patil ec19d724c5 folder: fix wrong route on viewer 2022-12-02 21:31:37 -08:00
Varun Patil 6b1cb41c25 share: hide download button if needed (fix #273) 2022-12-02 21:25:24 -08:00
Varun Patil 0e17ef69a9 preview: increase efficiency 2022-12-02 21:11:09 -08:00
Varun Patil db125b5298 preview: use unified preview API 2022-12-02 21:04:31 -08:00
Varun Patil df0272e95d refactor: use args for controller query params 2022-12-02 20:48:55 -08:00
Varun Patil a59860e654 Fix lint 2022-12-02 20:42:39 -08:00
Varun Patil 829bbff02a Merge branch 'master' of https://github.com/pulsejet/memories 2022-12-02 20:30:15 -08:00
Varun Patil 63059ecba2 share: check password in API calls 2022-12-02 20:29:34 -08:00
Varun Patil 719022848b refactor: add getShareNode to ApiBase 2022-12-02 20:21:34 -08:00
Varun Patil 6db1752359 apibase: check share readable 2022-12-02 20:12:21 -08:00
Varun Patil 1a9d229b95 general: add unified file get API 2022-12-02 20:07:06 -08:00
Varun Patil 22d20756d7 albums: don't pass connection for no reason 2022-12-02 19:23:29 -08:00
Nextcloud bot 007a155408
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-03 03:16:49 +00:00
Varun Patil 145d6affdd Interlace output jpeg 2022-12-02 19:08:53 -08:00
Varun Patil dbaf9dcc1b Merge branch 'master' of https://github.com/pulsejet/memories 2022-12-02 17:44:07 -08:00
Varun Patil 37815191c5 viewer: use bigger previews if available (close #226) 2022-12-02 17:44:04 -08:00
Varun Patil 45a9fcbfd2 viewer: add zoom will-change 2022-12-02 08:44:28 -08:00
Nextcloud bot bad9fee377
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-02 03:18:19 +00:00
Varun Patil 324a4a4419 Update @nextcloud/vue 2022-12-01 16:20:17 -08:00
Varun Patil 710418a3aa image-editor: add loading spinner 2022-12-01 16:14:45 -08:00
Varun Patil 97d39a27fb Bump up go-vod 2022-12-01 13:35:37 -08:00
Varun Patil 1b4cdf7e3a Merge branch 'master' of https://github.com/pulsejet/memories 2022-12-01 13:23:26 -08:00
Varun Patil 4a8548ef88 video: enable direct playback 2022-12-01 13:23:24 -08:00
Varun Patil 64b25de8a1 video: add original quality 2022-12-01 13:05:33 -08:00
Varun Patil 758812c699 Make sure max is at end 2022-12-01 13:05:19 -08:00
Varun Patil 907eb2eb14 FIx multiple redundant transcodes 2022-12-01 12:48:29 -08:00
Varun Patil 2c51ef1116 timeline: add will-change to recycler 2022-11-30 20:46:29 -08:00
Nextcloud bot fdfb0b4f31
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-01 03:21:50 +00:00
Varun Patil b038ab3091 viewer: fix deletion of last photo (fix #269) 2022-11-30 07:08:38 -08:00
Varun Patil 50fcbb4a7a Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-30 06:31:56 -08:00
Varun Patil 474090017c tags: make sorting case-insensitive (fix #271) 2022-11-30 06:31:45 -08:00
Nextcloud bot 702b7c4599
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-30 03:21:11 +00:00
Varun Patil 791355fb47 Fix vertical video rotation on canplay 2022-11-29 18:06:48 -08:00
Varun Patil 25cc5bb281 Use persistent client id for live photo 2022-11-29 14:36:14 -08:00
Varun Patil 09bf223451 sw: allow caching live photo videos 2022-11-29 14:28:10 -08:00
Varun Patil 725cb569f2 Update changelog 2022-11-29 14:23:37 -08:00
Varun Patil 9a958a65b7 Use mov for livephoto transcodes 2022-11-29 14:21:34 -08:00
Varun Patil 1f60010f6f video: refactor transcoder starter 2022-11-29 14:16:59 -08:00
Varun Patil c57fb1ca56 Change mp4 to mov 2022-11-29 14:16:27 -08:00
Varun Patil 5550551e8a Use client id for live photo transcodes 2022-11-29 14:09:48 -08:00
Varun Patil 15997dc793 Add GPU transcoding for NVIDIA (fix #194) 2022-11-29 14:03:37 -08:00
Varun Patil a203bc8f26 Whitespace fixes 2022-11-29 13:55:00 -08:00
Varun Patil 64767d7a78
Merge pull request #3 from MB-Finski/patch-1
Add support for NVIDIA GPU accelerated transcoding
2022-11-29 13:52:08 -08:00
Varun Patil c7c42df19e viewer: fullscreen the whole pswp container 2022-11-29 13:45:28 -08:00
Varun Patil f5cfa095ce livephoto: transcode Apple for HEVC (fix #234) 2022-11-29 13:31:06 -08:00
Varun Patil 1729a04527 Copy full video if h264 2022-11-29 13:12:35 -08:00
MB-Finski a7b7fa5360
Add "format" back into NVENC transcode profile 2022-11-29 23:03:35 +02:00
Varun Patil 8adedd1885 video: abort curl on termination 2022-11-29 13:00:54 -08:00
Varun Patil 2c92130c40 Support serving full video 2022-11-29 13:00:36 -08:00
Varun Patil a982416712 video: stream directly to browser 2022-11-29 11:11:03 -08:00
Varun Patil 0bce57d905 Update changelog 2022-11-29 10:37:04 -08:00
MB-Finski 0dd14fabe2
Optimizations for NVENC transcode profile
Permormance and quality related optimizations for NVENC. Also contains a bugfix where transcoding with "max"-profile would fail due to a bug in the NVENC itself.
2022-11-29 20:33:26 +02:00
Varun Patil ccad55e5fe viewer: fix slideshow for videos 2022-11-29 10:33:10 -08:00
Varun Patil 51dc7060db viewer: restore photo slideshow (fix #217) 2022-11-29 10:12:29 -08:00
Varun Patil 240ca8a2b5 lint: fix whitespace 2022-11-29 09:04:09 -08:00
Varun Patil 42d0c65240 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-29 08:57:11 -08:00
Varun Patil 7458478f93 Fix albums for Photos v2.2.0 2022-11-29 08:57:03 -08:00
Nextcloud bot 2f4ea3f45a
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-29 03:20:55 +00:00
Varun Patil e2e5375e53 General cleanup 2022-11-28 15:19:26 -08:00
Varun Patil ac2019674b xml: update app summary 2022-11-28 07:16:23 -08:00
Varun Patil 09be416802 lint: add missing whitespace 2022-11-28 06:11:19 -08:00
Varun Patil f20b5fc862 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-28 06:01:24 -08:00
Varun Patil 7862d28dc1 faces: skip invalid face images (#230) 2022-11-28 06:00:55 -08:00
Nextcloud bot 2837306b90
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-28 03:22:22 +00:00
Varun Patil f1c0d51a7d Fix native sharing of live photo (fix #263) 2022-11-27 18:32:26 -08:00
Varun Patil 7302471865 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-27 12:58:37 -08:00
Varun Patil 0fb7a4267d Bundle videojs and Plyr together 2022-11-27 12:58:22 -08:00
Nextcloud bot 1bdcf78ceb
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-27 03:20:15 +00:00
Kevin Yeh 0e8186b977 fix: shallow comparison of route query object 2022-11-26 14:45:49 -08:00
Kevin Yeh bd3f5434c9 fix: adjust icons 2022-11-25 21:55:07 -08:00
Kevin Yeh 069db130a7 feat: recursive folder view 2022-11-25 19:51:05 -08:00
Nextcloud bot 68e3881b50
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-26 03:20:01 +00:00
Varun Patil 94516d183b Prevent log spam when missing mime (#258) 2022-11-25 07:36:23 -08:00
Varun Patil cdfcec1a3f Share correct image in native share (fix #254) 2022-11-25 07:10:45 -08:00
Varun Patil ddf14abb17 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-25 07:00:16 -08:00
Varun Patil b7e551ed81 l10n: fix plurals (fix #255, fix #256) 2022-11-25 06:55:46 -08:00
MB-Finski 9972fc23c6
Add support for NVIDIA GPU accelerated transcoding
Add a transcoding profile for ffmpeg suitable for using with NVENC.
2022-11-25 13:59:33 +02:00
Nextcloud bot 13fa1ae31e
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-25 03:25:07 +00:00
Varun Patil 46e0730257 Lazy load @nextcloud/vue 2022-11-24 13:19:07 -08:00
Varun Patil 45cfcc588b Only load filerobot async 2022-11-24 12:52:24 -08:00
Varun Patil fc889d6946 Lazy load video css 2022-11-24 12:28:33 -08:00
Varun Patil ba24327fa4 Switch to individual vue imports 2022-11-24 11:54:29 -08:00
Varun Patil e10198fff5 Lazy load 3rdparty libraries 2022-11-24 11:36:41 -08:00
Varun Patil 4a80d94cb0 Fix double slash in filename (#242) 2022-11-24 07:52:19 -08:00
Varun Patil c7bbe47cd1 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-24 03:19:53 -08:00
Varun Patil 876cfac192 exif: increase timeout to 30s 2022-11-24 03:18:35 -08:00
Varun Patil e5cc14bad0 index: use realpath for test file 2022-11-24 03:13:34 -08:00
Varun Patil 2537239af2 Catch all processing errors (#250) 2022-11-24 03:04:41 -08:00
Nextcloud bot a9d8285f8e
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-24 03:20:57 +00:00
Varun Patil f7c89e8789 Improve php typings 2022-11-23 18:28:34 -08:00
Varun Patil 63785a4ab3
Merge pull request #245 from Sigmanificient/patch-1
Add explicit .PHONY rules
2022-11-23 11:51:21 -08:00
Varun Patil 35d9a926fb Add CHANGELOG to release tarballs (fix #244) 2022-11-23 11:48:39 -08:00
Yohann Boniface a2a2132094
Add explicit .PHONY rules
Mark all rules that doesn't depend on files as PHONY to avoid any future conflict.
2022-11-23 20:47:52 +01:00
Varun Patil 25c46098ab Add delay to plyr init 2022-11-23 11:35:07 -08:00
Varun Patil ab505900a2 Fix touching selection tick (again) 2022-11-23 11:22:17 -08:00
Varun Patil dbb5e479a0 pswp: readjust easing 2022-11-23 11:00:34 -08:00
Varun Patil f7e171f884 release: v4.8.2 2022-11-23 10:44:12 -08:00
Varun Patil b81d9c1df6 Delete livephoto entries on deletion 2022-11-23 10:40:41 -08:00
Varun Patil ced6e1380d Update changelog 2022-11-23 10:03:29 -08:00
Varun Patil 397c66bcc9 Fail build on get-exiftool failure 2022-11-23 09:58:54 -08:00
Varun Patil 952f63e77c viewer: keep ui on click 2022-11-23 05:07:48 -08:00
Varun Patil 271dd5b230 PHP lint fix 2022-11-23 04:53:16 -08:00
Varun Patil 92f5d5bd55 Add contain to pswp 2022-11-23 03:47:37 -08:00
Varun Patil d11e463203 Cache inner width and height 2022-11-23 03:16:45 -08:00
Varun Patil bf11924dfd Don't put classes on body 2022-11-23 03:03:06 -08:00
Varun Patil 29dfb834de viewer: adjust transition speed 2022-11-23 02:48:28 -08:00
Varun Patil 0627bf2789 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-23 02:24:41 -08:00
Varun Patil b42f49e1b2 scroller: fix init key 2022-11-23 02:10:00 -08:00
Varun Patil d954c9422f refactor: video controller live 2022-11-23 01:49:43 -08:00
Varun Patil 573f5c3fad Truncate livephoto on clear 2022-11-23 01:49:00 -08:00
Varun Patil 92d6d9a5e2 Fix video-setup checks (fix #223) 2022-11-23 01:38:36 -08:00
Varun Patil 776758bd68 cmd: make parseFolder args float (#238) 2022-11-23 01:25:07 -08:00
Nextcloud bot 7860406c69
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-23 03:24:05 +00:00
Varun Patil 83484ba52a Disable slide transition 2022-11-22 11:57:42 -08:00
Varun Patil 822a4fba30 livephoto: remove contain 2022-11-22 10:45:42 -08:00
Varun Patil ee4b2bf4bd release: v4.8.1 2022-11-22 10:35:10 -08:00
Varun Patil 1650ca3817 Hotfix for NC24 2022-11-22 10:34:44 -08:00
Varun Patil cd5d163cd1 Bump up go-vod 2022-11-22 09:59:38 -08:00
Varun Patil 56767bc56d Add format to max stream 2022-11-22 09:58:41 -08:00
Varun Patil 492b200e98 release: v4.8.0 2022-11-22 09:43:33 -08:00
Varun Patil 6a9c95a67e Revert "release: v4.8.0"
This reverts commit d81887bf65.
2022-11-22 09:42:31 -08:00
Varun Patil d81887bf65 release: v4.8.0 2022-11-22 09:39:45 -08:00
Varun Patil 67340b0f75 changelog: ref to issue for lp 2022-11-22 09:28:30 -08:00
Varun Patil d53d11c986 Forbid editing live photos 2022-11-22 09:25:03 -08:00
Varun Patil 5434ca2867
Merge pull request #231 from pulsejet/livephoto
Live photo implementation
2022-11-22 09:22:12 -08:00
Varun Patil 9fe31c87b6 livephoto: fix iOS deletion 2022-11-22 09:19:31 -08:00
Varun Patil d57ab66310 Update changelog 2022-11-22 08:56:39 -08:00
Varun Patil 799a39f968 livephoto: add Google and Samsung support 2022-11-22 08:54:19 -08:00
Varun Patil 578703768b photo: fix square live photo 2022-11-22 07:14:16 -08:00
Varun Patil 71323da83a Lint php 2022-11-22 06:30:24 -08:00
Varun Patil c3ddd4087f livephoto: add video download button 2022-11-22 06:27:10 -08:00
Varun Patil a2af575073 photo: do not loop video 2022-11-22 06:10:49 -08:00
Varun Patil 91944a86cc photo: fix livephoto selection 2022-11-22 06:08:36 -08:00
Varun Patil 5a1f6ef127 photo: restore missing overlay 2022-11-22 06:02:42 -08:00
Varun Patil 8985927c5e timeline: play livephoto on hover 2022-11-22 05:57:34 -08:00
Varun Patil 0f57602c1d livephoto: add icon to preview 2022-11-22 05:17:09 -08:00
Varun Patil ff634c09cf livephoto: add viewer playback 2022-11-22 05:04:15 -08:00
Varun Patil 48fabeb445 livephoto: return video 2022-11-22 03:35:20 -08:00
Varun Patil aded4275d1 livephoto: add API to get video 2022-11-22 03:31:31 -08:00
Varun Patil ffbde874d4 Separate apple livephoto video part 2022-11-22 03:10:25 -08:00
Varun Patil 8358c74abb Strip Nikon shotinfo 2022-11-22 02:46:48 -08:00
Varun Patil 2f95236f27 Bump up go-vod 2022-11-22 01:58:06 -08:00
Varun Patil c90483f61a Remove -map 0 2022-11-22 01:57:29 -08:00
Varun Patil 8b0d3dea46 viewer: add control dark overlay (fix #227) 2022-11-22 01:44:43 -08:00
Varun Patil 386a3d5f90 viewer: hide controls on mouse idle 2022-11-22 01:20:58 -08:00
Varun Patil a8c424bc63 Update deps 2022-11-22 00:21:08 -08:00
Varun Patil ccebeb7dd6 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-22 00:12:09 -08:00
Varun Patil 01cd5362e5 Fix broken SW caching 2022-11-22 00:12:06 -08:00
Nextcloud bot 6c75c39f4e
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-22 03:26:23 +00:00
Varun Patil b719425b3b Update changelog 2022-11-21 16:43:59 -08:00
Varun Patil 5e3319680c Bump up go-vod (#225) 2022-11-21 16:33:21 -08:00
Varun Patil d0f1433f64 Increase timeout to 10s 2022-11-21 16:22:28 -08:00
Varun Patil 8f26483140 Add map 0 to ffmpeg 2022-11-21 16:22:16 -08:00
Varun Patil afdda3038b Fix 10bit decoding 2022-11-21 16:22:02 -08:00
Varun Patil 6538426d63 timeline: make head check bigger 2022-11-21 09:59:39 -08:00
Varun Patil 7f0409b5a9 l10n: viewer ps titles 2022-11-21 09:49:27 -08:00
Varun Patil eb790acbde viewer: wheel to zoom 2022-11-21 09:44:30 -08:00
Varun Patil 9e06fbfe25 Change delete icon 2022-11-21 09:22:20 -08:00
Varun Patil d0c0fe5f7a photo: adjust check params 2022-11-21 09:19:00 -08:00
Varun Patil 3075fd5c03 timeline: make date larger 2022-11-21 08:55:13 -08:00
Varun Patil d664cccbc7 Cap navbar to 250px 2022-11-21 08:33:16 -08:00
Varun Patil 6c74fdf340 video-setup: don't overwrite manually configured transcoder (#224) 2022-11-21 02:43:03 -08:00
Varun Patil f7749c6ba2 docs: add lint command to readme 2022-11-21 02:38:50 -08:00
Varun Patil 0315668e28 lint: fix php 2022-11-21 02:38:12 -08:00
Varun Patil bd30801df9 Update changelog 2022-11-21 02:37:32 -08:00
Varun Patil 83650482da Explicitly detect ffmpeg path (fix #212) 2022-11-21 02:34:57 -08:00
Varun Patil 81e8241247 Bump up go-vod (fix #215, fix #213) 2022-11-21 02:24:48 -08:00
Varun Patil 630178e6cb Reduce buffer goal 2022-11-21 02:23:35 -08:00
Varun Patil 88685d0d69 Reduce idle times 2022-11-21 02:22:38 -08:00
Varun Patil 3f31c40368 Update changelog 2022-11-21 02:20:12 -08:00
Varun Patil 348844f4e7 Merge branch 'eltos-patch-1' 2022-11-21 02:18:29 -08:00
Varun Patil 81bceb9334 Lint PHP 2022-11-21 02:18:06 -08:00
Varun Patil 08ce081a96 Merge branch 'patch-1' of https://github.com/eltos/memories into eltos-patch-1 2022-11-21 02:16:03 -08:00
Varun Patil cf4ae6a84a Allow server-side encryption
Close #175. Close #99. Squashed commit of the following:

commit 7c5e11dded8aff22b77bb3d01233350f86af04f4
Author: Varun Patil <varunpatil@ucla.edu>
Date:   Mon Nov 21 02:12:34 2022 -0800

    Fix lint

commit b421a6d61c1143aac38d954bee032f582b71b492
Merge: 9e91d1d 019cdd3
Author: Varun Patil <varunpatil@ucla.edu>
Date:   Mon Nov 21 02:11:37 2022 -0800

    Merge branch 'eltos-patch-99' of https://github.com/eltos/memories into eltos-eltos-patch-99

commit 019cdd31f2
Author: eltos <eltos@outlook.de>
Date:   Sat Nov 19 18:32:36 2022 +0100

    Check for e2e encryption before indexing

commit 5078d986da
Author: eltos <eltos@outlook.de>
Date:   Sat Nov 19 18:28:57 2022 +0100

    Check for e2e encryption when changing exif data

commit 1167365f7e
Merge: d465400 e210c32
Author: Philipp Niedermayer <eltos@outlook.de>
Date:   Sat Nov 19 15:52:58 2022 +0100

    Merge branch 'pulsejet:master' into eltos-patch-99

commit d465400969
Author: Philipp Niedermayer <eltos@outlook.de>
Date:   Mon Nov 7 22:21:20 2022 +0100

    Allow server-side encryption

    See https://github.com/pulsejet/memories/issues/99
2022-11-21 02:13:43 -08:00
Varun Patil 9e91d1d435 write: check encoded json (fix #220) 2022-11-21 01:43:17 -08:00
Varun Patil ed500dce9d video: change fullscreen container 2022-11-21 01:16:14 -08:00
Nextcloud bot 0e3db2ff55
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-21 03:17:15 +00:00
Nextcloud bot f9ee750170
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-20 03:18:36 +00:00
Philipp Niedermayer 5ea35fb36a Report progress during indexing
Besides adding a percentage progress, this also exploits the ConsoleSectionOutput capability of Symfony to simplify the carriage return gymnastics and to fix it for paths exceeding the console window width.
2022-11-19 22:58:41 +01:00
Nextcloud bot e210c323be
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-19 03:24:13 +00:00
Nextcloud bot 3179d28dc6
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-18 03:17:01 +00:00
Nextcloud bot ce3750467f
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-17 03:19:02 +00:00
Varun Patil 38c6b2104e Bump up go-vod (#197) 2022-11-16 07:11:44 -08:00
Varun Patil 513e9410ca Force only one audio track 2022-11-16 07:10:21 -08:00
Varun Patil 1e7c297361 video: everything is mp4 🤡 2022-11-16 06:15:09 -08:00
Varun Patil cc7567aca3 exif: exclude binary fields 2022-11-16 03:24:59 -08:00
Varun Patil c75e94108c Store unknown exif fields 2022-11-16 03:05:48 -08:00
Varun Patil 79780f3e2b Update changelog 2022-11-16 02:52:17 -08:00
Varun Patil 5cadd168b4 Remove mp4 from src 2022-11-16 02:38:40 -08:00
Varun Patil 579984041a albums: fix for multipath 2022-11-16 02:35:17 -08:00
Varun Patil c3f874d4b4 PHP Lint 2022-11-16 02:30:51 -08:00
Varun Patil c1ae720656 archive: fix for multipath 2022-11-16 02:30:18 -08:00
Varun Patil 0a0d1d9e52 Fix duplicate folders in CTE response 2022-11-16 01:49:03 -08:00
Varun Patil 3154de7ac9 Select rootid only for day query 2022-11-16 01:17:01 -08:00
Varun Patil cd3fb4b897 Fix rootid warning 2022-11-16 00:23:57 -08:00
Varun Patil bd89c9d355 Fix some errors 2022-11-16 00:16:07 -08:00
Varun Patil a6ef3ac9bf Add support for multiple timeline paths 2022-11-16 00:16:01 -08:00
Varun Patil d9afbbe710 Refactor all calls to use TimelineRoot 2022-11-15 23:45:01 -08:00
Varun Patil 4a5408b846 image-editor: remove more extraneous props 2022-11-15 22:44:55 -08:00
Varun Patil e9f67b24e6 Lint PHP 2022-11-15 21:45:52 -08:00
Varun Patil e73ee66014 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-15 21:45:34 -08:00
Varun Patil c41ad9549a Fix archive logic for mounts 2022-11-15 21:45:32 -08:00
Varun Patil 46ac8cf55e Fix archive rootid 2022-11-15 21:22:40 -08:00
Varun Patil 0c6d5a57b5 Fix filename of recursive mounts 2022-11-15 21:05:11 -08:00
Nextcloud bot 4c786796da
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-16 03:16:56 +00:00
Varun Patil f1e9765814 folders: fix byref error (fix #207) 2022-11-15 18:29:26 -08:00
Varun Patil 6c49ace00a edit-date: fix saveMany call (fix #203) 2022-11-15 07:16:51 -08:00
Varun Patil 34340de5f1 big: recurse all mountpoints in timeline path 2022-11-15 07:12:27 -08:00
Varun Patil 5f59183726 Add more permissions checks 2022-11-15 05:40:46 -08:00
Varun Patil 19386f2422 release: v4.7.2 2022-11-15 05:08:53 -08:00
Varun Patil 8d6e49da7d php-lint 2022-11-15 02:39:15 -08:00
Varun Patil 220a685bf6 Allow specifying ff* path (fix #201) 2022-11-15 02:27:20 -08:00
Varun Patil 1469f9eb9d Read paths from env variables 2022-11-15 02:09:33 -08:00
Varun Patil e01b536f83 fix: regression in non-transcode video (#198) (fix #202) 2022-11-15 01:59:59 -08:00
Varun Patil 467c52053c metaview: fix width on 100% scaling (close #200) 2022-11-14 21:49:41 -08:00
Varun Patil af8b5fcabf Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-14 21:32:44 -08:00
Varun Patil 03ef6a615a ci: add POSTGRES_DB 2022-11-14 21:32:41 -08:00
Nextcloud bot 45abfa9cb7
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-15 03:17:07 +00:00
Varun Patil 472c0ccc5e Add changelog to readme (#199) 2022-11-14 09:54:19 -08:00
Varun Patil 599dacedcd Update changelog date 2022-11-14 08:11:00 -08:00
Varun Patil 7259cd9dc8 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-14 07:46:42 -08:00
Varun Patil c79c3fa3ed Update tar args (#195) 2022-11-14 07:44:57 -08:00
Nextcloud bot 63990e5240
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-14 10:39:02 +00:00
Varun Patil 36a809149b release: v4.7.1 2022-11-14 01:27:04 -08:00
Varun Patil c237d27e82 Bump go-vod 2022-11-14 01:26:21 -08:00
Varun Patil 3bfdc85603 Add global_quality 2022-11-14 01:25:42 -08:00
Varun Patil 103cce1a35 video: fix initial quality switch 2022-11-14 01:10:43 -08:00
Varun Patil d9e3d3e0c1 Update go-vod 2022-11-14 01:02:14 -08:00
Varun Patil 7f26d300e3 Adjust crf 2022-11-14 00:57:03 -08:00
Varun Patil 39daae1cb7 Make sure transcoder is executable (fix #193) 2022-11-14 00:24:23 -08:00
Varun Patil 649c0659c7 readme: make sponsors badge a link 2022-11-14 00:05:29 -08:00
Varun Patil bd8a8c1579 readme: thank you @mpodshivalin! 2022-11-14 00:03:46 -08:00
Varun Patil ed898cdd8d Update sponsorship in readme 2022-11-13 23:50:12 -08:00
Varun Patil eb9aed441b Make video fill up space 2022-11-13 23:35:01 -08:00
Varun Patil 0bc61df922 release: v4.7.0 2022-11-13 23:07:34 -08:00
Varun Patil 6eb4327730 Bump up go-vod 2022-11-13 23:06:40 -08:00
Varun Patil 09c62f32b9 Fix rotation and controls on ios 2022-11-13 22:58:59 -08:00
Varun Patil e40f53c18b Fix keyframe alignment 2022-11-13 22:08:14 -08:00
Varun Patil ba00ddd9c2 plyr: hide volume on mobile 2022-11-13 21:54:03 -08:00
Varun Patil 8a0da69276 plyr: fix seeking 2022-11-13 21:45:18 -08:00
Varun Patil 478f884a21 Fix plyr color 2022-11-13 21:43:43 -08:00
Varun Patil 3444b270b6 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-13 21:41:11 -08:00
Varun Patil 0bcc0fda34 plyr: more fixes 2022-11-13 21:41:04 -08:00
Varun Patil 80ac6355d6 Fix fullscreen 2022-11-13 21:33:11 -08:00
Varun Patil e9d3b80f0a Add plyr 2022-11-13 21:21:46 -08:00
Varun Patil e20888f244 revert copy encoding 2022-11-13 19:34:12 -08:00
Nextcloud bot 9890a9f962
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-14 03:14:53 +00:00
Varun Patil 2dc38dee26 viewer: hide controls on public share 2022-11-13 18:37:19 -08:00
Varun Patil 139136d3c0 folder-share: use public template (fix #192) 2022-11-13 18:28:43 -08:00
Varun Patil 36c777bc12 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-13 02:44:38 -08:00
Varun Patil fceaebaff5 Bump up go-vod (close #190) 2022-11-13 02:44:36 -08:00
Varun Patil 10a4e469ba Revert to maxrate for bitrate
https://github.com/pulsejet/memories/issues/190
2022-11-13 02:41:12 -08:00
Nextcloud bot 662a9a235b
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-13 03:13:27 +00:00
Varun Patil 8fc89b853c More tuning 2022-11-12 10:51:31 -08:00
Varun Patil a1b93253cd release: v4.7.0-beta.5 2022-11-12 09:51:28 -08:00
Varun Patil ddca8f2355 Update go-vod 2022-11-12 09:51:04 -08:00
Varun Patil af6c0eb190 Use copy if we can 2022-11-12 09:50:16 -08:00
Varun Patil 94141d9391 Improve non-transcoded video 2022-11-12 08:58:55 -08:00
Varun Patil a42fcd6978 Remove stray print statement 2022-11-12 08:27:14 -08:00
Varun Patil 420367698e release: v4.7.0-beta.4 2022-11-12 06:36:29 -08:00
Varun Patil a272ef0d6f Fix viewer bar on webkit 2022-11-12 06:35:28 -08:00
Varun Patil caccd7120a Remove old viewer styles 2022-11-12 06:35:14 -08:00
Varun Patil 00622078b9 select: fix for ios click 2022-11-12 05:59:33 -08:00
Varun Patil 7ee2a0be55 release: v4.7.0-beta.3 2022-11-12 05:23:44 -08:00
Varun Patil 3139f3a2ca Update go-vod 2022-11-12 04:35:33 -08:00
Varun Patil bf2f137d89 Tune with framerate 2022-11-12 04:35:05 -08:00
Varun Patil d5309942ac video: restore thumb anim 2022-11-12 04:01:38 -08:00
Varun Patil d1aad8e787 Make pointerdown passive 2022-11-12 03:44:27 -08:00
Varun Patil f2c4ce3d9f Change mouse to pointerdown for iOS 2022-11-12 03:41:28 -08:00
Varun Patil 0c8bea99c9 video: no pause on touch 2022-11-12 03:30:37 -08:00
Varun Patil cfe06ff8cd Add GH sponsors link (#182) 2022-11-12 03:20:20 -08:00
Varun Patil fe4d8b366a Add funding.yml 2022-11-12 03:16:05 -08:00
Varun Patil ca5e85cabd release: v4.7.0-beta.2 2022-11-12 03:12:51 -08:00
Varun Patil b4b2154088 Bump up go-vod 2022-11-12 03:12:38 -08:00
Varun Patil 3408e48db9 More tuning 2022-11-12 03:05:30 -08:00
Varun Patil 2c4575171f stream: double header write 2022-11-12 02:41:42 -08:00
Varun Patil 22e6715b2a More tuning 2022-11-12 02:39:56 -08:00
Varun Patil 5b5a5afe78 Adjust bitrates 2022-11-12 02:09:09 -08:00
Varun Patil 7a2fbe5968 release: v4.7.0-beta.1 2022-11-12 00:53:30 -08:00
Varun Patil 25621959d7 Add scroller patch 2022-11-12 00:51:45 -08:00
Varun Patil 258e62e4aa Fix context menu on desktop 2022-11-12 00:42:48 -08:00
Varun Patil cbdcedb91d Fix context menu on touch 2022-11-12 00:39:13 -08:00
Varun Patil e4662d5f41 Complete drag selection (close #28) 2022-11-12 00:20:12 -08:00
Varun Patil 604b5e54b7 Implement drag selection (#28) 2022-11-11 22:28:58 -08:00
Varun Patil 60501b5d58 folder: make name smaller on mobile 2022-11-11 19:57:23 -08:00
Varun Patil bcdae043d2 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-11 19:53:35 -08:00
Varun Patil 391772aa39 Add forward shift-select (#28) 2022-11-11 19:53:33 -08:00
Nextcloud bot ad0b2b28a5
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-12 03:16:37 +00:00
Varun Patil 1f86c2e130 Bump up go-vod 2022-11-11 18:28:32 -08:00
Varun Patil ce0fcc8210 PHP lint fix 2022-11-11 18:26:02 -08:00
Varun Patil b93d613fab video-setup: improve docs 2022-11-11 18:24:37 -08:00
Varun Patil 2ed0182a77 Show transcoding fail error to admin 2022-11-11 18:20:48 -08:00
Varun Patil ae1c4ae682 Return timeout in waitForChunk 2022-11-11 18:18:16 -08:00
Varun Patil 801902e5c6 release: v4.7.0-alpha.7 2022-11-11 07:01:43 -08:00
Varun Patil 8cff426147 video: mobile fixes 2022-11-11 07:01:05 -08:00
Varun Patil 7969b5e802 Close nav on link click (#180) 2022-11-11 05:55:47 -08:00
Varun Patil 50ab37181f video: fix on changing slide 2022-11-11 03:01:16 -08:00
Varun Patil ce6afddc4f IMDB LMAO 2022-11-11 02:49:02 -08:00
Varun Patil c61edac55d Fix error in info 2022-11-10 22:39:52 -08:00
Varun Patil e3b9a44b68 release: v4.7.0-alpha.6 2022-11-10 22:22:23 -08:00
Varun Patil 09e0929096 Lint fixes 2022-11-10 22:22:06 -08:00
Varun Patil 831d265931 release: v4.7.0-alpha.5 2022-11-10 22:18:52 -08:00
Varun Patil b14a01962f Add repair steps 2022-11-10 22:18:15 -08:00
Varun Patil 782a1143da release: v4.7.0-alpha.4 2022-11-10 22:02:33 -08:00
Varun Patil 529f7f8a88 Bump up vod 2022-11-10 22:01:52 -08:00
Varun Patil 7764a70471 Increase idle time 2022-11-10 21:49:46 -08:00
Varun Patil cb4495cb17 video: fix control bar 2022-11-10 21:45:44 -08:00
Varun Patil e993d738ee Add link to go-transcode 2022-11-10 21:31:47 -08:00
Varun Patil 88d34fdf49 Add link to go-transcode 2022-11-10 21:30:54 -08:00
Varun Patil 2cdc5d5131 Adjustment for VAAPI 2022-11-10 21:29:38 -08:00
Varun Patil 6b566b34e0 Switch to go-vod 2022-11-10 21:25:26 -08:00
Varun Patil 689aa6eae4 Add link to memories 2022-11-10 21:23:20 -08:00
Varun Patil a9cf287618 Adjust timers 2022-11-10 21:20:23 -08:00
Varun Patil 00b9e98f17 Add test arg 2022-11-10 21:03:55 -08:00
Varun Patil f9f43ebb42 Add workflows 2022-11-10 20:26:21 -08:00
Varun Patil 66b2dca145 Add cmd 2022-11-10 20:22:07 -08:00
Varun Patil 7fbcabe2e2 Prep for release 2022-11-10 20:20:45 -08:00
Varun Patil fb9a83de56 Minor fixes 2022-11-10 20:14:38 -08:00
Varun Patil 0e87287035 Tempdir cleanup 2022-11-10 19:40:53 -08:00
Varun Patil 62646cfc81 Add multi-file support 2022-11-10 19:23:28 -08:00
Varun Patil d466a1b7b8 Pruning 2022-11-10 18:49:55 -08:00
Varun Patil a094c37fb5 log improv 2022-11-10 18:20:47 -08:00
Varun Patil 1141c358b8 refactor to config 2022-11-10 18:01:33 -08:00
Varun Patil 6591b3c39c Add max stream 2022-11-10 17:56:38 -08:00
Varun Patil 75d2768fe6 Tuning 2022-11-10 09:39:09 -08:00
Varun Patil 91c6a43fc1 Fix goal 2022-11-10 07:59:31 -08:00
Varun Patil c2fd1659ce Add goal 2022-11-10 07:46:35 -08:00
Varun Patil 31bab910d2 Ugh 2022-11-10 07:34:07 -08:00
Varun Patil 339b7f1e9e First stream 2022-11-10 06:54:32 -08:00
Varun Patil 81607447bd Update 2022-11-10 04:45:10 -08:00
Varun Patil 34e4b9f3d5 ffprobe 2022-11-10 04:27:29 -08:00
Varun Patil d75dd80672 Add stream 2022-11-10 04:09:35 -08:00
Varun Patil 8b36733e36 Initial commit 2022-11-10 03:24:33 -08:00
Varun Patil 8569af561b editor: remove useless event 2022-11-09 23:02:20 -08:00
Varun Patil 0e84a64827 Update changelog 2022-11-09 22:44:45 -08:00
Varun Patil 515f0c48eb editor: heic 2022-11-09 22:43:58 -08:00
Varun Patil 0074647b21 apibase: fix getuserfile 2022-11-09 22:34:58 -08:00
Varun Patil a85b06bac0 metaview: fix wrong date tz 2022-11-09 22:25:41 -08:00
Varun Patil 8a002ac331 Add missing annotations 2022-11-09 22:24:38 -08:00
Varun Patil 11afad852b Lot of de-duplication 2022-11-09 22:19:44 -08:00
Varun Patil 67e5c835ce editor: fix loss of resolution 2022-11-09 21:59:26 -08:00
Varun Patil 5519020c2a editor: use b64 for save 2022-11-09 21:55:14 -08:00
Varun Patil 0dc4784f1a Restore metadata after image edit (fix #174) 2022-11-09 21:39:13 -08:00
Varun Patil 6454d439f5 Update changelog 2022-11-09 19:50:24 -08:00
Varun Patil c3b4d9b013 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-09 19:49:18 -08:00
Varun Patil 06d226432f timeline: show video duration 2022-11-09 19:48:03 -08:00
Nextcloud bot 124badd3d0
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-10 03:20:56 +00:00
Varun Patil c6766833b5 Update changelog 2022-11-09 18:31:10 -08:00
Varun Patil 699901c243 Contain images without dims (#176) 2022-11-09 18:21:56 -08:00
Varun Patil faa0866229 video: curl use IP 2022-11-09 13:05:05 -08:00
Varun Patil c85e8870b7 videoc: escape path 2022-11-09 12:59:55 -08:00
Varun Patil 593248b002 Update transcoder version 2022-11-09 12:17:18 -08:00
Varun Patil 26a936ba13 Fix vertical video 2022-11-09 12:12:43 -08:00
Varun Patil 2f5a14c431 release: v4.7.0-alpha.1 2022-11-09 06:25:35 -08:00
Varun Patil b4b461dd76 Update transcoder 2022-11-09 06:25:22 -08:00
Varun Patil 9d5a431c07 Add QSV env var 2022-11-09 06:21:17 -08:00
Varun Patil c10ad711f7 chmod on go-transcode 2022-11-09 03:21:50 -08:00
Varun Patil 8bd903b1e4 release: v4.7.0-alpha 2022-11-09 03:09:08 -08:00
Varun Patil d0d63b6894 Update docs 2022-11-09 03:07:05 -08:00
Varun Patil 567d20a165 Add transcode checks 2022-11-09 02:42:42 -08:00
Varun Patil bae6662e37 Start transcoding server 2022-11-09 02:26:51 -08:00
Varun Patil 007a8c3f4f More batteries 2022-11-09 01:23:12 -08:00
Varun Patil c41854e141 Lint 2022-11-09 00:52:44 -08:00
Varun Patil 3229ee32f0 video: minor tweaks 2022-11-08 23:48:30 -08:00
Varun Patil dc89f0e95b video: find file in user folder 2022-11-08 23:02:32 -08:00
Varun Patil 3d35741ed0 video: add HLS fallback 2022-11-08 21:52:08 -08:00
Varun Patil 99ec1a50cc video: dispose on destroy 2022-11-08 21:41:39 -08:00
Varun Patil 72806281bf Switch to index quality 2022-11-08 20:39:27 -08:00
Varun Patil f25a08af04 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-08 20:08:33 -08:00
Varun Patil 8a16deeec4 hls: initial commit 2022-11-08 20:08:30 -08:00
Nextcloud bot 686a9fc35a
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-09 03:11:46 +00:00
Varun Patil 32966d75af readme: philosophical update 2022-11-08 16:42:12 -08:00
Varun Patil 438d9716c4 Restore vjs 2022-11-08 04:52:14 -08:00
Varun Patil 067624d2f5 viewer: upstream video logic 2022-11-08 03:45:59 -08:00
Varun Patil d58be31256 Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-07 23:00:51 -08:00
Varun Patil 2ca75b5a63 viewer: lower res to 1024 2022-11-07 23:00:44 -08:00
Nextcloud bot 55ccc7b0aa
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-08 03:12:01 +00:00
Varun Patil ad70b0b96d Update changelog 2022-11-07 17:35:45 -08:00
Varun Patil be41343348 metaview: add date editor 2022-11-07 17:29:58 -08:00
Varun Patil c64e8a590f metaview: rename tab 2022-11-07 16:33:45 -08:00
Varun Patil eeb6f31d90 metaview: fix bbox 2022-11-07 16:28:52 -08:00
Varun Patil 0b4ee8348b osm 2022-11-07 16:26:56 -08:00
Varun Patil 660f7e3f5b nominatim: zoom for reverse 2022-11-07 16:01:48 -08:00
Varun Patil 134c95d35a metaview: add loc 2022-11-07 15:49:50 -08:00
Varun Patil eb656b8701 viewer: push route if not found (fix #172) 2022-11-07 15:22:24 -08:00
Varun Patil 118283297a metaview: fileinfo 2022-11-07 14:54:35 -08:00
Varun Patil 14cdab5d79 metaview: add camera 2022-11-07 14:46:09 -08:00
Varun Patil 0d0a6d8cf2 metaview: date 2022-11-07 14:19:46 -08:00
Varun Patil 34155aae78 metaview: dump raw exif 2022-11-07 13:55:11 -08:00
Varun Patil 0fbe35db7d Return exif in info call 2022-11-07 13:25:52 -08:00
Varun Patil 1d65a6dabe Store exif meta in db 2022-11-07 13:13:16 -08:00
Varun Patil 0576b28f5c Print per-file in index 2022-11-07 12:46:43 -08:00
Varun Patil 0104c3ea07 Animate GIF in viewer 2022-11-07 09:26:24 -08:00
Varun Patil 86de94c210 viewer: hide share for videos 2022-11-07 05:44:13 -08:00
Varun Patil ecb42d335f Fix sharing of non-jpeg 2022-11-07 05:42:35 -08:00
Varun Patil a489b504a4 viewer: hide share errors 2022-11-07 05:33:07 -08:00
Varun Patil 166d6c3a9b photo: disable overlays on touch 2022-11-07 05:27:58 -08:00
Varun Patil a0b2bb3206 viewer: fix router pop on close 2022-11-07 05:24:17 -08:00
Varun Patil d171602e8e release: v4.6.2 2022-11-07 05:11:23 -08:00
Varun Patil 10e4be362c Restore main route 2022-11-07 05:10:27 -08:00
Varun Patil e4d7f4826b release: v4.6.1 2022-11-07 05:05:01 -08:00
Varun Patil d2891dc70f Update changelog 2022-11-07 05:00:37 -08:00
Varun Patil 1205ec12fa Fix editor translate namespace 2022-11-07 04:58:49 -08:00
Varun Patil 4b4084a57d Enable editor for png 2022-11-07 04:55:52 -08:00
Varun Patil f8e4231cae Change rotation to buttons 2022-11-07 04:53:35 -08:00
Varun Patil ebdc776237 Fix refresh of photo on edit 2022-11-07 04:43:01 -08:00
Varun Patil 3d0905628a viewer: image editor 2022-11-07 04:24:57 -08:00
Varun Patil 2147c422e2 viewer: fix OTD load time 2022-11-07 03:27:47 -08:00
Varun Patil 33e863057e viewer: update title 2022-11-07 03:10:47 -08:00
Varun Patil cef50e1bb0 sel: fix pixel position 2022-11-07 00:54:07 -08:00
Varun Patil b3f2e543c0 Fix tag name size 2022-11-07 00:52:02 -08:00
Varun Patil 64c96d0f2a Restore CSRF check 2022-11-06 20:50:13 -08:00
Varun Patil 5ce70faee1 php-lint 2022-11-06 20:49:33 -08:00
Varun Patil 6f3cb99ddb Hide folders without photos (fix #163) 2022-11-06 20:48:10 -08:00
Varun Patil 38475f071b Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-06 19:36:14 -08:00
Varun Patil cb04070a92 Allow password protected folder shares (fix #165) 2022-11-06 19:36:11 -08:00
Nextcloud bot b9684e00b1
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-07 03:11:32 +00:00
Varun Patil d860d05895 Update changelog 2022-11-06 18:00:31 -08:00
Varun Patil 4785de2500 Add image native share button 2022-11-06 17:58:38 -08:00
Varun Patil 75148ccbdc viewer: fix for multi-facerect 2022-11-06 17:35:41 -08:00
Varun Patil 8da036c21f Scroll to photo on deep link 2022-11-06 17:17:19 -08:00
Varun Patil a93621d662 Add hash routes for viewer 2022-11-06 17:08:46 -08:00
Varun Patil f30cc23cd5 Fix zoom with multiple thumb elements 2022-11-06 16:21:46 -08:00
Varun Patil 8896ffb29b viewer: adjust scrollIntoView values 2022-11-06 16:01:22 -08:00
Varun Patil da863078e9 viewer: add missing null check for flags 2022-11-06 15:55:39 -08:00
Varun Patil ef083c8575 viewer: keep thumbs in-view 2022-11-06 15:52:44 -08:00
Varun Patil f8ade5d755 viewer: hide arrows on mobile 2022-11-06 01:03:35 -07:00
Varun Patil 979779ea95 release: v4.6.0 2022-11-06 00:48:23 -07:00
Varun Patil 8341f6fd06 viewer: fix for tagdayid 2022-11-06 00:40:57 -07:00
Varun Patil 3e854719ed viewer: fix folder-share video 2022-11-06 00:36:35 -07:00
Varun Patil 4d9c301f26 folder-share: fix download 2022-11-06 00:28:40 -07:00
Varun Patil 3e0231bfad viewer: fix folder share 2022-11-06 00:28:32 -07:00
Varun Patil ccfa9520dd l10n: fix wrong syntax (fix #161) 2022-11-06 00:10:21 -07:00
Varun Patil db7695476c actions/upload-artifact v3 2022-11-06 00:05:28 -07:00
Varun Patil d940aa573e Update tests 2022-11-06 00:03:01 -07:00
Varun Patil 6d65db6861 viewer: unload upstream 2022-11-06 12:28:58 +05:30
Varun Patil e5b804375f Update changelog 2022-11-06 12:28:58 +05:30
Varun Patil c597140d1d Increase viewer res 2022-11-06 12:28:58 +05:30
Varun Patil 8a84cd91c2 viewer: fix OTD 2022-11-06 12:28:58 +05:30
Varun Patil 883800c6ac viewer: view in folder 2022-11-06 12:28:58 +05:30
Varun Patil 88daa0db38 viewer: video album url 2022-11-06 12:28:58 +05:30
Varun Patil 96f1825de2 viewer: flip vhs on 2022-11-06 12:28:58 +05:30
Varun Patil 434e9db722 Vjs init 2022-11-06 12:28:58 +05:30
Varun Patil 084169a5a9 viewer: improve tap 2022-11-06 12:28:58 +05:30
Varun Patil 4ea004abac viewer: remove commented code 2022-11-06 12:28:58 +05:30
Varun Patil c2c4799696 viewer: add sidebar 2022-11-06 12:28:58 +05:30
Varun Patil 464c0e819b Fix animation 2022-11-06 12:28:58 +05:30
Varun Patil 5387586c7a viewer: DL button 2022-11-06 12:28:58 +05:30
Varun Patil e276f51fc1 viewer: minor fixes 2022-11-06 12:28:58 +05:30
Varun Patil daf079f101 Add fav to viewer 2022-11-06 12:28:58 +05:30
Varun Patil 6146b513b2 Add delete button 2022-11-06 12:28:58 +05:30
Varun Patil 8a130c3efa viewer: initial commit 2022-11-06 12:28:58 +05:30
Varun Patil f86e255d60 Update changelog 2022-11-06 12:28:58 +05:30
Nextcloud bot 8c5c396913
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-06 03:13:29 +00:00
Nextcloud bot fa251ff9ba
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-05 03:16:47 +00:00
Nextcloud bot dc5574d13d
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-04 03:12:02 +00:00
Varun Patil 83b217e110 scroller: fix some tick bug 2022-11-03 16:03:50 -07:00
Varun Patil 9fb2ba6d05 Sort albums ascending (fix #130) 2022-11-03 15:44:52 -07:00
Varun Patil 80a76a5a48 Group months in album 2022-11-03 15:39:48 -07:00
Varun Patil 6feffe70ea Merge branch 'master' of https://github.com/pulsejet/memories 2022-11-03 14:47:13 -07:00
Varun Patil 2854feadc5 Fix bad selection after day process 2022-11-03 14:47:10 -07:00
Varun Patil 7f7c219a29 viewer: fix editor controls 2022-11-03 13:43:01 -07:00
Varun Patil d8632c9814 viewer: restore delete and edit (fix #153, fix #151) 2022-11-03 13:30:08 -07:00
Nextcloud bot 5006bbe8d2
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-03 03:10:54 +00:00
Nextcloud bot 0d61c0cc3c
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-02 03:12:47 +00:00
Varun Patil 66ff46cc84 Lint with latest fixer 2022-10-31 23:35:14 -07:00
Varun Patil 1625286e71 release: v4.5.3 2022-10-31 23:27:42 -07:00
Varun Patil c640101c32 Specify char length in migration (postgres) 2022-10-31 23:21:01 -07:00
Varun Patil 8698197ed5 Group by ID in tags (postgres) 2022-10-31 23:15:39 -07:00
Varun Patil 47461c9a8c Single quote for string in SQL 2022-10-31 22:59:14 -07:00
Varun Patil 73e06d7a76 Remove dead prop 2022-10-31 22:40:37 -07:00
Varun Patil 30e5dea18f Fix top nav click 2022-10-31 22:33:17 -07:00
Varun Patil c9119a3c72 Fix inconsistent state with facerect 2022-10-31 22:16:53 -07:00
Varun Patil b26abaf8b1 Improve mobile selection bar 2022-10-31 21:59:24 -07:00
Varun Patil 1bd9e79445 Improve mobile sizing 2022-10-31 21:34:40 -07:00
Varun Patil 500a2efe66 Merge branch 'master' of https://github.com/pulsejet/memories 2022-10-31 21:07:12 -07:00
Varun Patil 5af495c433 Select on mousedown 2022-10-31 21:06:43 -07:00
Varun Patil 922e9a5c51 Store fileid as string (objectid) for tags (#118) 2022-10-31 20:56:26 -07:00
Varun Patil defa30f547 Remove hardcoded mimetype (fix #136) 2022-10-31 20:21:21 -07:00
Nextcloud bot de22926cf1
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-01 03:12:08 +00:00
Varun Patil e239d8ba9d Shorten demo text 2022-10-31 12:24:37 -07:00
Varun Patil 4b337ec418 Fix wiki link 2022-10-31 12:23:42 -07:00
Varun Patil 1f0a7279ca Config before index 2022-10-31 12:22:50 -07:00
Varun Patil 23b3251d99 docs: shorten title 2022-10-31 12:21:26 -07:00
Varun Patil 507348dd95 Rework readme 2022-10-31 12:20:38 -07:00
Varun Patil ccb9b1d852 docs: remove performance clutter 2022-10-31 12:11:34 -07:00
Varun Patil 25dd9244b9 Point readme to wiki 2022-10-31 12:09:28 -07:00
Varun Patil 2596d20903 release: v4.5.2 2022-10-30 21:25:03 -07:00
Varun Patil f31d480ada Update docs 2022-10-30 21:24:38 -07:00
Varun Patil ae03cffdc0 Merge branch 'master' of https://github.com/pulsejet/memories 2022-10-30 21:18:53 -07:00
Varun Patil c98edeeb00 Get rid of stream copy (close #60, close #134) 2022-10-30 21:18:39 -07:00
Nextcloud bot 397220282f
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-31 03:10:59 +00:00
Varun Patil 465df6d827 Pixel perfection 2022-10-30 15:33:29 -07:00
Varun Patil 0ea4168a37 Use css var for dist 2022-10-30 15:32:07 -07:00
Varun Patil 8bf0fa7267 Fix check border 2022-10-30 15:25:31 -07:00
Varun Patil 3f96966f76 Make check blue 2022-10-30 15:08:19 -07:00
Varun Patil fc16ebec17 Improve select button 2022-10-30 14:59:14 -07:00
Varun Patil 07f6a5c713 Push icons together on mobile 2022-10-30 14:45:09 -07:00
Varun Patil cd289ebef7 Change video icon 2022-10-30 14:38:31 -07:00
Varun Patil 45facda00f Make photo icons bigger 2022-10-30 14:34:19 -07:00
Varun Patil 94280ecb0b Restore desktop hover overlay 2022-10-30 14:28:18 -07:00
Varun Patil 49ebfdfd0f photo: improve selection view 2022-10-30 13:24:17 -07:00
Varun Patil 4b75118f3c Truncate for clear instead of delete 2022-10-29 21:28:42 -07:00
Varun Patil f6229e3665 Merge branch 'master' of https://github.com/pulsejet/memories 2022-10-29 21:23:23 -07:00
Varun Patil af5ace8eba Use PATH perl (#135) 2022-10-29 21:23:20 -07:00
Varun Patil 0215885dea Cache tag preview only for day 2022-10-29 20:58:40 -07:00
Nextcloud bot d810c9baab
[tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-30 03:15:10 +00:00
Varun Patil e9b1e3db9c updateFromRecyclerScroll: run without animation frame 2022-10-29 17:29:51 -07:00
Varun Patil 256a57b12e Add setRenewingTimeout 2022-10-29 17:20:09 -07:00
Varun Patil 32bc48418f Make listeners passive 2022-10-29 17:17:34 -07:00
Varun Patil af5e3ef105 Simplify scroller timers 2022-10-29 17:11:12 -07:00
Varun Patil 80835421a5 Improve scroller behavior 2022-10-29 16:47:37 -07:00
Varun Patil 87973c2d5d Improve scroller performance 2022-10-29 16:16:13 -07:00
Varun Patil 1bea9c5ad1 Reduce recyclerScrolled calls 2022-10-29 16:15:18 -07:00
Varun Patil 0a6749f71b Reformat github yaml 2022-10-29 16:11:29 -07:00
Varun Patil 00a5230c9f Revert "Improve scroller performance"
This reverts commit 0fbd076a52.
2022-10-29 16:08:06 -07:00
Varun Patil cd949edfdc Revert "Increase cache timeout in test"
This reverts commit 01b7ba563f.
2022-10-29 16:07:54 -07:00
Varun Patil 01b7ba563f Increase cache timeout in test 2022-10-29 16:02:55 -07:00
Varun Patil 9dee4afb3d Suppress unzip output 2022-10-29 15:59:20 -07:00
Varun Patil 1634e0ebed Shut get-exiftool up 2022-10-29 15:54:51 -07:00
Varun Patil 0fbd076a52 Improve scroller performance 2022-10-29 15:50:14 -07:00
Varun Patil 21276219a1 Add contain strict to list and elems 2022-10-29 12:34:37 -07:00
Varun Patil b08870891c Hopefully fix 7.4 compat 2022-10-29 11:45:24 -07:00
Varun Patil 5f54a04f16 White space fix 2022-10-29 11:13:42 -07:00
Varun Patil afa4f0cc72 Refactor page routes 2022-10-29 11:09:38 -07:00
Varun Patil f0e89f4056 Reorganize API controller 2022-10-29 11:05:05 -07:00
Varun Patil 7edb28fe97 release: v4.5.1 2022-10-28 23:22:24 -07:00
Varun Patil c50c541095 Specify path on NC24 for viewer 2022-10-28 23:21:12 -07:00
Varun Patil 705cb4fdbd cmd: don't pass schema byref 2022-10-28 23:00:56 -07:00
Varun Patil ac2e354667 docs: update external sharing in readme 2022-10-28 22:58:28 -07:00
619 changed files with 85802 additions and 19032 deletions

1
.github/FUNDING.yml vendored 100644
View File

@ -0,0 +1 @@
github: [pulsejet]

View File

@ -0,0 +1,48 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: needs triage
assignees: ''
---
<!--
**🛑 READ THE FOLLOWING BEFORE YOU CONTINUE! 🛑**
All bug reports *must* follow the issue template below.
If it is a help request, you might want to try the [Discord community](https://discord.gg/7Dr9f9vNjJ) first.
Make the following items are true before filing a bug:
- You are using the latest version of the app.
- You tried and can replicate the bug.
- You have followed the [configuration steps](https://memories.gallery/config/).
- You have looked at the [troubleshooting](https://memories.gallery/troubleshooting/) documentation.
- You have searched the [open issues](https://github.com/pulsejet/memories/issues)
-->
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Platform:**
- OS: [e.g. iOS]
- Browser: [e.g. Chrome, Safari]
- Memories Version: [e.g. 4.1.0]
- Nextcloud Version: [e.g. 25.0.6]
- PHP Version: [e.g. 8.1]
**Additional context**
Add any other context about the problem here.
- Any errors in the JS console?
- Any errors in the Nextcloud server logs?

View File

@ -0,0 +1,6 @@
blank_issues_enabled: false
contact_links:
- name: Discord Community
url: https://discord.gg/7Dr9f9vNjJ
about: Please ask and answer questions here.

View File

@ -0,0 +1,19 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: feature
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

34
.github/workflows/docs.yaml vendored 100644
View File

@ -0,0 +1,34 @@
name: docs
on:
push:
branches:
- master
paths:
- 'docs/**'
- 'CHANGELOG.md'
- 'mkdocs.yml'
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: 3.x
- uses: actions/cache@v2
with:
key: ${{ github.ref }}
path: .cache
- name: Build documentation
run: |
cp CHANGELOG.md docs/changelog.md
sed -n '/DEFAULTS = \[/,/];/p' lib/Settings/SystemConfig.php | sed 's/^ //' > docs/system-config.php
pip install mkdocs-material pillow cairosvg
mkdocs gh-deploy --force

View File

@ -4,6 +4,13 @@ on:
push:
branches:
- master
- pulsejet/*
paths-ignore:
- 'docs/**'
- 'go-vod/**'
- 'android/**'
- 'mkdocs.yml'
- '**.md'
env:
APP_NAME: memories
@ -16,18 +23,19 @@ jobs:
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.x
node-version: 20.x
- name: Checkout the app
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Build vue app
run: |
make dev-setup
make patch-external
make build-js-production
zip -r vue.zip js/
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: vue.zip
path: vue.zip
@ -40,8 +48,8 @@ jobs:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['7.4']
server-versions: ['stable25']
php-versions: ['8.1']
server-versions: ['stable27']
services:
mysql:
@ -54,21 +62,21 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: true
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
- name: Checkout the app
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: apps/${{ env.APP_NAME }}
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.x
node-version: 20.x
- uses: actions/download-artifact@v2
with:
@ -100,7 +108,6 @@ jobs:
name: report-mysql-${{ matrix.php-versions }}-${{ matrix.server-versions }}
path: apps/${{ env.APP_NAME }}/playwright-report
pgsql:
runs-on: ubuntu-latest
needs: vue
@ -109,8 +116,8 @@ jobs:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['7.4']
server-versions: ['stable25']
php-versions: ['8.1']
server-versions: ['stable27']
services:
postgres:
@ -118,6 +125,7 @@ jobs:
ports:
- 4444:5432/tcp
env:
POSTGRES_DB: nextcloud
POSTGRES_PASSWORD: rootpassword
options: >-
--health-cmd pg_isready
@ -127,21 +135,21 @@ jobs:
steps:
- name: Checkout server
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: true
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
- name: Checkout the app
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: apps/${{ env.APP_NAME }}
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.x
node-version: 20.x
- uses: actions/download-artifact@v2
with:
@ -181,26 +189,26 @@ jobs:
# do not stop on another job's failure
fail-fast: false
matrix:
php-versions: ['7.4']
server-versions: ['stable25']
php-versions: ['8.1']
server-versions: ['stable27']
steps:
- name: Checkout server
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: true
repository: nextcloud/server
ref: ${{ matrix.server-versions }}
- name: Checkout the app
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: apps/${{ env.APP_NAME }}
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.x
node-version: 20.x
- uses: actions/download-artifact@v2
with:
@ -231,4 +239,3 @@ jobs:
with:
name: report-sqlite-${{ matrix.php-versions }}-${{ matrix.server-versions }}
path: apps/${{ env.APP_NAME }}/playwright-report

70
.github/workflows/go-vod.yml vendored 100644
View File

@ -0,0 +1,70 @@
name: go-vod
on:
push:
tags:
- "go-vod/*"
jobs:
binary:
name: Binary
runs-on: ubuntu-latest
container:
image: golang:1.20-bullseye
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build
working-directory: go-vod
run: |
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -buildvcs=false -ldflags="-s -w" -o go-vod-amd64
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -buildvcs=false -ldflags="-s -w" -o go-vod-aarch64
- name: Upload to releases
uses: svenstaro/upload-release-action@v2
id: attach_to_release
with:
file: go-vod/go-vod-*
file_glob: true
tag: ${{ github.ref }}
overwrite: true
make_latest: false
docker:
runs-on: ubuntu-latest
name: Docker
steps:
- name: Check out the repo
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Get image label
id: image_label
run: echo "label=${GITHUB_REF#refs/tags/go-vod/}" >> $GITHUB_OUTPUT
- name: Build container image
uses: docker/build-push-action@v5
with:
push: true
platforms: linux/amd64,linux/arm64
context: './go-vod/'
no-cache: true
file: './go-vod/Dockerfile'
tags: radialapps/go-vod:${{ steps.image_label.outputs.label }} , radialapps/go-vod:latest
provenance: false

View File

@ -1,28 +0,0 @@
---
name: Lint
on:
- push
- pull_request
jobs:
xml-linters:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Download schema
run: wget https://apps.nextcloud.com/schema/apps/info.xsd
- name: Lint info.xml
uses: ChristophWurst/xmllint-action@v1
with:
xml-file: ./appinfo/info.xml
xml-schema-file: ./info.xsd
php-cs-fixer:
name: PHP-CS-Fixer
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: PHP-CS-Fixer
uses: docker://oskarstark/php-cs-fixer-ga
with:
args: --dry-run --diff lib

View File

@ -9,38 +9,40 @@ env:
jobs:
publish:
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Checkout
uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.x
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 20.x
- name: Build
run: |
make dev-setup
make build-js-production
./scripts/bundle.sh
- name: Build
run: |
make dev-setup
make patch-external
make build-js-production
./scripts/bundle.sh
- name: Upload app tarball to release
uses: svenstaro/upload-release-action@v2
id: attach_to_release
with:
file: memories.tar.gz
asset_name: memories.tar.gz
tag: ${{ github.ref }}
overwrite: true
- name: Upload app tarball to release
uses: svenstaro/upload-release-action@v2
id: attach_to_release
with:
file: memories.tar.gz
asset_name: memories.tar.gz
tag: ${{ github.ref }}
overwrite: true
- name: Upload app to Nextcloud appstore
uses: R0Wi/nextcloud-appstore-push-action@v1
with:
app_name: ${{ env.APP_NAME }}
appstore_token: ${{ secrets.APPSTORE_TOKEN }}
download_url: ${{ steps.attach_to_release.outputs.browser_download_url }}
app_private_key: ${{ secrets.APP_PRIVATE_KEY }}
nightly: ${{ github.event.release.prerelease }}
- name: Upload app to Nextcloud appstore
uses: R0Wi/nextcloud-appstore-push-action@v1
with:
app_name: ${{ env.APP_NAME }}
appstore_token: ${{ secrets.APPSTORE_TOKEN }}
download_url: ${{ steps.attach_to_release.outputs.browser_download_url }}
app_private_key: ${{ secrets.APP_PRIVATE_KEY }}
nightly: ${{ github.event.release.prerelease }}

View File

@ -0,0 +1,75 @@
---
name: static analysis
on:
push:
paths-ignore:
- 'docs/**'
- 'go-vod/**'
- 'android/**'
- 'mkdocs.yml'
- '**.md'
pull_request:
paths-ignore:
- 'docs/**'
- 'go-vod/**'
- 'android/**'
- 'mkdocs.yml'
- '**.md'
jobs:
php-lint:
name: PHP Lint
runs-on: ubuntu-latest
steps:
- name: Checkout server
uses: actions/checkout@v4
with:
submodules: true
repository: nextcloud/server
ref: stable27
- name: Checkout the app
uses: actions/checkout@v4
with:
path: apps/memories
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
tools: phpunit
extensions: mbstring, iconv, fileinfo, intl
coverage: none
- name: Install dependencies
working-directory: apps/memories
run: |
make install-tools
- name: Run PHP-CS-Fixer
if: ${{ ! cancelled() }}
working-directory: apps/memories
run: |
vendor/bin/php-cs-fixer fix --dry-run --diff
- name: Run Psalm
if: ${{ ! cancelled() }}
working-directory: apps/memories
run: |
vendor/bin/psalm --no-cache --shepherd --stats --threads=max lib
vue-lint:
name: Vue Lint
runs-on: ubuntu-latest
steps:
- name: Checkout the app
uses: actions/checkout@v4
- name: Install dependencies
run: npm ci
- name: Run vue-tsc
run: npx vue-tsc --noEmit --skipLibCheck
- name: Run Prettier
run: npx prettier src --check

7
.gitignore vendored
View File

@ -4,14 +4,15 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
js/
*.tsbuildinfo
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
.vscode/launch.json
.marginalia
@ -24,6 +25,6 @@ memories.tar.gz
/test-results/
/playwright-report/
/playwright/.cache/
.cache/
exiftool-bin/
tools/
bin-ext/

View File

@ -1 +1,2 @@
js/
docs/

View File

@ -15,44 +15,29 @@ declare(strict_types=1);
$finder = PhpCsFixer\Finder::create()
->ignoreDotFiles(false)
->ignoreVCSIgnored(true)
->exclude('tests/Fixtures')
->in(__DIR__)
->append([
__DIR__.'/dev-tools/doc.php',
// __DIR__.'/php-cs-fixer', disabled, as we want to be able to run bootstrap file even on lower PHP version, to show nice message
])
->in(__DIR__.'/lib')
;
$config = new PhpCsFixer\Config();
$config
->setUsingCache(true)
->setRiskyAllowed(true)
->setRules([
'@PHP71Migration' => false,
'@PHP71Migration:risky' => false,
'@PHPUnit75Migration:risky' => true,
'@PhpCsFixer' => true,
'@PhpCsFixer:risky' => true,
'general_phpdoc_annotation_remove' => ['annotations' => ['expectedDeprecation']], // one should use PHPUnit built-in method instead
'modernize_strpos' => false, // needs PHP 8+ or polyfill
'phpdoc_to_comment' => ['ignored_tags' => ['psalm-suppress', 'template-implements', 'var']],
'trailing_comma_in_multiline' => ['elements' => ['arrays', 'parameters', 'arguments']],
'modernize_strpos' => true,
'no_alias_functions' => true,
'array_syntax' => ['syntax' => 'short'],
'ternary_to_elvis_operator' => true,
'ternary_to_null_coalescing' => true,
'return_assignment' => true,
'declare_strict_types' => true,
'strict_param' => true,
])
->setFinder($finder)
;
// special handling of fabbot.io service if it's using too old PHP CS Fixer version
if (false !== getenv('FABBOT_IO')) {
try {
PhpCsFixer\FixerFactory::create()
->registerBuiltInFixers()
->registerCustomFixers($config->getCustomFixers())
->useRuleSet(new PhpCsFixer\RuleSet($config->getRules()))
;
} catch (PhpCsFixer\ConfigurationException\InvalidConfigurationException $e) {
$config->setRules([]);
} catch (UnexpectedValueException $e) {
$config->setRules([]);
} catch (InvalidArgumentException $e) {
$config->setRules([]);
}
}
return $config;
return $config;

4
.prettierrc 100644
View File

@ -0,0 +1,4 @@
{
"printWidth": 120,
"singleQuote": true
}

10
.vscode/extensions.json vendored 100644
View File

@ -0,0 +1,10 @@
{
"recommendations": [
"bmewburn.vscode-intelephense-client",
"muuvmuuv.vscode-just-php-cs-fixer",
"getpsalm.psalm-vscode-plugin",
"esbenp.prettier-vscode",
"Vue.volar",
"Vue.vscode-typescript-vue-plugin"
]
}

104
.vscode/settings.json vendored 100644
View File

@ -0,0 +1,104 @@
{
"intelephense.stubs": [
"apache",
"bcmath",
"bz2",
"calendar",
"com_dotnet",
"Core",
"ctype",
"curl",
"date",
"dba",
"dom",
"enchant",
"exif",
"FFI",
"fileinfo",
"filter",
"fpm",
"ftp",
"gd",
"gettext",
"gmp",
"hash",
"iconv",
"imap",
"intl",
"json",
"ldap",
"libxml",
"mbstring",
"meta",
"mysqli",
"oci8",
"odbc",
"openssl",
"pcntl",
"pcre",
"PDO",
"pdo_ibm",
"pdo_mysql",
"pdo_pgsql",
"pdo_sqlite",
"pgsql",
"Phar",
"posix",
"pspell",
"random",
"readline",
"Reflection",
"session",
"shmop",
"SimpleXML",
"snmp",
"soap",
"sockets",
"sodium",
"SPL",
"sqlite3",
"standard",
"superglobals",
"sysvmsg",
"sysvsem",
"sysvshm",
"tidy",
"tokenizer",
"xml",
"xmlreader",
"xmlrpc",
"xmlwriter",
"xsl",
"Zend OPcache",
"zip",
"zlib",
"imagick"
],
"intelephense.environment.phpVersion": "8.0.0",
"intelephense.environment.documentRoot": "${workspaceFolder}/../../",
"php-cs-fixer.allow-risky": true,
"psalm.disableAutoComplete": true,
"[php]": {
"editor.defaultFormatter": "muuvmuuv.vscode-just-php-cs-fixer"
},
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[markdown]": {
"files.trimTrailingWhitespace": false,
"editor.formatOnSave": false,
},
"search.exclude": {
"**/l10n": true,
"**/.vscode": true,
"**/patches": true
},
"git.alwaysSignOff": true,
"editor.formatOnSave": true,
"psalm.configPaths": [
"psalm-ls.xml"
],
}

View File

@ -1,33 +1,298 @@
# Changelog
This file is manually updated. Please file an issue if something is missing.
All notable changes to this project will be documented in this file.
## v4.5.0, v3.5.0 (2022-10-28)
## [v6.2.2] - 2024-01-10
- Hotfix for a bug in request pipelining.
## [v6.2.0] - 2024-01-09
- Nextcloud 28 compatibility
- Various bug fixes
## [v6.1.5] - 2023-11-25
- Hotfix in service worker caching strategy.
## [v6.1.1] - 2023-11-24
- This is an off-cycle hotfix release for some bugs in v6.1.0 ([see](https://github.com/pulsejet/memories/milestone/19?closed=1)).
- **Breaking**: The CUDA scaler is now the default for NVENC. You may need to reconfigure your transcoder. (see [#582](https://github.com/pulsejet/memories/issues/582))
- This release also cuts down a lot of weirdness and improves the usage of dependencies significantly.
## [v6.1.0] - 2023-11-15
- **Feature**: RAW files are now hidden (stacked) when another file with the same basename exists ([#537](https://github.com/pulsejet/memories/issues/537), [#152](https://github.com/pulsejet/memories/issues/152), [#419](https://github.com/pulsejet/memories/issues/419))
- **Feature**: Multiple files can be now selected and shared from the timeline ([#472](https://github.com/pulsejet/memories/issues/472), [#901](https://github.com/pulsejet/memories/issues/901))
- **Feature**: Bulk rotating of images. You can now rotate images losslessly by editing the rotation EXIF metadata. ([#856](https://github.com/pulsejet/memories/issues/856))
- **Feature**: Icon animation when playing live photos ([#898](https://github.com/pulsejet/memories/issues/898))
- **Feature**: Swipe to refresh on timeline ([#547](https://github.com/pulsejet/memories/issues/547))
- **Bugfix**: Allow switching video to direct on Safari ([#650](https://github.com/pulsejet/memories/issues/650))
- Many other [bug fixes](https://github.com/pulsejet/memories/milestone/18?closed=1)
- Android app is now open source ([see](https://github.com/pulsejet/memories/tree/master/android))
## [v6.0.1] - 2023-10-27
- Bug fixes in video streaming.
## [v6.0.0] - 2023-10-25
- This release focuses on improvements in code quality, maintainability and [documentation](https://memories.gallery/install/).
- New CI/CD [jobs](https://github.com/pulsejet/memories/actions/workflows/static-analysis.yaml) for type checking with [Psalm](https://psalm.dev/) and [vue-tsc](https://www.npmjs.com/package/vue-tsc)
- Vue templates are now checked and largely type-safe
- The backend now has native type coverage with PHP 8 type hints. This unearthed multiple bugs that are now fixed.
- [Developing](https://github.com/pulsejet/memories/#-development-setup) is now easier for new contributors
- **Breaking**: Nextcloud 26+ and PHP 8.0 are now required.
- **Breaking**: The directory containing the `exiftool` and `go-vod` binaries was renamed from `exiftool-bin` to `bin-ext`
- **Feature**: External transcoders are much easier to set up now. See [docs](https://memories.gallery/hw-transcoding) for details.
- **Feature**: Folders view in shares ([#880](https://github.com/pulsejet/memories/pull/880))
- **Feature**: Improved back button navigation on mobile ([#861](https://github.com/pulsejet/memories/issues/861)).
- **Feature**: The transcoding quality factor can now be configured from the admin panel.
## [v5.5.0] - 2023-10-06
- **Important**: This update runs some slow database migrations. It is recommended to upgrade using the CLI (`occ upgrade`) instead of the web interface.
- **Important**: This version corrects some errors in indexing and indexes some new EXIF fields. It is recommended to run `occ memories:index -f` after upgrading.
- **Breaking**: Files in hidden folders are now hidden in the timeline ([#825](https://github.com/pulsejet/memories/issues/825))
- **Feature**: An Android app is now available with early access (https://play.google.com/store/apps/details?id=gallery.memories). Memories v5.5+ is required.
- **Feature**: Support showing full file path in sidebar ([#173](https://github.com/pulsejet/memories/issues/173))
- **Feature**: View file in folder on clicking name in sidebar
- **Feature**: User can leave albums that are shared with them
- **Feature**: Admin can now configure default behavior of loading high resolution image in viewer ([#672](https://github.com/pulsejet/memories/pull/672))
- **Feature**: Shared videos will now be transcoded to be smaller in size
- **Feature**: Confirmation box on deletion ([#798](https://github.com/pulsejet/memories/issues/798))
- **Feature**: Prompt on editing metadata if date will be lost
- **Feature**: Allow changing binary temp directory ([#821](https://github.com/pulsejet/memories/issues/821))
- **Feature**: Support for Samsung HEIC Motion Photos on newer devices
- **Fix**: Support for transcoding MKV files.
## [v5.4.1] - 2023-08-20
- Corrects a versioning error. This version is the same as v5.3.0
## [v5.3.0] - 2023-08-20
- **Feature**: Allow adding photos to multiple albums together ([#752](https://github.com/pulsejet/memories/pull/752))
- **Feature**: Improved layout for albums list view
- **Feature**: Search bar for album picker when adding to album.
- **Feature**: Show albums of photo in metadata ([#752](https://github.com/pulsejet/memories/pull/752))
- **Feature**: Show faces in photo in sidebar metadata
- **Feature**: Allow creation of new tags when editing metadata ([#487](https://github.com/pulsejet/memories/issues/487))
- **Feature**: Allow disabling autoplay of live photo ([#591](https://github.com/pulsejet/memories/issues/591))
- **Feature**: Improvements in admin interface
- **Feature**: A `.nomemories` file will now hide a folder from Memories without affecting other apps ([#777](https://github.com/pulsejet/memories/issues/777))
- **Feature**: More crop options for image editor ([#546](https://github.com/pulsejet/memories/issues/546))
- **Bugfix**: You can now configure the transpose strategy of the transcoder (required for QSV)
## [v5.2.1] - 2023-07-03
- **Feature**: Allow moving unclustered faces to a cluster with Recognize (v4.2.0+)
## [v5.2.0] - 2023-06-30
**Note:** You will need to run `occ memories:places-setup --recalculate` to re-index places (or reindex everything)
- New project home page: https://memories.gallery
- New Discord community: https://discord.gg/7Dr9f9vNjJ
- Nextcloud 27 compatibility
- **Feature**: Hierarchical places view
- **Feature**: Layout improvements especially for mobile.
- **Feature**: Allow downloading entire publicly shared albums.
- **Feature**: Basic preview generation configuration in admin interface.
- **Bugfix**: Prevent keeping original file on metadata edit.
- **Bugfix**: Use correct locale for time in metadata view.
- **Bugfix**: Allow editing metadata on large video files.
## [v5.1.0] - 2023-04-29
- **Feature**: Allow creating new cluster in recognize while moving faces.
- **Feature**: Allow specifying precise coordinates while editing GPS metadata.
- **Feature**: Whitelist x-msvideo mime type.
- **Fix**: Improved handling of duplicate Live Photos.
- **Fix**: Prevent zombie processes when running in Docker.
- **Breaking**: Recognize v3.8 (minimum) is now required.
## [v5.0.0] - 2023-04-16
Note: this is a major release and may introduce breaking changes to your workflow.
- **Feature**: You can now configure Memories from the admin panel.
To access the admin panel, go to the admin settings and click on the "Memories" tab.
- **Breaking**: The `memories:video-setup` command has been removed.
Transcoding with or without hardware acceleration must now be configured from the admin panel.
For running an external go-vod instance, specifying a configuration file is no longer required.
- **Breaking**: The transcoder and exiftool binaries will be copied to the temp directory before execution.
Make sure your temp directory is writable by the web server.
- **Breaking**: The `--cleanup` flag to `memories:index` has been removed and is no longer necessary.
Folders having a `.nomedia` file will automatically be excluded from the timeline.
- **Feature**: Indexing will now build and check indices automatically in the backgroud.
Make sure Nextcloud cron is configured correctly. You can disable automatic indexing in the admin panel.
Note that files are still indexed immediately on upload.
- **Feature**: You can now choose which folders to index by default.
This can be configured from the admin panel. The available options are:
- All media files (excluding folders with `.nomedia` files, default and recommended)
- All files in every user's configured timeline folder (not recommended).
- All files in a given folder for each user (relative path).
- **Feature**: You can now run indexing in parallel on multiple threads.
`for i in {1..4}; do (occ memories:index &); done`
- **Feature**: Image editing is now done server-side, and is much faster and more reliable.
- PHP Imagick extension is now required for image editing.
- This fixes multiple issues editing images especially in Firefox.
- **Feature**: Significant performance improvements for the timeline view.
## [v4.13.1] - 2023-04-03
- **Feature**: "Direct" video playback will now fall back to HLS (transcoding) if playback fails (e.g. due to lack of browser support).
## [v4.13.0] - 2023-04-03
- **Feature**: Use GPS location data for timezone calculation.
Many cameras do not store the timezone in EXIF data. This feature allows Memories to use the GPS location data to calculate the timezone. To take advantage of this, you will need to run `occ memories:places-setup` followed by `occ memories:index --clear` (or `occ memories:index -f`) to reindex your photos.
- **Feature**: You can now specify the user and/or folder to index when running `occ memories:index` ([#184](https://github.com/pulsejet/memories/issues/184)).
- **Feature**: The map view now has a much more flexible layout, especially on mobile.
- **Feature**: Support for Google MVIMG photos ([#468](https://github.com/pulsejet/memories/issues/468))
## [v4.12.5] - 2023-03-23
- These releases significantly overhaul the application logic for better maintainability. If you run into any regressions, please [file a bug report](https://github.com/pulsejet/memories/issues).
## [v4.12.2] - 2023-03-17
- **Feature**: Allow migrating Google Takeout metadata to EXIF ([#430](https://github.com/pulsejet/memories/issues/430))
## [v4.12.1] - 2023-03-15
- **Feature**: Load full image on zoom ([#266](https://github.com/pulsejet/memories/issues/266))
## [v4.12.0] - 2023-03-10
**This release drops support for Nextcloud 24.**
Make sure you run at least Nextcloud 25.0.4
PHP 7.4 support is now deprecated. Please upgrade to at least PHP 8.0.
You may need to clear browser cache to use location search.
- **Feature**: Allow editing of GPS coordinates ([#418](https://github.com/pulsejet/memories/issues/418))
- **Feature**: Allow bulk editing of EXIF attributes other than date/time
- **Feature**: Allow (optionally bulk) editing of collaborative tags
- **Feature**: Allow sharing single photo / video ([#307](https://github.com/pulsejet/memories/issues/307))
- **Feature**: Allow sharing photos in high/low resolution.
- **Feature**: Allow sharing videos ([#261](https://github.com/pulsejet/memories/issues/261))
- **Feature**: Show list of tags in sidebar
- **Feature**: Better configurability and feature detection for go-vod ([#450](https://github.com/pulsejet/memories/issues/450))
- **Feature**: Configurable folder/album sorting order ([#371](https://github.com/pulsejet/memories/issues/371))
- **Feature**: Configurable album list sorting order ([#377](https://github.com/pulsejet/memories/issues/377))
- **Feature**: Allow archiving photos through folder view ([#350](https://github.com/pulsejet/memories/issues/350))
- **Feature**: Add search bar to face cluster merge dialog ([#177](https://github.com/pulsejet/memories/issues/177))
- **Bugfix**: Sidebar now shows metadata on albums and public shares ([#320](https://github.com/pulsejet/memories/issues/320)).
- Other fixes and features ([milestone](https://github.com/pulsejet/memories/milestone/9?closed=1))
## [v4.11.0] - 2023-02-10
- **Feature**: Show map of photos ([#396](https://github.com/pulsejet/memories/pull/396))
To index existing images, you must run `occ memories:index -f`
- **Feature**: Show list of places using reverse geocoding (MySQL/Postgres only) ([#395](https://github.com/pulsejet/memories/issues/395))
To configure this feature, you need to run `occ memories:places-setup` followed by `occ memories:index -f`
- Other minor fixes and features ([milestone](https://github.com/pulsejet/memories/milestone/7?closed=1))
## [v4.10.0] - 2023-01-17
- **Feature**: Allow sharing albums using public links ([#274](https://github.com/pulsejet/memories/issues/274))
- **Feature**: Allow sharing albums with groups ([#329](https://github.com/pulsejet/memories/issues/329))
- **Feature**: Directly move photos from the timeline to any folder ([#321](https://github.com/pulsejet/memories/pull/321))
- **Feature**: Optionally view folders in the recursive timeline view ([#260](https://github.com/pulsejet/memories/pull/260))
- Fix folder share title and remove footer ([#323](https://github.com/pulsejet/memories/issues/323))
- Other minor fixes ([milestone](https://github.com/pulsejet/memories/milestone/6?closed=1))
## [v4.9.0] - 2022-12-08
- **Important**: v4.9.0 comes with an optimization that greatly reduces CPU usage for preview serving. However, for best experience, the preview generator app is now **required** to be configured properly. Please install it from the app store.
- **Feature**: Slideshow for photos and videos ([#217](https://github.com/pulsejet/memories/issues/217))
- **Feature**: Support for GPU transcoding ([#194](https://github.com/pulsejet/memories/issues/194))
- **Feature**: Allow downloading entire albums
- **Feature**: Allow editing more EXIF fields ([#169](https://github.com/pulsejet/memories/issues/169))
- **Feature**: Alpha integration with the face recognition app ([#146](https://github.com/pulsejet/memories/issues/146))
- Fix downloading from albums ([#259](https://github.com/pulsejet/memories/issues/259))
- Fix support for HEVC Live Photos ([#234](https://github.com/pulsejet/memories/issues/234))
- Fix native photo sharing ([#254](https://github.com/pulsejet/memories/issues/254), [#263](https://github.com/pulsejet/memories/issues/263))
- Use larger previews in viewer (please see [these docs](https://memories.gallery/config/#preview-storage)) ([#226](https://github.com/pulsejet/memories/issues/226))
## [v4.8.0] - 2022-11-22
- **Feature**: Support for Live Photos ([#124](https://github.com/pulsejet/memories/issues/124))
- You need to run `occ memories:index --clear` to reindex Live Photos
- Only JPEG (iOS with MOV, Google, Samsung) is supported. HEIC is not supported.
- **Feature**: Timeline path now scans recursively for mounted volumes / shares inside it
- **Feature**: Multiple timeline paths can be specified ([#178](https://github.com/pulsejet/memories/issues/178))
- Support for server-side encrypted storage ([#99](https://github.com/pulsejet/memories/issues/99))
- Mouse wheel now zooms on desktop
- Improved caching performance
- Due to incorrect caching in previous versions, your browser cache may have become very large. You can clear it to save some space.
## [v4.7.0] - 2022-11-14
- **Note**: you must run `occ memories:index -f` to take advantage of new features.
- **Massively improved video performance**
- Memories now comes with a dedicated transcoding server with HLS support.
- Read the documentation [here](https://memories.gallery/config/#transcoding) carefully for more details.
- **Feature**: Show EXIF metadata in sidebar ([#68](https://github.com/pulsejet/memories/issues/68))
- **Feature**: Multi-selection with drag (mobile) and shift+click ([#28](https://github.com/pulsejet/memories/issues/28))
- **Feature**: Show duration on video tiles
- **Feature**: Allow editing all image formats (HEIC etc.)
- Fix stretched images in viewer ([#176](https://github.com/pulsejet/memories/issues/176))
- Restore metadata after image edit ([#174](https://github.com/pulsejet/memories/issues/174))
- Fix loss of resolution after image edit
## [v4.6.1] - 2022-11-07
- **Feature**: Native sharing from the viewer (images only)
- **Feature**: Deep linking to photos on opening viewer
- **Feature**: Password protected folder shares ([#165](https://github.com/pulsejet/memories/issues/165))
- **Feature**: Folders view will now show only folders with photos ([#163](https://github.com/pulsejet/memories/issues/163))
- Improvements to viewer UX
- Restore image editor (see v4.6.0)
## [v4.6.0] - 2022-11-06
- **Brand new photo viewer** with improved touch interface and UX
- Improvements from v4.5.4 below
- Known regressions: Photo Editor and Slideshow are not implemented yet
- New layout for Albums view (date ascending, grouped by month)
- Re-enable viewer editing and deletion
## [v4.5.2] - 2022-10-30
- Improved scroller performance
- Improved support for external storage and FreeBSD
- Improved selection of photos
## [v4.5.0] - 2022-10-28
- **Feature**: Album sharing to other Nextcloud users
- **Feature**: Folder sharing with public link [#74](https://github.com/pulsejet/memories/issues/74)
- Performance improvements and bug fixes
## v4.4.1, v3.4.1 (2022-10-27)
## [v4.4.1] - 2022-10-27
- **Feature**: Albums support for Nextcloud 25 (alpha)
- Performance improvements and bug fixes
## v4.3.8, v3.3.8 (2022-10-26)
## [v4.3.8] - 2022-10-26
- **Feature**: Full screen viewer on desktop
- **Feature**: Allow opening people and tags in new tab
- Bugfix: Fix regression in performance with large number of files
- Bugfix: Improve image quality on mobile
## v4.3.7, v3.3.7 (2022-10-24)
## [v4.3.7] - 2022-10-24
- **Feature**: Support for RAW (must run `occ memories:index` after upgrade) with camera raw previews app ([#107](https://github.com/pulsejet/memories/issues/107))
- **Feature**: Better settings experience.
- **Feature**: Better first start experience.
- Bug fixes for postgresql and mysql
## v4.3.0, v3.3.0 (2022-10-22)
## [v4.3.0] - 2022-10-22
- **Note:** you must run `occ memories:index -f` after updating to take advantage of new features.
- **Feature**: **Brand new tiled layout for photos**
@ -41,71 +306,71 @@ This file is manually updated. Please file an issue if something is missing.
- Improve scroller performance
- Improve faces view performance
## v4.2.2, v3.2.2 (2022-10-12)
## [v4.2.2] - 2022-10-12
- Update to mobile layout with improved performance
- Show how old photos are in `On this day`
## v4.2.1, v3.2.1 (2022-10-11)
## [v4.2.1] - 2022-10-11
- Fix incorrect layout of `On this day`
## v4.2.0, v3.2.0 (2022-10-11)
## [v4.2.0] - 2022-10-11
- Allow renaming and merging recognize faces
- Bug fixes
## v4.1.0, v3.1.0 (2022-10-08)
## [v4.1.0] - 2022-10-08
- First release for Nextcloud 25
## v3.0.0 (2022-10-07)
## [v3.0.0] - 2022-10-07
- People tab with faces from recognize app
- Tags tab with objects from recognize app
- On this day tab
- Bug fixes and performance improvements
## v2.1.3 (2022-09-27)
## [v2.1.3] - 2022-09-27
- Bug fixes and optimized performance
## v2.1.2 (2022-09-25)
## [v2.1.2] - 2022-09-25
- Breadcrumb navigation in folder view
- Edit Exif date feature (use with care)
- Archive photos function
- Improved localization and performance
## v2.0.0 (2022-09-23)
## [v2.0.0] - 2022-09-23
- **Note:** you must re-run `occ memories:index` after updating.
- Support for external storage and shared folders for timeline.
- Localization support. Many languages already available.
- Select and favorite / unfavorite photos
## v1.1.6 (2022-09-15)
## [v1.1.6] - 2022-09-15
- **New feature:** Select photos from an entire day together
- **Fix:** Timeline with nested folders
## v1.1.5 (2022-09-15)
## [v1.1.5] - 2022-09-15
- Fix for postgres
- Fix for Exiftool crash
## v1.1.1 - v1.1.4 (2022-09-13)
## [v1.1.4] - 2022-09-13
- PHP 7.4 support
- Bug fixes
## v1.1.0 (2022-09-13)
## [v1.1.0] - 2022-09-13
- Support for external storage
- Favorites and Videos tabs
- Improved performance
- Better support for folder shares
## v1.0.1 - v1.1.0 (2022-09-08)
## [v1.0.1] - 2022-09-08
- Initial releases
- Initial release

View File

@ -1,17 +1,19 @@
all: dev-setup lint build-js-production test
# Dev env management
dev-setup: clean clean-dev npm-init exiftool php-cs-fixer
dev-setup: clean clean-dev npm-init bin-ext install-tools
exiftool:
sh scripts/get-exiftool.sh
bin-ext:
sh scripts/get-bin-ext.sh
php-cs-fixer:
mkdir --parents tools/php-cs-fixer
composer require --working-dir=tools/php-cs-fixer friendsofphp/php-cs-fixer
install-tools:
composer install
php-lint:
tools/php-cs-fixer/vendor/bin/php-cs-fixer fix lib
vendor/bin/php-cs-fixer fix
psalm:
vendor/bin/psalm --no-cache
npm-init:
npm ci
@ -19,6 +21,8 @@ npm-init:
npm-update:
npm update
.PHONY: dev-setup bin-ext install-tools php-lint psalm npm-init npm-update
# Building
build-js:
npm run dev
@ -26,9 +30,14 @@ build-js:
build-js-production:
rm -f js/* && npm run build
patch-external:
bash scripts/patch-external.sh
watch-js:
npm run watch
.PHONY: build-js patch-external watch-js
# Testing
test:
npm run test
@ -39,6 +48,8 @@ test-watch:
test-coverage:
npm run test:coverage
.PHONY: test test-watch test-coverage
# Linting
lint:
npm run lint
@ -46,6 +57,8 @@ lint:
lint-fix:
npm run lint:fix
.PHONY: lint lint-fix
# Cleaning
clean:
rm -f js/*
@ -53,3 +66,4 @@ clean:
clean-dev:
rm -rf node_modules
.PHONY: clean clean-dev

123
README.md
View File

@ -1,60 +1,105 @@
![Screenshot](appinfo/screenshot.jpg)
## Photo Viewer and Manager
# Memories: Photo Management for Nextcloud
Memories is a photo management app for Nextcloud with advanced features including:
[![Discord](https://dcbadge.vercel.app/api/server/7Dr9f9vNjJ)](https://discord.gg/7Dr9f9vNjJ)
[![Website](https://img.shields.io/website?down_color=red&down_message=offline&label=website&style=for-the-badge&up_color=brightgreen&up_message=online&url=https%3A%2F%2Fmemories.gallery)](https://memories.gallery)
[![Demo](https://img.shields.io/website?down_color=red&down_message=offline&label=demo&style=for-the-badge&up_color=brightgreen&up_message=online&url=https%3A%2F%2Fdemo.memories.gallery)](https://demo.memories.gallery/apps/memories/)
[![Nextcloud Store](https://img.shields.io/badge/nextcloud_store-blue?style=for-the-badge)](https://apps.nextcloud.com/apps/memories)
![GitHub](https://img.shields.io/github/license/pulsejet/memories)
[![GitHub issues](https://img.shields.io/github/issues/pulsejet/memories)](https://github.com/pulsejet/memories/issues)
[![GitHub Sponsor](https://img.shields.io/github/sponsors/pulsejet?logo=GitHub)](https://github.com/sponsors/pulsejet)
[![e2e](https://github.com/pulsejet/memories/actions/workflows/e2e.yaml/badge.svg)](https://github.com/pulsejet/memories/actions/workflows/e2e.yaml)
[![static analysis](https://github.com/pulsejet/memories/actions/workflows/static-analysis.yaml/badge.svg)](https://github.com/pulsejet/memories/actions/workflows/static-analysis.yaml)
[![Shepherd](https://shepherd.dev/github/pulsejet/memories/coverage.svg)](https://shepherd.dev/github/pulsejet/memories)
[![go-vod](https://github.com/pulsejet/memories/actions/workflows/go-vod.yml/badge.svg)](https://github.com/pulsejet/memories/actions/workflows/go-vod.yml)
Memories is a _batteries-included_ photo management solution for Nextcloud with advanced features
## 🎁 Features
- **📸 Timeline**: Sort photos and videos by date taken, parsed from Exif data.
- **⏪ Rewind**: Jump to any time in the past instantly and relive your memories.
- **🤖 AI Tagging**: Group photos by people and objects using AI, powered by the [recognize](https://github.com/nextcloud/recognize) app.
- **🤖 AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).
- **🖼️ Albums**: Create albums to group photos and videos together. Then share these albums with others.
- **📁 Folders**: Browse your own and shared folders with a similar, efficient timeline.
- **🎦 Slideshow**: View photos from your timeline and folders easily.
- **📱 Mobile Support**: Works on devices of any shape and size through the web app.
- **✏️ Edit Metadata**: Edit Exif dates on photos quickly and easily.
- **🫱🏻‍🫲🏻 External Sharing**: Share photos and videos with people outside of your Nextcloud instance.
- **📱 Mobile Support**: Work from any device, of any shape and size through the web app.
- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.
- **📦 Archive**: Store photos you don't want to see in your timeline in a separate folder.
- **📷 RAW Support**: View RAW photos from your camera with the [Camera RAW Previews](https://apps.nextcloud.com/apps/camerarawpreviews) app.
- **⚡️ Fast**: Memories is extremely fast. Period. More details below.
To get an idea of what memories looks and feels like, check out the [public demo](https://memories-demo.radialapps.com/apps/memories/). Note that the demo is read-only and may be slow since it runs in a low-end free tier VM provided by [Oracle Cloud](https://www.oracle.com/cloud/free/). Photo credits go to [Unsplash](https://unsplash.com/) (for individual credits, refer to each folder).
## How to support development
- **🌟 Star this repository**: This is the easiest way to support the project and costs nothing.
- **🪲 Report bugs**: If you find a bug, please report it on the issue tracker.
- **📝 Contribute**: If you want to contribute, please read file / comment on an issue and ask for guidance.
- **📹 Video Transcoding**: Transcode videos and use HLS for maximal performance.
- **🗺️ Map**: View your photos on a map, tagged with accurate reverse geocoding.
- **📦 Migration**: Migrate easily from Nextcloud Photos and Google Takeout.
- **⚡️ Performance**: Do all this very fast.
## 🚀 Installation
1. Install the app from the Nextcloud app store.
1. Run `php ./occ memories:index` to generate metadata indices for existing photos.
1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos. Photos from this directory will be displayed in the timeline, including any photos in nested subdirectories.
1. Installing the [preview generator](https://github.com/rullzer/previewgenerator) for pre-generating thumbnails is strongly recommended.
1. Install the app from the Nextcloud [app store](https://apps.nextcloud.com/apps/memories).
1. Perform the recommended [configuration steps](https://memories.gallery/config/).
1. Run `php occ memories:index` to generate metadata indices for existing photos.
1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos.
## 🏗 Development setup
## 📱 Mobile Apps
1. ☁ Clone this into your `apps` folder of your Nextcloud.
- An Android client for Memories is available in early access on [Google Play](https://play.google.com/store/apps/details?id=gallery.memories) or [GitHub Releases](https://github.com/pulsejet/memories/releases?q=android).
- For automatic uploads, you can use the official Nextcloud mobile apps.
- Android: [Google Play](https://play.google.com/store/apps/details?id=com.nextcloud.client), [F-Droid](https://f-droid.org/en/packages/com.nextcloud.client/)
- iOS: [App Store](https://apps.apple.com/us/app/nextcloud/id1125420102).
## 🏗 Development Setup
1. ☁ Clone this monorepo into the `custom_apps` folder of your Nextcloud.
1. 📥 Install [Composer](https://getcomposer.org/) and [Node.js 18](https://nodejs.org)
1. 👩‍💻 In a terminal, run the command `make dev-setup` to install the dependencies.
1. 🏗 To build the Typescript, run `make build-js`. Watch changes with: `make watch-js`.
1. 🏗 To build/watch the UI, run `make watch-js`.
1. ✅ Enable the app through the app management of your Nextcloud.
1. ⚒️ (Strongly recommended) use VS Code and install Vetur and Prettier.
1. ⚒️ (Strongly recommended) use VS Code for development and install these extensions (`Ctrl+Shift+P` > `Show Recommended Extensions`).
- [PHP Intelephense](https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client): For PHP intellisense and static analysis
- [PHP-CS-Fixer](https://marketplace.visualstudio.com/items?itemName=muuvmuuv.vscode-just-php-cs-fixer): For PHP formatting (alternatively, `make php-cs-fixer`)
- [Psalm](https://marketplace.visualstudio.com/items?itemName=getpsalm.psalm-vscode-plugin): For PHP static analysis (alternatively, `make psalm`)
- [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode): For autoformatting Vue and Typescript
- [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar): For Vue intellisense and static analysis
- [Volar Typescript](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin): For Vue Typescript support
## ⚡ Performance
This monorepo is organized into the following packages:
- [lib](lib): Backend and database migrations (PHP).
- [src](src): Frontend for all platforms (Vue)
- [go-vod](go-vod): On-demand video transcoder (Go)
- [android](android): Android implemention of NativeX (Kotlin)
- [l10n](l10n): Translations (Transifex)
- Once properly configured, Memories is **extremely fast**, possibly one of the fastest web photo viewers.
- On a server with relatively cheap hardware (`Intel Pentium G6400 / 8GB RAM / SSD`), loading the timeline takes only `~400ms` without cache on a laptop (`Intel Core i5-1035G1 / Windows 11 / Chrome`) for a library of `~17000 photos` totaling `100GB`. The test was performed on Nextcloud 24 with `nginx`, `php-fpm` and `mariadb` running in Docker.
- For best performance, install the [preview generator](https://github.com/rullzer/previewgenerator) and make sure HTTP/2 is enabled for your Nextcloud instance.
Releases are organized with these tags:
- `v*`: overall releases (e.g. `v1.0.0` or `v1.0.0-beta.1`)
- `go-vod/*`: transcoder releases (e.g. `go-vod/1.0.0`)
- `android/*`: Android releases (e.g. `android/1.0.0`)
## 📝 Notes
## 🤝 Support the project
- You may need to configure the Nextcloud preview generator and Imagemagick / ffmpeg to support all types of images and videos (e.g. HEIC). If using the official docker image, add `OC\Preview\HEIC` to `enabledPreviewProviders` in your `config.php`.
- If local time is not found in the photo (especially for videos), the server timezone is used.
- All photos in the timeline _must_ be on a single storage. For example, you cannot have a mounted directory inside your photos directory.
- The app can work with external storage for photos. Just set the mountpoint as the timeline directory.
- If you add any photos from outside Nextcloud, you must run the scan and index commands.
- Indexing may be slow, since all files must be downloaded from the storage. The app currently assumes that the Exif data is present with the first 20MB of each file.
- The archive feature moves photos to a separate folder called `.archive` at the root of your timeline. You can use this, for example, to move these photos to a cold storage.
1. **🌟 Star this repository**: This is the easiest way to support Memories and costs nothing.
1. **🪲 Report bugs**: Report any bugs you find on the issue tracker.
1. **📖 Translate**: Help translate Memories into your language on [Transifex](https://www.transifex.com/nextcloud/nextcloud/memories/).
1. **📝 Contribute**: Read and file or comment on an issue and ask for guidance.
1. **🪙 Sponsorship**: You can support the project financially at [GitHub Sponsors](https://github.com/sponsors/pulsejet).
## Special Thanks
A shout out to the current and past financial backers of Memories! See the sponsors page for a full list.
Nextcloud team. A lot of this work is based on [Photos](https://github.com/nextcloud/photos).
[<img src="https://github.com/mpodshivalin.png" width="42" />](https://github.com/mpodshivalin)
[<img src="https://github.com/k1l1.png" width="42" />](https://github.com/k1l1)
[<img src="https://github.com/ChickenTarm.png" width="42" />](https://github.com/ChickenTarm)
[<img src="https://github.com/ChildLearningClub.png" width="42" />](https://github.com/ChildLearningClub)
[<img src="https://github.com/mpanhans.png" width="42" />](https://github.com/mpanhans)
## 📝 Changelog
For the full changelog, see [CHANGELOG.md](CHANGELOG.md).
## 🙏 Special Thanks
To the great folks building Nextcloud, PHP, Vue and all the other dependencies that make this project possible.
Thanks to [GitHub](https://github.com), [CircleCI](https://circleci.com/) and [BrowserStack](https://www.browserstack.com) for sponsorship for Open Source projects for CI / testing on different devices.
## 📄 License
Memories is licensed under the [AGPLv3](COPYING). Subpackages such as [go-vod](go-vod) are licensed under their respective licenses. See the directory of the subpackage for more information.

16
android/.gitignore vendored 100644
View File

@ -0,0 +1,16 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
app/release

3
android/.idea/.gitignore vendored 100644
View File

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

View File

@ -0,0 +1 @@
Memories

View File

@ -0,0 +1,123 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JetCodeStyleSettings>
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<codeStyleSettings language="XML">
<option name="FORCE_REARRANGE_MODE" value="1" />
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>
<arrangement>
<rules>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:android</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:id</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>ANDROID_ATTRIBUTE_ORDER</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>.*</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
</rules>
</arrangement>
</codeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</codeStyleSettings>
</code_scheme>
</component>

View File

@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="17" />
</component>
</project>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<targetSelectedWithDropDown>
<Target>
<type value="QUICK_BOOT_TARGET" />
<deviceKey>
<Key>
<type value="VIRTUAL_DEVICE_PATH" />
<value value="C:\Users\varun\.android\avd\Pixel_6_API_33_2.avd" />
</Key>
</deviceKey>
</Target>
</targetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2023-05-16T08:14:59.213052500Z" />
</component>
</project>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="jbr-17" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.9.0" />
</component>
</project>

View File

@ -0,0 +1,14 @@
<project version="4">
<component name="EntryPointsManager">
<list size="1">
<item index="0" class="java.lang.String" itemvalue="android.webkit.JavascriptInterface" />
</list>
</component>
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

202
android/LICENSE 100644
View File

@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -0,0 +1,5 @@
# Memories Android Wrapper
Android implementation of the NativeX interface.
Note that all code under this tree is licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html), unlike Memories itself, which is licensed under the AGPLv3 license.

1
android/app/.gitignore vendored 100644
View File

@ -0,0 +1 @@
/build

View File

@ -0,0 +1,57 @@
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'com.google.devtools.ksp' version '1.9.0-1.0.13'
}
android {
namespace 'gallery.memories'
compileSdk 33
defaultConfig {
applicationId "gallery.memories"
minSdk 27
targetSdk 33
versionCode 6
versionName "1.6"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
buildFeatures {
viewBinding true
}
}
dependencies {
def media_version = "1.1.1"
def room_version = "2.5.2"
implementation 'androidx.core:core-ktx:1.10.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.navigation:navigation-fragment-ktx:2.6.0'
implementation 'androidx.navigation:navigation-ui-ktx:2.6.0'
implementation 'androidx.exifinterface:exifinterface:1.3.6'
implementation "androidx.media3:media3-exoplayer:$media_version"
implementation "androidx.media3:media3-ui:$media_version"
implementation "androidx.media3:media3-exoplayer-hls:$media_version"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
ksp "androidx.room:room-compiler:$room_version"
implementation "com.squareup.okhttp3:okhttp:4.10.0"
implementation "io.github.g00fy2:versioncompare:1.5.0"
}

21
android/app/proguard-rules.pro vendored 100644
View File

@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
<application
android:allowBackup="false"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.Memories"
android:usesCleartextTraffic="true"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true"
android:theme="@style/Theme.Memories.NoActionBar"
android:configChanges="orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:name=".service.DownloadBroadcastReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
</intent-filter>
</receiver>
</application>
</manifest>

View File

@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg width="47.276897mm" height="12.685879mm" viewBox="0 0 47.276898 12.685879" version="1.1" id="svg5"
sodipodi:docname="memories-title (1).svg" inkscape:version="1.1 (c68e22c387, 2021-05-23)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview14"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.2378992"
inkscape:cx="85.225033"
inkscape:cy="88.456314"
inkscape:window-width="1920"
inkscape:window-height="991"
inkscape:window-x="1911"
inkscape:window-y="-9"
inkscape:window-maximized="1"
inkscape:current-layer="svg5" />
<defs
id="defs2" />
<g
id="layer1"
transform="translate(-57.784684,-63.463599)"
style="stroke:none;stroke-opacity:1;fill:white;fill-opacity:1">
<g
aria-label="Memories"
id="text1574"
style="font-size:14.1111px;line-height:1.25;font-family:monospace;-inkscape-font-specification:monospace;stroke-width:0.264583;stroke:none;stroke-opacity:1;fill:white;fill-opacity:1">
<path
d="m 67.718898,66.850263 c 0,2.328331 -1.467554,4.797774 -1.467554,7.224883 0,1.41111 0.860777,2.074332 1.622776,2.074332 2.031999,0 3.400776,-4.600219 3.781775,-5.870218 0.07056,-0.211667 -0.02822,-0.282222 -0.268111,-0.282222 -0.197555,0 -0.225777,0.05644 -0.296333,0.239889 -0.634999,1.523999 -2.003776,4.938885 -2.850442,4.938885 -0.211666,0 -0.592666,-0.197556 -0.592666,-1.001888 0,-2.356554 1.439332,-4.23333 1.439332,-7.027328 0,-0.719666 -0.141111,-1.79211 -1.142999,-1.79211 -1.326444,0 -2.906887,1.989665 -3.58422,3.443108 0.225778,-0.917221 0.719667,-2.652886 0.719667,-3.711219 0,-0.973666 -0.409222,-1.622776 -1.030111,-1.622776 -1.693332,0 -3.739441,5.26344 -4.388552,6.646328 0.296333,-1.185333 1.298221,-4.684885 1.298221,-5.602107 0,-0.493888 -0.268111,-0.931333 -0.578555,-0.931333 -0.437444,0 -0.917221,0.917222 -1.312332,2.539998 -0.239889,0.945444 -0.649111,3.005665 -0.917222,4.656664 -0.225777,1.396998 -0.366888,2.046109 -0.366888,2.666997 0,0.381 0.183444,0.437445 0.437444,0.437445 0.310444,0 0.536222,-0.08467 0.747888,-0.282222 0.578555,-0.550333 0.620889,-1.622777 0.917222,-2.483554 0.592666,-1.707443 3.062108,-6.180662 3.612441,-6.180662 0.127,0 0.127,0.239889 0.127,0.282222 0,1.636888 -1.241777,4.628441 -1.241777,6.632217 0,0 0,0.409222 0.352778,0.409222 0.155222,0 0.352777,-0.07055 0.522111,-0.197555 0.338666,-0.254 0.409222,-0.592667 0.606777,-1.086555 0.818444,-2.116665 2.82222,-4.571997 3.59833,-4.571997 0.268111,0 0.254,0.239889 0.254,0.451556 z"
style="font-family:'Lofty Goals';-inkscape-font-specification:'Lofty Goals';stroke:none;stroke-opacity:1;fill:white;fill-opacity:1"
id="path7728" />
<path
d="m 71.980438,73.016813 c 1.396999,0 3.033887,-1.693332 3.033887,-2.808109 0,-0.04233 0,-0.07055 -0.01411,-0.112888 -0.07056,-0.08467 -0.155222,-0.141111 -0.268111,-0.141111 -0.366889,0.578555 -1.53811,2.257776 -2.31422,2.257776 -0.437445,0 -0.620889,-0.550333 -0.620889,-0.917222 v -0.07055 c 0.987777,-0.05644 1.91911,-1.298222 1.91911,-2.243665 0,-0.550333 -0.296333,-0.860777 -0.860777,-0.860777 -1.523999,0 -2.314221,1.93322 -2.314221,3.217331 0,0.705555 0.578555,1.67922 1.439332,1.67922 z m 1.030111,-3.880552 c 0,0.395111 -0.719666,1.495777 -1.15711,1.523999 0.02822,-0.381 0.52211,-1.834443 1.001888,-1.834443 0.155222,0 0.155222,0.211666 0.155222,0.310444 z"
style="font-family:'Lofty Goals';-inkscape-font-specification:'Lofty Goals';stroke:none;stroke-opacity:1;fill:white;fill-opacity:1"
id="path7730" />
<path
d="m 75.804523,67.301818 c -1.128888,0 -1.467555,3.838219 -1.467555,4.727218 0,0.352778 0.02822,0.987777 0.508,0.987777 0.790222,0 1.213555,-0.733777 1.425221,-1.396998 0.169333,-0.550333 1.086555,-3.612442 1.552221,-3.668887 0.127,0.197556 0.127,0.635 0.127,0.874889 0,0.888999 -0.08467,1.763887 -0.08467,2.652887 0,0.324555 -0.01411,1.015999 0.465666,1.015999 0.705555,0 1.890887,-3.824108 2.511776,-3.922886 0.07055,0.183444 0.08467,0.366888 0.08467,0.550333 0,1.058332 -0.296333,2.074332 -0.296333,3.132664 0,0.465666 0.05644,1.368777 0.705555,1.368777 0.606777,0 2.610554,-2.892776 2.69522,-3.527775 -0.05644,-0.08467 -0.169333,-0.141111 -0.268111,-0.141111 -0.197555,0 -1.665109,2.342442 -2.046109,2.398887 -0.04233,-0.02822 -0.05644,-0.08467 -0.05644,-0.112889 0,-0.381 0.155223,-0.818444 0.239889,-1.199444 0.169333,-0.761999 0.338667,-1.552221 0.338667,-2.342442 0,-0.508 -0.254,-1.255888 -0.874889,-1.255888 -1.100665,0 -2.017887,1.947332 -2.427109,2.793998 0.01411,-0.578555 0.112889,-1.157111 0.112889,-1.749777 0,-0.564444 -0.05644,-1.66511 -0.846666,-1.66511 -1.171221,0 -2.158998,2.920998 -2.539998,3.83822 0.08467,-0.931333 0.508,-1.820332 0.508,-2.765776 0,-0.282222 0.01411,-0.592666 -0.366889,-0.592666 z"
style="font-family:'Lofty Goals';-inkscape-font-specification:'Lofty Goals';stroke:none;stroke-opacity:1;fill:white;fill-opacity:1"
id="path7732" />
<path
d="m 84.652174,74.046924 c 1.058333,0 1.975554,-1.086555 2.384776,-2.412998 0.860777,-0.09878 2.04611,-0.959555 2.04611,-1.495777 0,-0.127 -0.07056,-0.254 -0.169334,-0.282222 -0.437444,0.352777 -1.199443,0.776111 -1.679221,0.90311 0.02822,-0.183444 0.02822,-0.366888 0.02822,-0.550333 0,-1.396998 -0.747889,-2.652886 -1.594555,-2.652886 -0.691444,0 -1.467554,0.832555 -1.467554,1.566332 0,0.02822 0,0.07055 0,0.09878 -0.691444,0.564444 -1.086555,1.495777 -1.086555,2.539999 0,1.326443 0.649111,2.285998 1.53811,2.285998 z m 1.749777,-3.443109 c -0.606778,-0.338666 -1.284111,-1.044221 -1.284111,-1.467554 0,-0.254 0.268111,-0.550333 0.522111,-0.550333 0.409222,0 0.776111,0.804333 0.776111,1.693332 0,0.112889 0,0.211667 -0.01411,0.324555 z m -0.155223,0.917222 c -0.239888,0.90311 -0.691443,1.679221 -1.227665,1.679221 -0.381,0 -0.733777,-0.620889 -0.733777,-1.298221 0,-0.536222 0.225777,-1.213555 0.465666,-1.523999 0.395111,0.493888 0.959555,0.931332 1.495776,1.142999 z"
style="font-family:'Lofty Goals';-inkscape-font-specification:'Lofty Goals';stroke:none;stroke-opacity:1;fill:white;fill-opacity:1"
id="path7734" />
<path
d="m 89.986155,74.752479 c 1.001888,0 3.570108,-3.697108 3.640664,-4.656663 0.01411,-0.155222 -0.155222,-0.141111 -0.268111,-0.141111 -0.254,0.395111 -2.300109,3.485441 -2.737553,3.485441 -0.09878,0 -0.08467,-0.141111 -0.08467,-0.211666 0.07056,-0.790222 0.705555,-1.594554 0.776111,-2.427109 0.08467,-0.874889 -0.606778,-0.889 -1.312333,-1.128888 0.338667,-0.310445 0.649111,-0.917222 0.691444,-1.354666 0.04233,-0.522111 -0.268111,-1.326443 -0.874888,-1.326443 -1.001888,0 -1.368777,1.015999 -1.439332,1.834443 -0.112889,1.41111 0.931332,1.509887 1.961443,1.834443 -0.01411,0.239888 -0.352778,0.945443 -0.465667,1.227665 -0.225777,0.606778 -0.451555,1.241777 -0.507999,1.876777 -0.04233,0.507999 0.01411,0.987777 0.620888,0.987777 z m -0.155222,-6.349995 c -0.02822,0.282222 -0.169333,0.931332 -0.381,1.128888 -0.211666,-0.112889 -0.239888,-0.479778 -0.225777,-0.705555 0.02822,-0.183445 0.112889,-0.959555 0.395111,-0.959555 0.197555,0 0.225777,0.395111 0.211666,0.536222 z"
style="font-family:'Lofty Goals';-inkscape-font-specification:'Lofty Goals';stroke:none;stroke-opacity:1;fill:white;fill-opacity:1"
id="path7736" />
<path
d="m 94.473479,67.555818 c 0.479778,0 0.719666,-0.550333 0.719666,-0.959555 0,-0.282222 -0.09878,-0.649111 -0.451555,-0.649111 -0.578555,0 -0.804332,0.508 -0.804332,0.945444 0,0.296333 0.211666,0.663222 0.536221,0.663222 z m -0.550333,5.64444 c 0.860778,0 2.568221,-2.328332 2.568221,-3.033887 0,-0.127 -0.02822,-0.211666 -0.169334,-0.211666 -0.52211,0 -1.636887,2.257776 -2.031998,2.257776 -0.211666,0 -0.225778,-0.324556 -0.225778,-0.465667 0,-1.721554 0.677333,-2.356553 0.677333,-2.977442 0,-0.366888 -0.211666,-0.451555 -0.550333,-0.451555 -0.733777,0 -1.213554,1.834443 -1.213554,3.033887 0,0.592666 0.141111,1.848554 0.945443,1.848554 z"
style="font-family:'Lofty Goals';-inkscape-font-specification:'Lofty Goals';stroke:none;stroke-opacity:1;fill:white;fill-opacity:1"
id="path7738" />
<path
d="m 97.098125,73.016813 c 1.396999,0 3.033885,-1.693332 3.033885,-2.808109 0,-0.04233 0,-0.07055 -0.0141,-0.112888 -0.0706,-0.08467 -0.155222,-0.141111 -0.268111,-0.141111 -0.366888,0.578555 -1.53811,2.257776 -2.31422,2.257776 -0.437444,0 -0.620889,-0.550333 -0.620889,-0.917222 v -0.07055 c 0.987777,-0.05644 1.91911,-1.298222 1.91911,-2.243665 0,-0.550333 -0.296333,-0.860777 -0.860777,-0.860777 -1.523999,0 -2.31422,1.93322 -2.31422,3.217331 0,0.705555 0.578555,1.67922 1.439332,1.67922 z m 1.03011,-3.880552 c 0,0.395111 -0.719666,1.495777 -1.15711,1.523999 0.02822,-0.381 0.522111,-1.834443 1.001888,-1.834443 0.155222,0 0.155222,0.211666 0.155222,0.310444 z"
style="font-family:'Lofty Goals';-inkscape-font-specification:'Lofty Goals';stroke:none;stroke-opacity:1;fill:white;fill-opacity:1"
id="path7740" />
<path
d="m 101.00688,72.043148 c -0.95956,0.733777 -1.693333,1.580443 -1.693333,2.328331 0,0.832555 0.634999,1.439332 1.453443,1.439332 1.27,0 2.65289,-1.213554 2.65289,-2.356553 0,-0.776111 -0.31045,-1.298222 -0.73378,-1.693332 0.94544,-0.578556 1.905,-1.100666 2.37066,-1.523999 0.0282,-0.141111 -0.0705,-0.296333 -0.21166,-0.268111 -0.52211,0.127 -1.651,0.634999 -2.75167,1.326443 -0.67733,-0.465666 -1.35466,-0.77611 -1.35466,-1.382888 0,-0.592666 0.60678,-1.707443 1.28411,-1.707443 0.32455,0 0.55033,0.197556 0.55033,0.592666 0,0.324556 -0.16933,0.620889 -0.16933,0.945444 0,0.183444 0.11289,0.324555 0.29633,0.324555 0.508,0 0.80433,-0.64911 0.80433,-1.072443 0,-0.973666 -0.52211,-1.495777 -1.49577,-1.495777 -1.43934,0 -2.441224,1.185333 -2.441224,2.582332 0,1.086554 0.719664,1.566332 1.439334,1.961443 z m -0.69145,2.116665 c 0,-0.578556 0.59267,-1.171222 1.36878,-1.735666 0.42333,0.268111 0.74789,0.578555 0.74789,1.100666 0,0.522111 -0.74789,1.326443 -1.397,1.326443 -0.42333,0 -0.71967,-0.324555 -0.71967,-0.691443 z"
style="font-family:'Lofty Goals';-inkscape-font-specification:'Lofty Goals';stroke:none;stroke-opacity:1;fill:white;fill-opacity:1"
id="path7742" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,107 @@
:root {
--theme-color: #2b94f0;
--fg-color: white;
}
body {
margin: 0;
padding: 0;
background-color: var(--theme-color);
color: var(--fg-color);
overflow: hidden;
font-family: sans-serif;
}
* {
user-select: none;
-webkit-user-select: none;
-webkit-touch-callout: none;
-webkit-tap-highlight-color: transparent;
}
.container {
width: 90vw;
max-width: 800px;
margin: 40px auto;
text-align: center;
}
.animatable {
transition: opacity 0.7s ease-in-out, transform 0.7s ease-in-out;
}
.invisible {
transform: translateY(10px);
opacity: 0;
}
p,
div.p {
color: white;
margin-bottom: 30px;
line-height: 1.5em;
}
.logo {
color: var(--fg-color);
margin-bottom: 30px;
width: 60vw;
max-width: 400px;
}
input.m-input {
width: 80vw;
max-width: 800px;
padding: 10px 12px;
font-size: 16px;
border: 1px solid #ccc;
border-radius: 10px;
background-color: #f9f9f9;
color: #333;
outline: none;
transition: border-color 0.3s ease-in-out;
}
input.m-input:focus {
border-color: #0096ff;
box-shadow: 0 0 4px var(--theme-color);
}
.m-button {
display: inline-block;
padding: 10px 20px;
font-size: 16px;
font-weight: bold;
color: var(--theme-color);
background-color: var(--fg-color);
border: none;
border-radius: 20px;
cursor: pointer;
text-decoration: none;
transition: background-color 0.3s ease-in-out;
}
.m-button:disabled {
background-color: #eee;
color: #aaa;
cursor: not-allowed;
}
.m-button.link {
background-color: unset;
color: var(--fg-color);
}
.login-button {
margin: 10px;
margin-top: 12px;
}
div.trust {
margin-top: 10px;
}
input[type="checkbox"] {
width: 1.5em;
height: 1.5em;
vertical-align: -3px;
}

View File

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Memories</title>
<link rel="stylesheet" href="styles.css" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<div id="main" class="container">
<img src="memories.svg" alt="Memories Logo" class="logo" />
<p id="waiting">
Waiting for login to complete <br />
Keep this page open in the background
</p>
</div>
</body>
</html>

View File

@ -0,0 +1,136 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Memories</title>
<link rel="stylesheet" href="styles.css" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<div id="main" class="container animatable invisible">
<img src="memories.svg" alt="Memories Logo" class="logo" />
<p>
Start organizing and sharing your precious moments. Enter the address of
your Nextcloud server to begin.
</p>
<input
type="url"
id="server-url"
class="m-input"
placeholder="nextcloud.example.com"
/>
<div class="trust">
<label for="trust-all">
<input
type="checkbox"
id="trust-all"
class="m-checkbox"
/>
Disable certificate verification (unsafe)
</label>
</div>
<button class="m-button login-button" id="login">
Continue to Login
</button>
<br />
<a class="m-button link" href="https://memories.gallery/install/">
I don't have a server
</a>
</div>
<script>
const urlBox = document.getElementById("server-url");
const loginButton = document.getElementById("login");
function validateUrl(url) {
try {
url = new URL(url);
const protoOk = url.protocol === "http:" || url.protocol === "https:";
const hostOk = url.hostname.length > 0;
return protoOk && hostOk;
} catch (e) {
return false;
}
}
function getUrl() {
const url = urlBox.value.toLowerCase();
if (!url.startsWith("http://") && !url.startsWith("https://")) {
return "https://" + url;
}
return url;
}
function updateLoginEnabled() {
loginButton.disabled = !validateUrl(getUrl());
}
function getMemoriesUrl() {
const url = new URL(getUrl());
// Add trailing slash to the path if it's not there already
if (!url.pathname.endsWith("/")) {
url.pathname += "/";
}
// Add index.php to the path if it's not there already
if (!url.pathname.includes("index.php")) {
url.pathname += "index.php/";
}
// Add path to memories
url.pathname += "apps/memories/";
return url;
}
// Update login button enabled state when the URL changes
urlBox.addEventListener("input", updateLoginEnabled);
updateLoginEnabled();
// Login button click handler
loginButton.addEventListener("click", async () => {
try {
urlBox.disabled = true;
loginButton.disabled = true;
// Abort request after 5 seconds
const controller = new AbortController();
const timeoutId = setTimeout(() => controller.abort(), 5000);
// Login signal
const encUrl = encodeURIComponent(encodeURIComponent(getMemoriesUrl().toString()));
// Trust all certificates
const trustAll = document.getElementById("trust-all").checked ? "1" : "0";
await fetch(`http://127.0.0.1/api/login/${encUrl}?trustAll=${trustAll}`, {
method: "GET",
signal: controller.signal,
});
// API is fine, redirect to login page
clearTimeout(timeoutId);
} catch (e) {
// unreachable?
} finally {
urlBox.disabled = false;
loginButton.disabled = false;
}
});
// Set action bar color
const themeColor = getComputedStyle(
document.documentElement
).getPropertyValue("--theme-color");
globalThis.nativex?.setThemeColor(themeColor, true);
// Make container visible
document.getElementById("main").classList.remove("invisible");
</script>
</body>
</html>

View File

@ -0,0 +1,442 @@
package gallery.memories
import android.annotation.SuppressLint
import android.content.Intent
import android.content.res.Configuration
import android.graphics.Color
import android.net.Uri
import android.net.http.SslError
import android.os.Build
import android.os.Bundle
import android.util.Log
import android.view.KeyEvent
import android.view.View
import android.view.WindowInsets
import android.view.WindowInsetsController
import android.view.WindowManager
import android.webkit.CookieManager
import android.webkit.SslErrorHandler
import android.webkit.WebResourceRequest
import android.webkit.WebResourceResponse
import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Lifecycle
import androidx.media3.common.MediaItem
import androidx.media3.common.PlaybackException
import androidx.media3.common.Player
import androidx.media3.common.util.UnstableApi
import androidx.media3.datasource.DefaultDataSource
import androidx.media3.datasource.DefaultHttpDataSource
import androidx.media3.exoplayer.ExoPlayer
import androidx.media3.exoplayer.hls.HlsMediaSource
import androidx.media3.exoplayer.source.ProgressiveMediaSource
import gallery.memories.databinding.ActivityMainBinding
import java.util.concurrent.Executors
@UnstableApi
class MainActivity : AppCompatActivity() {
companion object {
val TAG = MainActivity::class.java.simpleName
}
val binding by lazy(LazyThreadSafetyMode.NONE) {
ActivityMainBinding.inflate(layoutInflater)
}
val threadPool = Executors.newFixedThreadPool(4)
private lateinit var nativex: NativeX
private var player: ExoPlayer? = null
private var playerUris: Array<Uri>? = null
private var playerUid: Long? = null
private var playWhenReady = true
private var mediaItemIndex = 0
private var playbackPosition = 0L
private var mNeedRefresh = false
private val memoriesRegex = Regex("/apps/memories/.*$")
private var host: String? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(binding.root)
// Restore last known look
restoreTheme()
// Initialize services
nativex = NativeX(this)
// Sync if permission is available
nativex.doMediaSync(false)
// Load JavaScript
initializeWebView()
// Destroy video after 1 seconds (workaround for video not showing on first load)
binding.videoView.postDelayed({
binding.videoView.alpha = 1.0f
binding.videoView.visibility = View.GONE
}, 1000)
}
override fun onDestroy() {
super.onDestroy()
binding.webview.removeAllViews();
binding.coordinator.removeAllViews()
binding.webview.destroy();
nativex.destroy()
}
override fun onConfigurationChanged(config: Configuration) {
super.onConfigurationChanged(config)
// Hide the status bar in landscape
setFullscreen(config.orientation == Configuration.ORIENTATION_LANDSCAPE)
}
public override fun onResume() {
super.onResume()
if (playerUris != null && player == null) {
initializePlayer(playerUris!!, playerUid!!)
}
if (mNeedRefresh) {
refreshTimeline(true)
}
}
public override fun onPause() {
super.onPause()
}
public override fun onStop() {
super.onStop()
releasePlayer()
}
override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
when (keyCode) {
KeyEvent.KEYCODE_BACK -> {
if (binding.webview.canGoBack()) {
binding.webview.goBack()
} else {
finish()
}
return true
}
}
}
return super.onKeyDown(keyCode, event)
}
@SuppressLint("SetJavaScriptEnabled", "ClickableViewAccessibility")
private fun initializeWebView() {
// Intercept local APIs
binding.webview.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(
view: WebView,
request: WebResourceRequest
): Boolean {
val pathMatches = request.url.path?.matches(memoriesRegex) == true
val hostMatches = request.url.host.equals(host)
if (pathMatches && hostMatches) {
return false
}
// Open external links in browser
Intent(Intent.ACTION_VIEW, request.url).apply { startActivity(this) }
return true
}
override fun shouldInterceptRequest(
view: WebView,
request: WebResourceRequest
): WebResourceResponse? {
return if (request.url.host == "127.0.0.1") {
nativex.handleRequest(request)
} else null
}
override fun onReceivedSslError(
view: WebView?,
handler: SslErrorHandler?,
error: SslError?
) {
if (nativex.http.isTrustingAllCertificates) {
handler?.proceed()
} else {
nativex.toast("Failed to load due to SSL error: ${error?.primaryError}", true)
super.onReceivedSslError(view, handler, error)
}
}
}
// Pass through touch events
binding.webview.setOnTouchListener { _, event ->
if (player != null) {
binding.videoView.dispatchTouchEvent(event)
}
false
}
val userAgent =
getString(R.string.ua_app_prefix) + BuildConfig.VERSION_NAME + " " + getString(R.string.ua_chrome)
val webSettings = binding.webview.settings
webSettings.javaScriptEnabled = true
webSettings.javaScriptCanOpenWindowsAutomatically = true
webSettings.allowContentAccess = true
webSettings.domStorageEnabled = true
webSettings.databaseEnabled = true
webSettings.userAgentString = userAgent
webSettings.setSupportZoom(false)
webSettings.builtInZoomControls = false
webSettings.displayZoomControls = false
binding.webview.addJavascriptInterface(nativex, "nativex")
binding.webview.setLayerType(View.LAYER_TYPE_HARDWARE, null)
binding.webview.setBackgroundColor(Color.TRANSPARENT)
// binding.webview.clearCache(true)
// WebView.setWebContentsDebuggingEnabled(true);
// Welcome page or actual app
nativex.account.refreshCredentials()
val isApp = loadDefaultUrl()
// Start version check if loaded account
if (isApp) {
// Do not use the threadPool here since this might block indefinitely
Thread { nativex.account.checkCredentialsAndVersion() }.start()
}
}
fun loadDefaultUrl(): Boolean {
// Load app interface if authenticated
host = nativex.http.loadWebView(binding.webview)
if (host != null) return true
// Load welcome page
binding.webview.loadUrl("file:///android_asset/welcome.html");
return false
}
fun initializePlayer(uris: Array<Uri>, uid: Long) {
if (player != null) {
if (playerUid == uid) return
player?.release()
player = null
}
// Prevent re-creating
playerUris = uris
playerUid = uid
// Build exoplayer
player = ExoPlayer.Builder(this)
.build()
.also { exoPlayer ->
// Bind to player view
binding.videoView.player = exoPlayer
binding.videoView.visibility = View.VISIBLE
binding.videoView.setShowNextButton(false)
binding.videoView.setShowPreviousButton(false)
for (uri in uris) {
// Create media item from URI
val mediaItem = MediaItem.fromUri(uri)
// Check if remote or local URI
if (uri.toString().contains("http")) {
// Add cookies from webview to data source
val cookies = CookieManager.getInstance().getCookie(uri.toString())
val httpDataSourceFactory =
DefaultHttpDataSource.Factory()
.setDefaultRequestProperties(mapOf("cookie" to cookies))
.setAllowCrossProtocolRedirects(true)
val dataSourceFactory =
DefaultDataSource.Factory(this, httpDataSourceFactory)
// Check if HLS source from URI (contains .m3u8 anywhere)
exoPlayer.addMediaSource(
if (uri.toString().contains(".m3u8")) {
HlsMediaSource.Factory(dataSourceFactory)
.createMediaSource(mediaItem)
} else {
ProgressiveMediaSource.Factory(dataSourceFactory)
.createMediaSource(mediaItem)
}
)
} else {
exoPlayer.setMediaItems(listOf(mediaItem), mediaItemIndex, playbackPosition)
}
}
// Catch errors and fall back to other sources
exoPlayer.addListener(object : Player.Listener {
override fun onPlayerError(error: PlaybackException) {
exoPlayer.seekToNext()
exoPlayer.playWhenReady = true
exoPlayer.play()
}
})
// Start the player
exoPlayer.playWhenReady = playWhenReady
exoPlayer.prepare()
}
}
fun destroyPlayer(uid: Long) {
if (playerUid == uid) {
releasePlayer()
// Reset vars
playWhenReady = true
mediaItemIndex = 0
playbackPosition = 0L
playerUris = null
playerUid = null
}
}
private fun releasePlayer() {
player?.let { exoPlayer ->
playbackPosition = exoPlayer.currentPosition
mediaItemIndex = exoPlayer.currentMediaItemIndex
playWhenReady = exoPlayer.playWhenReady
exoPlayer.release()
}
player = null
binding.videoView.visibility = View.GONE
}
/**
* Make the app fullscreen.
*/
private fun setFullscreen(value: Boolean) {
if (value) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
window.attributes.layoutInDisplayCutoutMode =
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
window.insetsController?.apply {
hide(WindowInsets.Type.statusBars())
systemBarsBehavior = WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
}
} else {
@Suppress("Deprecation")
window.decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_FULLSCREEN
or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
or View.SYSTEM_UI_FLAG_IMMERSIVE
or View.SYSTEM_UI_FLAG_LAYOUT_STABLE
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION)
}
} else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
window.attributes.layoutInDisplayCutoutMode =
WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
window.insetsController?.apply {
show(WindowInsets.Type.statusBars())
}
} else {
@Suppress("Deprecation")
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_VISIBLE
}
}
}
/**
* Store a given theme for restoreTheme.
*/
fun storeTheme(color: String?, isDark: Boolean) {
if (color == null) return
getSharedPreferences(getString(R.string.preferences_key), 0).edit()
.putString(getString(R.string.preferences_theme_color), color)
.putBoolean(getString(R.string.preferences_theme_dark), isDark)
.apply()
}
/**
* Restore the last known theme color.
*/
fun restoreTheme() {
val preferences = getSharedPreferences(getString(R.string.preferences_key), 0)
val color = preferences.getString(getString(R.string.preferences_theme_color), null)
val isDark = preferences.getBoolean(getString(R.string.preferences_theme_dark), false)
applyTheme(color, isDark)
}
/**
* Apply a color theme.
*/
fun applyTheme(color: String?, isDark: Boolean) {
if (color == null) return
// Set system bars
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val appearance =
WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS or WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS
window.insetsController?.setSystemBarsAppearance(
if (isDark) 0 else appearance,
appearance
)
} else {
window.decorView.systemUiVisibility =
if (isDark) 0 else View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR or View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR
}
// Set colors
try {
val parsed = Color.parseColor(color.trim())
window.navigationBarColor = parsed
window.statusBarColor = parsed
} catch (e: Exception) {
Log.w(TAG, "Invalid color: $color")
return
}
}
/**
* Do a soft refresh on the open timeline
*/
fun refreshTimeline(force: Boolean = false) {
runOnUiThread {
// Check webview is loaded
if (binding.webview.url == null) return@runOnUiThread
// Schedule for resume if not active
if (lifecycle.currentState.isAtLeast(Lifecycle.State.RESUMED) || force) {
mNeedRefresh = false
busEmit("nativex:db:updated")
busEmit("memories:timeline:soft-refresh")
} else {
mNeedRefresh = true
}
}
}
/**
* Emit an event to the nextcloud event bus
*/
fun busEmit(event: String, data: String = "null") {
runOnUiThread {
if (binding.webview.url == null) return@runOnUiThread
binding.webview.evaluateJavascript(
"window._nc_event_bus?.emit('$event', $data)",
null
)
}
}
}

View File

@ -0,0 +1,311 @@
package gallery.memories
import android.net.Uri
import android.util.Log
import android.view.SoundEffectConstants
import android.webkit.JavascriptInterface
import android.webkit.WebResourceRequest
import android.webkit.WebResourceResponse
import android.widget.Toast
import androidx.media3.common.util.UnstableApi
import gallery.memories.service.AccountService
import gallery.memories.service.DownloadService
import gallery.memories.service.HttpService
import gallery.memories.service.ImageService
import gallery.memories.service.PermissionsService
import gallery.memories.service.TimelineQuery
import org.json.JSONArray
import java.io.ByteArrayInputStream
import java.net.URLDecoder
@UnstableApi
class NativeX(private val mCtx: MainActivity) {
val TAG = NativeX::class.java.simpleName
private var themeStored = false
val query = TimelineQuery(mCtx)
val image = ImageService(mCtx, query)
val http = HttpService()
val account = AccountService(mCtx, http)
val permissions = PermissionsService(mCtx).register()
init {
dlService = DownloadService(mCtx, query)
}
companion object {
var dlService: DownloadService? = null
}
fun destroy() {
dlService = null
query.destroy()
}
object API {
val LOGIN = Regex("^/api/login/.+$")
val DAYS = Regex("^/api/days$")
val DAY = Regex("^/api/days/\\d+$")
val IMAGE_INFO = Regex("^/api/image/info/\\d+$")
val IMAGE_DELETE = Regex("^/api/image/delete/[0-9a-f]+(,[0-9a-f]+)*$")
val IMAGE_PREVIEW = Regex("^/image/preview/\\d+$")
val IMAGE_FULL = Regex("^/image/full/[0-9a-f]+$")
val SHARE_URL = Regex("^/api/share/url/.+$")
val SHARE_BLOB = Regex("^/api/share/blobs$")
val CONFIG_ALLOW_MEDIA = Regex("^/api/config/allow_media/\\d+$")
}
@JavascriptInterface
fun isNative(): Boolean {
return true
}
@JavascriptInterface
fun setThemeColor(color: String?, isDark: Boolean) {
// Save for getting it back on next start
if (!themeStored && http.isLoggedIn()) {
themeStored = true
mCtx.storeTheme(color, isDark);
}
// Apply the theme
mCtx.runOnUiThread {
mCtx.applyTheme(color, isDark)
}
}
@JavascriptInterface
fun playTouchSound() {
mCtx.runOnUiThread {
mCtx.binding.webview.playSoundEffect(SoundEffectConstants.CLICK)
}
}
@JavascriptInterface
fun toast(message: String, long: Boolean = false) {
mCtx.runOnUiThread {
val duration = if (long) Toast.LENGTH_LONG else Toast.LENGTH_SHORT
Toast.makeText(mCtx, message, duration).show()
}
}
@JavascriptInterface
fun logout() {
account.loggedOut()
}
@JavascriptInterface
fun reload() {
mCtx.runOnUiThread {
mCtx.loadDefaultUrl()
}
}
@JavascriptInterface
fun downloadFromUrl(url: String?, filename: String?) {
if (url == null || filename == null) return;
dlService!!.queue(url, filename)
}
@JavascriptInterface
fun setShareBlobs(objects: String?) {
if (objects == null) return;
dlService!!.setShareBlobs(JSONArray(objects))
}
@JavascriptInterface
fun playVideo(auid: String, fileid: Long, urlsArray: String) {
mCtx.threadPool.submit {
// Get URI of remote videos
val urls = JSONArray(urlsArray)
val list = Array(urls.length()) {
Uri.parse(urls.getString(it))
}
// Get URI of local video
val videos = query.getSystemImagesByAUIDs(arrayListOf(auid))
// Play with exoplayer
mCtx.runOnUiThread {
if (!videos.isEmpty()) {
mCtx.initializePlayer(arrayOf(videos[0].uri), fileid)
} else {
mCtx.initializePlayer(list, fileid)
}
}
}
}
@JavascriptInterface
fun destroyVideo(fileid: Long) {
mCtx.runOnUiThread {
mCtx.destroyPlayer(fileid)
}
}
@JavascriptInterface
fun configSetLocalFolders(json: String?) {
if (json == null) return;
query.localFolders = JSONArray(json)
}
@JavascriptInterface
fun configGetLocalFolders(): String {
return query.localFolders.toString()
}
@JavascriptInterface
fun configHasMediaPermission(): Boolean {
return permissions.hasAllowMedia() && permissions.hasMediaPermission()
}
@JavascriptInterface
fun getSyncStatus(): Int {
return query.syncStatus
}
@JavascriptInterface
fun setHasRemote(auids: String, buids: String, value: Boolean) {
Log.v(TAG, "setHasRemote: auids=$auids, buids=$buids, value=$value")
mCtx.threadPool.submit {
val auidArray = JSONArray(auids)
val buidArray = JSONArray(buids)
query.setHasRemote(
List(auidArray.length()) { auidArray.getString(it) },
List(buidArray.length()) { buidArray.getString(it) },
value
)
}
}
fun handleRequest(request: WebResourceRequest): WebResourceResponse {
val path = request.url.path ?: return makeErrorResponse()
val response = try {
when (request.method) {
"GET" -> {
routerGet(request)
}
"OPTIONS" -> {
WebResourceResponse(
"text/plain",
"UTF-8",
ByteArrayInputStream("".toByteArray())
)
}
else -> {
throw Exception("Method Not Allowed")
}
}
} catch (e: Exception) {
Log.w(TAG, "handleRequest: " + e.message)
makeErrorResponse()
}
// Allow CORS from all origins
response.responseHeaders = mutableMapOf(
"Access-Control-Allow-Origin" to "*",
"Access-Control-Allow-Headers" to "*"
)
// Cache image responses for 7 days
if (path.matches(API.IMAGE_PREVIEW) || path.matches(API.IMAGE_FULL)) {
response.responseHeaders["Cache-Control"] = "max-age=604800"
}
return response
}
@Throws(Exception::class)
private fun routerGet(request: WebResourceRequest): WebResourceResponse {
val path = request.url.path ?: return makeErrorResponse()
val parts = path.split("/").toTypedArray()
return if (path.matches(API.LOGIN)) {
makeResponse(
account.login(
URLDecoder.decode(parts[3], "UTF-8"),
request.url.getBooleanQueryParameter("trustAll", false)
)
)
} else if (path.matches(API.DAYS)) {
makeResponse(query.getDays())
} else if (path.matches(API.DAY)) {
makeResponse(query.getDay(parts[3].toLong()))
} else if (path.matches(API.IMAGE_INFO)) {
makeResponse(query.getImageInfo(parts[4].toLong()))
} else if (path.matches(API.IMAGE_DELETE)) {
makeResponse(
query.delete(
parseIds(parts[4]),
request.url.getBooleanQueryParameter("dry", false)
)
)
} else if (path.matches(API.IMAGE_PREVIEW)) {
makeResponse(image.getPreview(parts[3].toLong()), "image/jpeg")
} else if (path.matches(API.IMAGE_FULL)) {
makeResponse(image.getFull(parts[3]), "image/jpeg")
} else if (path.matches(API.SHARE_URL)) {
makeResponse(dlService!!.shareUrl(URLDecoder.decode(parts[4], "UTF-8")))
} else if (path.matches(API.SHARE_BLOB)) {
makeResponse(dlService!!.shareBlobs())
} else if (path.matches(API.CONFIG_ALLOW_MEDIA)) {
permissions.setAllowMedia(true)
if (permissions.requestMediaPermissionSync()) {
doMediaSync(true) // separate thread
}
makeResponse("done")
} else {
throw Exception("Path did not match any known API route: $path")
}
}
private fun makeResponse(bytes: ByteArray?, mimeType: String?): WebResourceResponse {
return if (bytes != null) {
WebResourceResponse(mimeType, "UTF-8", ByteArrayInputStream(bytes))
} else makeErrorResponse()
}
private fun makeResponse(json: Any): WebResourceResponse {
return makeResponse(json.toString().toByteArray(), "application/json")
}
private fun makeErrorResponse(): WebResourceResponse {
val response = WebResourceResponse(
"application/json",
"UTF-8",
ByteArrayInputStream("{}".toByteArray())
)
response.setStatusCodeAndReasonPhrase(500, "Internal Server Error")
return response
}
private fun parseIds(ids: String): List<String> {
return ids.trim().split(",")
}
fun doMediaSync(forceFull: Boolean) {
if (permissions.hasAllowMedia()) {
// Full sync if this is the first time permission was granted
val fullSync = forceFull || !permissions.hasMediaPermission()
mCtx.threadPool.submit {
// Block for media permission
if (!permissions.requestMediaPermissionSync()) return@submit
// Full sync requested
if (fullSync) query.syncFullDb()
// Run delta sync and register hooks
query.initialize()
}
}
}
}

View File

@ -0,0 +1,49 @@
package gallery.memories.dao
import android.content.Context
import androidx.room.Database
import androidx.room.Room.databaseBuilder
import androidx.room.RoomDatabase
import androidx.sqlite.db.SupportSQLiteDatabase
import gallery.memories.R
import gallery.memories.mapper.Photo
@Database(entities = [Photo::class], version = 34)
abstract class AppDatabase : RoomDatabase() {
abstract fun photoDao(): PhotoDao
companion object {
private val DATABASE_NAME = "memories_room"
@Volatile
private var INSTANCE: AppDatabase? = null
fun get(context: Context): AppDatabase {
if (INSTANCE == null) {
synchronized(AppDatabase::class.java) {
val ctx = context.applicationContext
if (INSTANCE == null) {
INSTANCE = databaseBuilder(ctx, AppDatabase::class.java, DATABASE_NAME)
.fallbackToDestructiveMigration()
.addCallback(callbacks(ctx))
.build()
}
}
}
return INSTANCE!!
}
private fun callbacks(ctx: Context): Callback {
return object : Callback() {
override fun onDestructiveMigration(db: SupportSQLiteDatabase) {
super.onDestructiveMigration(db)
// retrigger synchronization whenever database is destructed
ctx.getSharedPreferences(ctx.getString(R.string.preferences_key), 0).edit()
.remove(ctx.getString(R.string.preferences_last_sync_time))
.apply()
}
}
}
}
}

View File

@ -0,0 +1,47 @@
package gallery.memories.dao
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.Query
import gallery.memories.mapper.Bucket
import gallery.memories.mapper.Day
import gallery.memories.mapper.Photo
@Dao
interface PhotoDao {
@Query("SELECT 1")
fun ping(): Int
@Query("SELECT dayid, COUNT(local_id) AS count FROM photos WHERE bucket_id IN (:bucketIds) AND has_remote = 0 GROUP BY dayid ORDER BY dayid DESC")
fun getDays(bucketIds: List<String>): List<Day>
@Query("SELECT * FROM photos WHERE dayid=:dayId AND bucket_id IN (:buckets) AND has_remote = 0 ORDER BY date_taken DESC")
fun getPhotosByDay(dayId: Long, buckets: List<String>): List<Photo>
@Query("DELETE FROM photos WHERE local_id IN (:fileIds)")
fun deleteFileIds(fileIds: List<Long>)
@Query("SELECT * FROM photos WHERE local_id IN (:fileIds)")
fun getPhotosByFileIds(fileIds: List<Long>): List<Photo>
@Query("SELECT * FROM photos WHERE auid IN (:auids)")
fun getPhotosByAUIDs(auids: List<String>): List<Photo>
@Query("UPDATE photos SET flag=1")
fun flagAll()
@Query("UPDATE photos SET flag=0 WHERE local_id=:fileId")
fun unflag(fileId: Long)
@Query("DELETE FROM photos WHERE flag=1")
fun deleteFlagged()
@Insert
fun insert(vararg photos: Photo)
@Query("SELECT bucket_id, bucket_name FROM photos GROUP BY bucket_id")
fun getBuckets(): List<Bucket>
@Query("UPDATE photos SET has_remote=:v WHERE auid IN (:auids) OR buid IN (:buids)")
fun setHasRemote(auids: List<String>, buids: List<String>, v: Boolean)
}

View File

@ -0,0 +1,8 @@
package gallery.memories.mapper
import androidx.room.ColumnInfo
data class Bucket(
@ColumnInfo(name = "bucket_id") val id: String,
@ColumnInfo(name = "bucket_name") val name: String,
)

View File

@ -0,0 +1,8 @@
package gallery.memories.mapper
import androidx.room.ColumnInfo
data class Day(
@ColumnInfo(name = "dayid") val dayId: Long,
@ColumnInfo(name = "count") val count: Long
)

View File

@ -0,0 +1,59 @@
package gallery.memories.mapper
import androidx.exifinterface.media.ExifInterface
class Fields {
object Day {
const val DAYID = Photo.DAYID
const val COUNT = "count"
}
object Photo {
const val FILEID = "fileid"
const val BASENAME = "basename"
const val MIMETYPE = "mimetype"
const val HEIGHT = "h"
const val WIDTH = "w"
const val SIZE = "size"
const val ETAG = "etag"
const val DATETAKEN = "datetaken"
const val EPOCH = "epoch"
const val AUID = "auid"
const val BUID = "buid"
const val DAYID = "dayid"
const val ISVIDEO = "isvideo"
const val VIDEO_DURATION = "video_duration"
const val EXIF = "exif"
const val PERMISSIONS = "permissions"
}
object Perm {
const val DELETE = "D"
}
object EXIF {
val MAP = mapOf(
ExifInterface.TAG_APERTURE_VALUE to "Aperture",
ExifInterface.TAG_FOCAL_LENGTH to "FocalLength",
ExifInterface.TAG_F_NUMBER to "FNumber",
ExifInterface.TAG_SHUTTER_SPEED_VALUE to "ShutterSpeed",
ExifInterface.TAG_EXPOSURE_TIME to "ExposureTime",
ExifInterface.TAG_ISO_SPEED to "ISO",
ExifInterface.TAG_DATETIME_ORIGINAL to "DateTimeOriginal",
ExifInterface.TAG_OFFSET_TIME_ORIGINAL to "OffsetTimeOriginal",
ExifInterface.TAG_GPS_LATITUDE to "GPSLatitude",
ExifInterface.TAG_GPS_LONGITUDE to "GPSLongitude",
ExifInterface.TAG_GPS_ALTITUDE to "GPSAltitude",
ExifInterface.TAG_MAKE to "Make",
ExifInterface.TAG_MODEL to "Model",
ExifInterface.TAG_ORIENTATION to "Orientation",
ExifInterface.TAG_IMAGE_DESCRIPTION to "Description"
)
}
object Bucket {
const val ID = "id"
const val NAME = "name"
const val ENABLED = "enabled"
}
}

View File

@ -0,0 +1,32 @@
package gallery.memories.mapper
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.Index
import androidx.room.PrimaryKey
@Entity(
tableName = "photos", indices = [
Index(value = ["local_id"]),
Index(value = ["auid"]),
Index(value = ["buid"]),
Index(value = ["dayid"]),
Index(value = ["flag"]),
Index(value = ["bucket_id"]),
Index(value = ["bucket_id", "dayid", "has_remote"])
]
)
data class Photo(
@PrimaryKey(autoGenerate = true) val id: Int? = null,
@ColumnInfo(name = "local_id") val localId: Long,
@ColumnInfo(name = "auid") val auid: String,
@ColumnInfo(name = "buid") val buid: String,
@ColumnInfo(name = "mtime") val mtime: Long,
@ColumnInfo(name = "date_taken") val dateTaken: Long,
@ColumnInfo(name = "dayid") val dayId: Long,
@ColumnInfo(name = "basename") val baseName: String,
@ColumnInfo(name = "bucket_id") val bucketId: Long,
@ColumnInfo(name = "bucket_name") val bucketName: String,
@ColumnInfo(name = "has_remote") val hasRemote: Boolean,
@ColumnInfo(name = "flag") val flag: Int
)

View File

@ -0,0 +1,12 @@
package gallery.memories.mapper
import org.json.JSONObject
class Response {
companion object {
val OK
get(): JSONObject {
return JSONObject().put("message", "ok")
}
}
}

View File

@ -0,0 +1,262 @@
package gallery.memories.mapper
import android.content.ContentUris
import android.content.Context
import android.icu.text.SimpleDateFormat
import android.icu.util.TimeZone
import android.net.Uri
import android.provider.MediaStore
import android.util.Log
import androidx.exifinterface.media.ExifInterface
import org.json.JSONObject
import java.io.IOException
import java.math.BigInteger
import java.security.MessageDigest
class SystemImage {
var fileId = 0L
var baseName = ""
var mimeType = ""
var dateTaken = 0L
var height = 0L
var width = 0L
var size = 0L
var mtime = 0L
var dataPath = ""
var bucketId = 0L
var bucketName = ""
var isVideo = false
var videoDuration = 0L
val uri: Uri
get() {
return ContentUris.withAppendedId(mCollection, fileId)
}
private var mCollection: Uri = IMAGE_URI
companion object {
val TAG = SystemImage::class.java.simpleName
val IMAGE_URI = MediaStore.Images.Media.EXTERNAL_CONTENT_URI
val VIDEO_URI = MediaStore.Video.Media.EXTERNAL_CONTENT_URI
/**
* Iterate over all images/videos in the given collection
* @param ctx Context - application context
* @param collection Uri - either IMAGE_URI or VIDEO_URI
* @param selection String? - selection string
* @param selectionArgs Array<String>? - selection arguments
* @param sortOrder String? - sort order
* @return Sequence<SystemImage>
*/
fun cursor(
ctx: Context,
collection: Uri,
selection: String?,
selectionArgs: Array<String>?,
sortOrder: String?
) = sequence {
// Base fields common for videos and images
val projection = arrayListOf(
MediaStore.Images.Media._ID,
MediaStore.Images.Media.DISPLAY_NAME,
MediaStore.Images.Media.MIME_TYPE,
MediaStore.Images.Media.HEIGHT,
MediaStore.Images.Media.WIDTH,
MediaStore.Images.Media.SIZE,
MediaStore.Images.Media.ORIENTATION,
MediaStore.Images.Media.DATE_TAKEN,
MediaStore.Images.Media.DATE_MODIFIED,
MediaStore.Images.Media.DATA,
MediaStore.Images.Media.BUCKET_ID,
MediaStore.Images.Media.BUCKET_DISPLAY_NAME,
)
// Add video-specific fields
if (collection == VIDEO_URI) {
projection.add(MediaStore.Video.Media.DURATION)
}
// Get column indices
val idColumn = projection.indexOf(MediaStore.Images.Media._ID)
val nameColumn = projection.indexOf(MediaStore.Images.Media.DISPLAY_NAME)
val mimeColumn = projection.indexOf(MediaStore.Images.Media.MIME_TYPE)
val heightColumn = projection.indexOf(MediaStore.Images.Media.HEIGHT)
val widthColumn = projection.indexOf(MediaStore.Images.Media.WIDTH)
val sizeColumn = projection.indexOf(MediaStore.Images.Media.SIZE)
val orientationColumn = projection.indexOf(MediaStore.Images.Media.ORIENTATION)
val dateTakenColumn = projection.indexOf(MediaStore.Images.Media.DATE_TAKEN)
val dateModifiedColumn = projection.indexOf(MediaStore.Images.Media.DATE_MODIFIED)
val dataColumn = projection.indexOf(MediaStore.Images.Media.DATA)
val bucketIdColumn = projection.indexOf(MediaStore.Images.Media.BUCKET_ID)
val bucketNameColumn = projection.indexOf(MediaStore.Images.Media.BUCKET_DISPLAY_NAME)
// Query content resolver
ctx.contentResolver.query(
collection,
projection.toTypedArray(),
selection,
selectionArgs,
sortOrder
).use { cursor ->
while (cursor!!.moveToNext()) {
val image = SystemImage()
// Common fields
image.fileId = cursor.getLong(idColumn)
image.baseName = cursor.getString(nameColumn)
image.mimeType = cursor.getString(mimeColumn)
image.height = cursor.getLong(heightColumn)
image.width = cursor.getLong(widthColumn)
image.size = cursor.getLong(sizeColumn)
image.dateTaken = cursor.getLong(dateTakenColumn)
image.mtime = cursor.getLong(dateModifiedColumn)
image.dataPath = cursor.getString(dataColumn)
image.bucketId = cursor.getLong(bucketIdColumn)
image.bucketName = cursor.getString(bucketNameColumn)
image.mCollection = collection
// Swap width/height if orientation is 90 or 270
val orientation = cursor.getInt(orientationColumn)
if (orientation == 90 || orientation == 270) {
image.width = image.height.also { image.height = image.width }
}
// Video specific fields
image.isVideo = collection == VIDEO_URI
if (image.isVideo) {
val durationColumn = projection.indexOf(MediaStore.Video.Media.DURATION)
image.videoDuration = cursor.getLong(durationColumn)
}
// Add to main list
yield(image)
}
}
}
/**
* Get image or video by a list of IDs
* @param ctx Context - application context
* @param ids List<Long> - list of IDs
* @return List<SystemImage>
*/
fun getByIds(ctx: Context, ids: List<Long>): List<SystemImage> {
val selection = MediaStore.Images.Media._ID + " IN (" + ids.joinToString(",") + ")"
val images = cursor(ctx, IMAGE_URI, selection, null, null).toList()
if (images.size == ids.size) return images
return images + cursor(ctx, VIDEO_URI, selection, null, null).toList()
}
}
/**
* JSON representation of the SystemImage.
* This corresponds to IPhoto on the frontend.
*/
val json
get(): JSONObject {
val obj = JSONObject()
.put(Fields.Photo.FILEID, fileId)
.put(Fields.Photo.BASENAME, baseName)
.put(Fields.Photo.MIMETYPE, mimeType)
.put(Fields.Photo.HEIGHT, height)
.put(Fields.Photo.WIDTH, width)
.put(Fields.Photo.SIZE, size)
.put(Fields.Photo.ETAG, mtime.toString())
.put(Fields.Photo.EPOCH, epoch)
if (isVideo) {
obj.put(Fields.Photo.ISVIDEO, 1)
.put(Fields.Photo.VIDEO_DURATION, videoDuration / 1000)
}
return obj
}
/** The epoch timestamp of the image. */
val epoch
get(): Long {
return dateTaken / 1000
}
val exifInterface
get() : ExifInterface? {
if (isVideo) return null
try {
return ExifInterface(dataPath)
} catch (e: Exception) {
Log.w(TAG, "Failed to read EXIF data: " + e.message)
return null
}
}
/** The UTC dateTaken timestamp of the image. */
fun utcDate(exif: ExifInterface?): Long {
// Get EXIF date using ExifInterface if image
if (exif != null) {
try {
val exifDate = exif.getAttribute(ExifInterface.TAG_DATETIME)
?: throw IOException()
val sdf = SimpleDateFormat("yyyy:MM:dd HH:mm:ss")
sdf.timeZone = TimeZone.GMT_ZONE
sdf.parse(exifDate).let {
return it.time / 1000
}
} catch (e: Exception) {
Log.w(TAG, "Failed to read EXIF datetime: " + e.message)
}
}
// No way to get the actual local date, so just assume current timezone
return (dateTaken + TimeZone.getDefault().getOffset(dateTaken).toLong()) / 1000
}
fun auid(): String {
return md5("$epoch$size")
}
fun buid(exif: ExifInterface?): String {
var sfx = "size=$size"
if (exif != null) {
try {
val iuid = exif.getAttribute(ExifInterface.TAG_IMAGE_UNIQUE_ID)
?: throw IOException()
sfx = "iuid=$iuid"
} catch (e: Exception) {
Log.w(TAG, "Failed to read EXIF unique ID ($baseName): " + e.message)
}
}
return md5("$baseName$sfx");
}
/**
* The database Photo object corresponding to the SystemImage.
* This should ONLY be used for insertion into the database.
*/
val photo
get(): Photo {
val exif = exifInterface
val dateCache = utcDate(exif)
return Photo(
localId = fileId,
auid = auid(),
buid = buid(exif),
mtime = mtime,
dateTaken = dateCache,
dayId = dateCache / 86400,
baseName = baseName,
bucketId = bucketId,
bucketName = bucketName,
flag = 0,
hasRemote = false
)
}
private fun md5(input: String): String {
val md = MessageDigest.getInstance("MD5")
return BigInteger(1, md.digest(input.toByteArray())).toString(16).padStart(32, '0')
}
}

View File

@ -0,0 +1,224 @@
package gallery.memories.service
import SecureStorage
import android.content.Intent
import android.net.Uri
import android.util.Log
import android.widget.Toast
import androidx.media3.common.util.UnstableApi
import gallery.memories.MainActivity
import gallery.memories.R
import io.github.g00fy2.versioncompare.Version
@UnstableApi
class AccountService(private val mCtx: MainActivity, private val mHttp: HttpService) {
companion object {
val TAG = AccountService::class.java.simpleName
}
private val store = SecureStorage(mCtx)
/**
* Make the first request to log in
* @param url The URL of the Nextcloud server
* @param trustAll Whether to trust all certificates
*/
fun login(url: String, trustAll: Boolean) {
try {
mHttp.build(url, trustAll)
val res = mHttp.getApiDescription()
if (res.code != 200) {
throw Exception("${url}api/describe (status ${res.code})")
}
val body = mHttp.bodyJson(res) ?: throw Exception("Failed to parse API description")
val baseUrl = body.getString("baseUrl")
val loginFlowUrl = body.getString("loginFlowUrl")
loginFlow(baseUrl, loginFlowUrl)
} catch (e: Exception) {
toast("Error: ${e.message}")
throw Exception("Failed to connect to server: ${e.message}")
}
}
/**
* Login to a server
* @param baseUrl The base URL of the server
* @param loginFlowUrl The login flow URL
* @throws Exception If the login flow failed
*/
fun loginFlow(baseUrl: String, loginFlowUrl: String) {
val res = mHttp.postLoginFlow(loginFlowUrl)
// Check if 200 was received
if (res.code != 200) {
throw Exception("Login flow returned a ${res.code} status code. Check your reverse proxy configuration and overwriteprotocol is correct.")
}
// Get body as JSON
val body = mHttp.bodyJson(res) ?: throw Exception("Failed to parse login flow response")
// Parse response body as JSON
val pollObj = body.getJSONObject("poll")
val pollToken = pollObj.getString("token")
val pollUrl = pollObj.getString("endpoint")
val loginUrl = body.getString("login")
// Open login page in browser
mCtx.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(loginUrl)))
// Start polling in background
Thread { pollLogin(pollUrl, pollToken, baseUrl) }.start()
}
/**
* Poll the login flow URL until we get a login token
* @param pollUrl The login flow URL
* @param pollToken The login token
* @param baseUrl The base URL of the server
*/
private fun pollLogin(pollUrl: String, pollToken: String, baseUrl: String) {
mCtx.binding.webview.post {
mCtx.binding.webview.loadUrl("file:///android_asset/waiting.html")
}
var pollCount = 0
while (pollCount < 10 * 60) {
pollCount += 3
// Sleep for 3s
Thread.sleep(3000)
try {
val response = mHttp.getPollLogin(pollUrl, pollToken)
val body = mHttp.bodyJson(response) ?: throw Exception("Failed to parse login flow response")
Log.v(TAG, "pollLogin: Got status code ${response.code}")
// Check status code
if (response.code != 200) {
throw Exception("Failed to poll login flow")
}
val loginName = body.getString("loginName")
val appPassword = body.getString("appPassword")
toast("Logged in, waiting for next page ...")
mCtx.runOnUiThread {
// Save login info (also updates header)
storeCredentials(baseUrl, loginName, appPassword)
// Go to next screen
mHttp.loadWebView(mCtx.binding.webview, "nxsetup")
}
return
} catch (e: Exception) {
continue
}
}
}
/**
* Check if the credentials are valid and the server version is supported
* Makes a toast to the user if something is wrong
*/
fun checkCredentialsAndVersion() {
if (!mHttp.isLoggedIn()) return
try {
val response = mHttp.getApiDescription()
val body = mHttp.bodyJson(response)
// Check status code
if (response.code == 401) {
return loggedOut()
}
// Could not connect to memories
if (response.code == 404) {
return toast(mCtx.getString(R.string.err_no_ver))
}
// Check body
if (body == null || response.code != 200) {
toast(mCtx.getString(R.string.err_no_describe))
return
}
// Get body values
val uid = body.get("uid")
val version = body.getString("version")
// Check UID exists
if (uid.equals(null)) {
return loggedOut()
}
// Check minimum version
if (Version(version) < Version(mCtx.getString(R.string.min_server_version))) {
return toast(mCtx.getString(R.string.err_no_ver))
}
} catch (e: Exception) {
Log.w(TAG, "checkCredentialsAndVersion: ", e)
return
}
}
/**
* Handle a logout. Delete the stored credentials and go back to the login screen.
*/
fun loggedOut() {
toast(mCtx.getString(R.string.err_logged_out))
deleteCredentials()
mCtx.runOnUiThread {
mCtx.loadDefaultUrl()
}
}
/**
* Store the credentials
* @param url The URL to store
* @param user The username to store
* @param password The password to store
*/
fun storeCredentials(url: String, user: String, password: String) {
store.saveCredentials(Credential(
url = url,
trustAll = mHttp.isTrustingAllCertificates,
username = user,
token = password,
))
refreshCredentials()
}
/**
* Delete the stored credentials
*/
fun deleteCredentials() {
store.deleteCredentials()
mHttp.setAuthHeader(null)
mHttp.build(null, false)
}
/**
* Refresh the authorization header
*/
fun refreshCredentials() {
val cred = store.getCredentials() ?: return
mHttp.build(cred.url, cred.trustAll)
mHttp.setAuthHeader(Pair(cred.username, cred.token))
}
/**
* Show a toast on the UI thread
* @param message The message to show
*/
private fun toast(message: String) {
mCtx.runOnUiThread {
Toast.makeText(mCtx, message, Toast.LENGTH_LONG).show()
}
}
}

View File

@ -0,0 +1,33 @@
package gallery.memories.service
import android.content.Context
import gallery.memories.R
class ConfigService(private val mCtx: Context) {
companion object {
private var mEnabledBuckets: List<String>? = null
}
/**
* Get the list of enabled local folders
* @return The list of enabled local folders
*/
var enabledBucketIds: List<String>
get() {
if (mEnabledBuckets != null) return mEnabledBuckets!!
mEnabledBuckets = mCtx.getSharedPreferences(mCtx.getString(R.string.preferences_key), 0)
.getStringSet(mCtx.getString(R.string.preferences_enabled_local_folders), null)
?.toList()
?: listOf()
return mEnabledBuckets!!
}
set(value) {
mEnabledBuckets = value
mCtx.getSharedPreferences(mCtx.getString(R.string.preferences_key), 0).edit()
.putStringSet(
mCtx.getString(R.string.preferences_enabled_local_folders),
value.toSet()
)
.apply()
}
}

View File

@ -0,0 +1,8 @@
package gallery.memories.service
data class Credential(
var url: String,
var trustAll: Boolean,
var username: String,
var token: String,
)

View File

@ -0,0 +1,16 @@
package gallery.memories.service
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import androidx.media3.common.util.UnstableApi
import gallery.memories.NativeX
@UnstableApi class DownloadBroadcastReceiver : BroadcastReceiver() {
/**
* Callback when download is complete
*/
override fun onReceive(context: Context, intent: Intent) {
NativeX.dlService?.runDownloadCallback(intent)
}
}

View File

@ -0,0 +1,161 @@
package gallery.memories.service
import android.app.DownloadManager
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Environment
import android.webkit.CookieManager
import androidx.appcompat.app.AppCompatActivity
import androidx.collection.ArrayMap
import androidx.media3.common.util.UnstableApi
import org.json.JSONArray
import java.util.concurrent.CountDownLatch
@UnstableApi class DownloadService(private val mActivity: AppCompatActivity, private val query: TimelineQuery) {
private val mDownloads: MutableMap<Long, () -> Unit> = ArrayMap()
private var mShareBlobs: JSONArray? = null
/**
* Callback when download is complete
* @param intent The intent that triggered the callback
*/
fun runDownloadCallback(intent: Intent) {
if (mActivity.isDestroyed) return
if (DownloadManager.ACTION_DOWNLOAD_COMPLETE == intent.action) {
val id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0)
synchronized(mDownloads) {
mDownloads[id]?.let {
it()
mDownloads.remove(id)
return
}
}
}
}
/**
* Queue a download
* @param url The URL to download
* @param filename The filename to save the download as
* @return The download ID
*/
fun queue(url: String, filename: String): Long {
val uri = Uri.parse(url)
val manager = mActivity.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
val request = DownloadManager.Request(uri)
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE)
// Copy all cookies from the webview to the download request
val cookies = CookieManager.getInstance().getCookie(url)
request.addRequestHeader("cookie", cookies)
if (filename != "") {
// Save the file to external storage
request.setDestinationInExternalPublicDir(
Environment.DIRECTORY_DOWNLOADS,
"memories/$filename"
)
}
// Start the download
return manager.enqueue(request)
}
/**
* Share a URL as a string
* @param url The URL to share
* @return True if the URL was shared
*/
fun shareUrl(url: String): Boolean {
val intent = Intent(Intent.ACTION_SEND)
intent.type = "text/plain"
intent.putExtra(Intent.EXTRA_TEXT, url)
mActivity.startActivity(Intent.createChooser(intent, null))
return true
}
/**
* Share the blobs from URLs already set by setShareBlobs
* @return True if the URL was shared
*/
@Throws(Exception::class)
fun shareBlobs(): Boolean {
if (mShareBlobs == null) throw Exception("No blobs to share")
// All URIs to share including remote and local files
val uris = ArrayList<Uri>()
val dlIds = ArrayList<Long>()
// Process all objects to share
for (i in 0 until mShareBlobs!!.length()) {
val obj = mShareBlobs!!.getJSONObject(i)
// If AUID is found, then look for local file
val auid = obj.getString("auid")
if (auid != "") {
val sysImgs = query.getSystemImagesByAUIDs(listOf(auid))
if (sysImgs.isNotEmpty()) {
uris.add(sysImgs[0].uri)
continue
}
}
// Queue a download for remote files
dlIds.add(queue(obj.getString("href"), ""))
}
// Wait for all downloads to complete
val latch = CountDownLatch(dlIds.size)
synchronized(mDownloads) {
for (dlId in dlIds) {
mDownloads.put(dlId, fun() { latch.countDown() })
}
}
latch.await()
// Get the URI of the downloaded file
for (id in dlIds) {
val sUri = getDownloadedFileURI(id) ?: throw Exception("Failed to download file")
uris.add(Uri.parse(sUri))
}
// Create sharing intent
val intent = Intent(Intent.ACTION_SEND_MULTIPLE)
intent.type = "*/*"
intent.putExtra(Intent.EXTRA_STREAM, uris)
mActivity.startActivity(Intent.createChooser(intent, null))
// Reset the blobs
mShareBlobs = null
return true
}
/**
* Set the blobs to share
* @param objects The blobs to share
*/
fun setShareBlobs(objects: JSONArray) {
mShareBlobs = objects
}
/**
* Get the URI of a downloaded file from download ID
* @param downloadId The download ID
* @return The URI of the downloaded file
*/
private fun getDownloadedFileURI(downloadId: Long): String? {
val downloadManager =
mActivity.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
val query = DownloadManager.Query()
query.setFilterById(downloadId)
val cursor = downloadManager.query(query)
if (cursor.moveToFirst()) {
val columnIndex = cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI)
return cursor.getString(columnIndex)
}
cursor.close()
return null
}
}

View File

@ -0,0 +1,194 @@
package gallery.memories.service
import android.net.Uri
import android.util.Base64
import android.webkit.WebView
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import org.json.JSONArray
import org.json.JSONObject
import java.security.SecureRandom
import java.security.cert.CertificateException
import java.security.cert.X509Certificate
import javax.net.ssl.SSLContext
import javax.net.ssl.TrustManager
import javax.net.ssl.X509TrustManager
class HttpService {
companion object {
val TAG = HttpService::class.java.simpleName
}
private var client = OkHttpClient()
private var authHeader: String? = null
private var mBaseUrl: String? = null
private var mTrustAll = false
/**
* Check if all certificates are trusted
*/
val isTrustingAllCertificates: Boolean
get() = mTrustAll
/**
* Check if the HTTP service is logged in
*/
fun isLoggedIn(): Boolean {
return authHeader != null
}
/**
* Build the HTTP client
* @param url The URL to use
* @param trustAll Whether to trust all certificates
*/
fun build(url: String?, trustAll: Boolean) {
mBaseUrl = url
mTrustAll = trustAll
client = if (trustAll) {
val trustAllCerts = arrayOf<TrustManager>(
object : X509TrustManager {
@Throws(CertificateException::class)
override fun checkClientTrusted(
chain: Array<X509Certificate>,
authType: String
) {
}
@Throws(CertificateException::class)
override fun checkServerTrusted(
chain: Array<X509Certificate>,
authType: String
) {
}
override fun getAcceptedIssuers(): Array<X509Certificate> {
return arrayOf()
}
}
)
val sslContext = SSLContext.getInstance("SSL")
sslContext.init(null, trustAllCerts, SecureRandom())
OkHttpClient.Builder()
.sslSocketFactory(sslContext.socketFactory, trustAllCerts[0] as X509TrustManager)
.hostnameVerifier({ hostname, session -> true })
.build()
} else {
OkHttpClient()
}
}
/**
* Set the authorization header
* @param credentials The credentials to use
*/
fun setAuthHeader(credentials: Pair<String, String>?) {
if (credentials != null) {
val auth = "${credentials.first}:${credentials.second}"
authHeader = "Basic ${Base64.encodeToString(auth.toByteArray(), Base64.NO_WRAP)}"
return
}
authHeader = null
}
/**
* Load a webview at the default page
* @param webView The webview to load
* @param subpath The subpath to load
* @return Host URL if authenticated, null otherwise
*/
fun loadWebView(webView: WebView, subpath: String? = null): String? {
// Load app interface if authenticated
if (authHeader != null && mBaseUrl != null) {
var url = mBaseUrl
if (subpath != null) url += subpath
// Get host name
val host = Uri.parse(url).host
// Clear webview history
webView.clearHistory()
// Set authorization header
webView.loadUrl(url!!, mapOf("Authorization" to authHeader))
return host
}
return null
}
/** Get body as JSON Object */
@Throws(Exception::class)
fun bodyJson(response: Response): JSONObject? {
return getBody(response)?.let { JSONObject(it) }
}
/** Get body as JSON array */
@Throws(Exception::class)
fun bodyJsonArray(response: Response): JSONArray? {
return getBody(response)?.let { JSONArray(it) }
}
/** Get a string from the response body */
@Throws(Exception::class)
fun getBody(response: Response): String? {
val body = response.body?.string()
response.body?.close()
return body
}
/** Get the API description request */
@Throws(Exception::class)
fun getApiDescription(): Response {
return runRequest(buildGet("api/describe"))
}
/** Make login flow request */
@Throws(Exception::class)
fun postLoginFlow(loginFlowUrl: String): Response {
return runRequest(
Request.Builder()
.url(loginFlowUrl)
.header("User-Agent", "Memories")
.post("".toRequestBody("application/json".toMediaTypeOrNull()))
.build()
)
}
/** Make login polling request */
@Throws(Exception::class)
fun getPollLogin(pollUrl: String, pollToken: String): Response {
return runRequest(
Request.Builder()
.url(pollUrl)
.post("token=$pollToken".toRequestBody("application/x-www-form-urlencoded".toMediaTypeOrNull()))
.build()
)
}
/** Run a request and get a JSON object */
@Throws(Exception::class)
private fun runRequest(request: Request): Response {
return client.newCall(request).execute()
}
/** Build a GET request */
private fun buildGet(path: String, auth: Boolean = true): Request {
val builder = Request.Builder()
.url(mBaseUrl + path)
.header("User-Agent", "Memories")
.get()
if (auth)
builder.header("Authorization", authHeader ?: "")
return builder.build()
}
}

View File

@ -0,0 +1,70 @@
package gallery.memories.service
import android.content.ContentUris
import android.content.Context
import android.graphics.Bitmap
import android.graphics.ImageDecoder
import android.os.Build
import android.provider.MediaStore
import androidx.media3.common.util.UnstableApi
import java.io.ByteArrayOutputStream
@UnstableApi class ImageService(private val mCtx: Context, private val query: TimelineQuery) {
/**
* Get a preview image for a given image ID
* @param id The image ID
* @return The preview image as a JPEG byte array
*/
@Throws(Exception::class)
fun getPreview(id: Long): ByteArray {
val bitmap =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
mCtx.contentResolver.loadThumbnail(
ContentUris.withAppendedId(
MediaStore.Files.getContentUri(MediaStore.VOLUME_EXTERNAL),
id
),
android.util.Size(2048, 2048),
null
)
} else {
MediaStore.Images.Thumbnails.getThumbnail(
mCtx.contentResolver, id, MediaStore.Images.Thumbnails.FULL_SCREEN_KIND, null
)
?: MediaStore.Video.Thumbnails.getThumbnail(
mCtx.contentResolver, id, MediaStore.Video.Thumbnails.FULL_SCREEN_KIND, null
)
?: throw Exception("Thumbnail not found")
}
val stream = ByteArrayOutputStream()
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, stream)
return stream.toByteArray()
}
/**
* Get a full image for a given image ID
* @param id The image ID
* @return The full image as a JPEG byte array
*/
@Throws(Exception::class)
fun getFull(auid: String): ByteArray {
val sysImgs = query.getSystemImagesByAUIDs(listOf(auid))
if (sysImgs.isEmpty()) {
throw Exception("Image not found")
}
val uri = sysImgs[0].uri
val bitmap =
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
ImageDecoder.decodeBitmap(ImageDecoder.createSource(mCtx.contentResolver, uri))
} else {
MediaStore.Images.Media.getBitmap(mCtx.contentResolver, uri)
?: throw Exception("Image not found")
}
val stream = ByteArrayOutputStream()
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, stream)
return stream.toByteArray()
}
}

View File

@ -0,0 +1,80 @@
package gallery.memories.service
import android.os.Build
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.media3.common.util.UnstableApi
import gallery.memories.MainActivity
import gallery.memories.R
import java.util.concurrent.CountDownLatch
@UnstableApi class PermissionsService(private val activity: MainActivity) {
var isGranted: Boolean = false
var latch: CountDownLatch? = null
lateinit var requestPermissionLauncher: ActivityResultLauncher<Array<String>>
fun register(): PermissionsService {
requestPermissionLauncher = activity.registerForActivityResult(
ActivityResultContracts.RequestMultiplePermissions()
) { permissions ->
// we need all of these
isGranted = permissions.all { it.value }
// Persist that we have it now
setHasMediaPermission(isGranted)
// Release latch
latch?.countDown()
}
return this
}
/**
* Requests media permission and blocks until it is granted
*/
fun requestMediaPermissionSync(): Boolean {
if (isGranted) return true
// Wait for response
latch = CountDownLatch(1)
// Request media read permission
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
requestPermissionLauncher.launch(
arrayOf(
android.Manifest.permission.READ_MEDIA_IMAGES,
android.Manifest.permission.READ_MEDIA_VIDEO,
)
)
} else {
requestPermissionLauncher.launch(arrayOf(android.Manifest.permission.READ_EXTERNAL_STORAGE))
}
latch?.await()
return isGranted
}
fun hasMediaPermission(): Boolean {
return activity.getSharedPreferences(activity.getString(R.string.preferences_key), 0)
.getBoolean(activity.getString(R.string.preferences_has_media_permission), false)
}
private fun setHasMediaPermission(v: Boolean) {
activity.getSharedPreferences(activity.getString(R.string.preferences_key), 0).edit()
.putBoolean(activity.getString(R.string.preferences_has_media_permission), v)
.apply()
}
fun hasAllowMedia(): Boolean {
return activity.getSharedPreferences(activity.getString(R.string.preferences_key), 0)
.getBoolean(activity.getString(R.string.preferences_allow_media), false)
}
fun setAllowMedia(v: Boolean) {
activity.getSharedPreferences(activity.getString(R.string.preferences_key), 0).edit()
.putBoolean(activity.getString(R.string.preferences_allow_media), v)
.apply()
}
}

View File

@ -0,0 +1,95 @@
import android.content.Context
import android.security.keystore.KeyGenParameterSpec
import android.security.keystore.KeyProperties
import android.security.keystore.KeyProperties.KEY_ALGORITHM_AES
import android.security.keystore.KeyProperties.PURPOSE_DECRYPT
import android.security.keystore.KeyProperties.PURPOSE_ENCRYPT
import android.util.Base64
import gallery.memories.service.Credential
import java.security.KeyStore
import javax.crypto.Cipher
import javax.crypto.KeyGenerator
import javax.crypto.SecretKey
import javax.crypto.spec.IvParameterSpec
class SecureStorage(private val context: Context) {
private val keyStore = KeyStore.getInstance("AndroidKeyStore")
private val keyAlias = "MemoriesKey"
init {
keyStore.load(null)
if (!keyStore.containsAlias(keyAlias)) {
generateNewKey()
}
}
fun saveCredentials(cred: Credential) {
val cipher = getCipher()
cipher.init(Cipher.ENCRYPT_MODE, getSecretKey())
val encryptedToken = cipher.doFinal(cred.token.toByteArray())
context.getSharedPreferences("credentials", Context.MODE_PRIVATE).edit()
.putString("url", cred.url)
.putBoolean("trustAll", cred.trustAll)
.putString("username", cred.username)
.putString("encryptedToken", Base64.encodeToString(encryptedToken, Base64.DEFAULT))
.putString("iv", Base64.encodeToString(cipher.iv, Base64.DEFAULT))
.apply()
}
fun getCredentials(): Credential? {
val sharedPreferences = context.getSharedPreferences("credentials", Context.MODE_PRIVATE)
val url = sharedPreferences.getString("url", null)
val trustAll = sharedPreferences.getBoolean("trustAll", false)
val username = sharedPreferences.getString("username", null)
val encryptedToken = sharedPreferences.getString("encryptedToken", null)
val ivStr = sharedPreferences.getString("iv", null)
if (url != null && username != null && encryptedToken != null && ivStr != null) {
val cipher = getCipher()
val iv = Base64.decode(ivStr, Base64.DEFAULT)
cipher.init(Cipher.DECRYPT_MODE, getSecretKey(), IvParameterSpec(iv))
val token = String(cipher.doFinal(Base64.decode(encryptedToken, Base64.DEFAULT)))
return Credential(url, trustAll, username, token)
}
return null
}
fun deleteCredentials() {
context.getSharedPreferences("credentials", Context.MODE_PRIVATE).edit()
.remove("url")
.remove("trustAll")
.remove("encryptedUsername")
.remove("encryptedToken")
.remove("iv")
.apply()
}
private fun generateNewKey() {
val keyGenerator = KeyGenerator.getInstance(KEY_ALGORITHM_AES, "AndroidKeyStore")
val keyGenSpec = KeyGenParameterSpec.Builder(
keyAlias,
PURPOSE_ENCRYPT or PURPOSE_DECRYPT
)
.setBlockModes(KeyProperties.BLOCK_MODE_CBC)
.setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
.setUserAuthenticationRequired(false) // Change this if needed
.build()
keyGenerator.init(keyGenSpec)
keyGenerator.generateKey()
}
private fun getCipher(): Cipher {
val transformation =
"$KEY_ALGORITHM_AES/${KeyProperties.BLOCK_MODE_CBC}/${KeyProperties.ENCRYPTION_PADDING_PKCS7}"
return Cipher.getInstance(transformation)
}
private fun getSecretKey(): SecretKey {
return keyStore.getKey(keyAlias, null) as SecretKey
}
}

View File

@ -0,0 +1,461 @@
package gallery.memories.service
import android.annotation.SuppressLint
import android.app.Activity
import android.database.ContentObserver
import android.net.Uri
import android.os.Build
import android.provider.MediaStore
import android.util.Log
import androidx.activity.result.ActivityResult
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.IntentSenderRequest
import androidx.activity.result.contract.ActivityResultContracts
import androidx.exifinterface.media.ExifInterface
import androidx.media3.common.util.UnstableApi
import gallery.memories.MainActivity
import gallery.memories.R
import gallery.memories.dao.AppDatabase
import gallery.memories.mapper.Fields
import gallery.memories.mapper.Response
import gallery.memories.mapper.SystemImage
import org.json.JSONArray
import org.json.JSONException
import org.json.JSONObject
import java.io.IOException
import java.time.Instant
import java.util.concurrent.CountDownLatch
@UnstableApi
class TimelineQuery(private val mCtx: MainActivity) {
private val TAG = TimelineQuery::class.java.simpleName
private val mConfigService = ConfigService(mCtx)
// Database
private val mDb = AppDatabase.get(mCtx)
private val mPhotoDao = mDb.photoDao()
// Photo deletion events
var deleting = false
var deleteIntentLauncher: ActivityResultLauncher<IntentSenderRequest>
var deleteCallback: ((ActivityResult?) -> Unit)? = null
// Observers
var imageObserver: ContentObserver? = null
var videoObserver: ContentObserver? = null
var refreshPending: Boolean = false
// Status of synchronization process
// -1 = not started
// >0 = number of files updated
var syncStatus = -1
init {
// Register intent launcher for callback
deleteIntentLauncher =
mCtx.registerForActivityResult(ActivityResultContracts.StartIntentSenderForResult()) { result: ActivityResult? ->
synchronized(this) {
deleteCallback?.let { it(result) }
}
}
}
/**
* Initialize content observers for system store.
* Runs the first sync pass.
*/
fun initialize() {
mPhotoDao.ping()
if (syncDeltaDb() > 0) {
mCtx.refreshTimeline()
}
registerHooks()
}
/**
* Destroy content observers for system store.
*/
fun destroy() {
if (imageObserver != null)
mCtx.contentResolver.unregisterContentObserver(imageObserver!!)
if (videoObserver != null)
mCtx.contentResolver.unregisterContentObserver(videoObserver!!)
}
/**
* Register content observers for system store.
*/
fun registerHooks() {
imageObserver = registerContentObserver(SystemImage.IMAGE_URI)
videoObserver = registerContentObserver(SystemImage.VIDEO_URI)
}
/**
* Register content observer for system store.
* @param uri Content URI
* @return Content observer
*/
private fun registerContentObserver(uri: Uri): ContentObserver {
val observer = object : ContentObserver(null) {
override fun onChange(selfChange: Boolean) {
super.onChange(selfChange)
// Debounce refreshes
synchronized(this@TimelineQuery) {
if (refreshPending) return
refreshPending = true
}
// Refresh after 750ms
Thread {
Thread.sleep(750)
synchronized(this@TimelineQuery) {
refreshPending = false
}
// Check if anything to update
if (syncDeltaDb() == 0 || mCtx.isDestroyed || mCtx.isFinishing) return@Thread
mCtx.refreshTimeline()
}.start()
}
}
mCtx.contentResolver.registerContentObserver(uri, true, observer)
return observer
}
/**
* Get system images by AUIDs
* @param auids List of AUIDs
* @return List of SystemImage
*/
fun getSystemImagesByAUIDs(auids: List<String>): List<SystemImage> {
val photos = mPhotoDao.getPhotosByAUIDs(auids)
if (photos.isEmpty()) return listOf()
return SystemImage.getByIds(mCtx, photos.map { it.localId })
}
/**
* Get the days response for local files.
* @return JSON response
*/
@Throws(JSONException::class)
fun getDays(): JSONArray {
return mPhotoDao.getDays(mConfigService.enabledBucketIds).map {
JSONObject()
.put(Fields.Day.DAYID, it.dayId)
.put(Fields.Day.COUNT, it.count)
}.let { JSONArray(it) }
}
/**
* Get the day response for local files.
* @param dayId Day ID
* @return JSON response
*/
@Throws(JSONException::class)
fun getDay(dayId: Long): JSONArray {
// Get the photos for the day from DB
val photos = mPhotoDao.getPhotosByDay(dayId, mConfigService.enabledBucketIds)
.map { it.localId to it }.toMap()
if (photos.isEmpty()) return JSONArray()
val fileIds = photos.keys.toMutableList()
// Get latest metadata from system table
val response = SystemImage.getByIds(mCtx, fileIds).map { image ->
// Mark file exists
fileIds.remove(image.fileId)
// Add missing fields to JSON
val json = image.json
photos[image.fileId]?.let { photo ->
json.put(Fields.Photo.AUID, photo.auid)
.put(Fields.Photo.BUID, photo.buid)
.put(Fields.Photo.DAYID, dayId)
}
json
}.let { JSONArray(it) }
// Remove files that were not found
mPhotoDao.deleteFileIds(fileIds)
return response
}
/**
* Get the image EXIF info response for local files.
* @param id File ID
* @return JSON response
*/
@Throws(Exception::class)
fun getImageInfo(id: Long): JSONObject {
val photos = mPhotoDao.getPhotosByFileIds(listOf(id))
if (photos.isEmpty()) throw Exception("File not found in database")
// Get image from system table
val images = SystemImage.getByIds(mCtx, listOf(id))
if (images.isEmpty()) throw Exception("File not found in system")
// Get the photo and image
val photo = photos[0]
val image = images[0];
// Augment image JSON with database info
val obj = image.json
.put(Fields.Photo.DAYID, photo.dayId)
.put(Fields.Photo.DATETAKEN, photo.dateTaken)
.put(Fields.Photo.PERMISSIONS, Fields.Perm.DELETE)
try {
val exif = ExifInterface(image.dataPath)
obj.put(Fields.Photo.EXIF, JSONObject().apply {
Fields.EXIF.MAP.forEach { (key, field) ->
put(field, exif.getAttribute(key))
}
})
} catch (e: IOException) {
Log.w(TAG, "Error reading EXIF data for $id")
}
return obj
}
/**
* Delete images from local database and system store.
* @param auids List of AUIDs
* @param dry Dry run (returns whether confirmation will be needed)
* @return JSON response
*/
@Throws(Exception::class)
fun delete(auids: List<String>, dry: Boolean): JSONObject {
synchronized(this) {
if (deleting) throw Exception("Already deleting another set of images")
deleting = true
}
val response = Response.OK
try {
// Get list of file IDs
val sysImgs = getSystemImagesByAUIDs(auids)
// Let the UI know how many files we are deleting
response.put("count", sysImgs.size)
// Let the UI know if we are going to ask for confirmation
response.put("confirms", Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
// Exit if dry or nothing to do
if (dry || sysImgs.isEmpty()) return response
// List of URIs
val uris = sysImgs.map { it.uri }
if (uris.isEmpty()) return Response.OK
// Delete file with media store
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val intent = MediaStore.createTrashRequest(mCtx.contentResolver, uris, true)
deleteIntentLauncher.launch(
IntentSenderRequest.Builder(intent.intentSender).build()
)
// Wait for response
val latch = CountDownLatch(1)
var res: ActivityResult? = null
deleteCallback = fun(result: ActivityResult?) {
res = result
latch.countDown()
}
latch.await()
deleteCallback = null;
// Throw if canceled or failed
if (res == null || res!!.resultCode != Activity.RESULT_OK) {
throw Exception("Delete canceled or failed")
}
} else {
for (uri in uris) {
mCtx.contentResolver.delete(uri, null, null)
}
}
// Delete from database
mPhotoDao.deleteFileIds(sysImgs.map { it.fileId })
// Clear UI cache
mCtx.busEmit("nativex:db:updated")
} finally {
synchronized(this) { deleting = false }
}
return response
}
/**
* Sync local database with system store.
* @param startTime Only sync files modified after this time
* @return Number of updated files
*/
private fun syncDb(startTime: Long): Int {
// Date modified is in seconds, not millis
val syncTime = Instant.now().toEpochMilli() / 1000;
// SystemImage query
var selection: String? = null
var selectionArgs: Array<String>? = null
// Query everything modified after startTime
if (startTime != 0L) {
selection = MediaStore.Images.Media.DATE_MODIFIED + " > ?"
selectionArgs = arrayOf(startTime.toString())
}
// Count number of updates
var updates = 0
try {
// Iterate all images from system store
for (image in SystemImage.cursor(
mCtx,
SystemImage.IMAGE_URI,
selection,
selectionArgs,
null
)) {
insertItemDb(image)
updates++
syncStatus = updates
}
// Iterate all videos from system store
for (video in SystemImage.cursor(
mCtx,
SystemImage.VIDEO_URI,
selection,
selectionArgs,
null
)) {
insertItemDb(video)
updates++
syncStatus = updates
}
// Store last sync time
mCtx.getSharedPreferences(mCtx.getString(R.string.preferences_key), 0).edit()
.putLong(mCtx.getString(R.string.preferences_last_sync_time), syncTime)
.apply()
} catch (e: Exception) {
Log.e(TAG, "Error syncing database", e)
}
// Reset sync status
synchronized(this) {
syncStatus = -1
}
// Number of updated files
return updates
}
/**
* Sync local database with system store.
* @return Number of updated files
*/
fun syncDeltaDb(): Int {
// Exit if already running
synchronized(this) {
if (syncStatus != -1) return 0
syncStatus = 0
}
// Get last sync time
val syncTime = mCtx.getSharedPreferences(mCtx.getString(R.string.preferences_key), 0)
.getLong(mCtx.getString(R.string.preferences_last_sync_time), 0L)
return syncDb(syncTime)
}
/**
* Sync local database with system store.
* Runs a full synchronization pass, flagging all files for removal.
* @return Number of updated files
*/
fun syncFullDb() {
// Exit if already running
synchronized(this) {
if (syncStatus != -1) return
syncStatus = 0
}
// Flag all images for removal
mPhotoDao.flagAll()
// Sync all files, marking them in the process
syncDb(0L)
// Clean up stale files
mPhotoDao.deleteFlagged()
}
/**
* Insert item into local database.
* @param image SystemImage
*/
@SuppressLint("SimpleDateFormat")
private fun insertItemDb(image: SystemImage) {
val fileId = image.fileId
val baseName = image.baseName
// Check if file with local_id and mtime already exists
val l = mPhotoDao.getPhotosByFileIds(listOf(fileId))
if (!l.isEmpty() && l[0].mtime == image.mtime) {
// File already exists, remove flag
mPhotoDao.unflag(fileId)
Log.v(TAG, "File already exists: $fileId / $baseName")
return
}
// Convert to photo
val photo = image.photo
// Delete file with same local_id and insert new one
mPhotoDao.deleteFileIds(listOf(fileId))
mPhotoDao.insert(photo)
Log.v(TAG, "Inserted file to local DB: $photo")
}
/**
* Set has_remote for list of AUIDs
* @param auids List of AUIDs
* @param value Value to set
*/
fun setHasRemote(auids: List<String>, buids: List<String>, value: Boolean) {
mPhotoDao.setHasRemote(auids, buids, value)
}
/**
* Active local folders response.
* This is in timeline query because it calls the database service.
*/
var localFolders: JSONArray
get() {
return mPhotoDao.getBuckets().map {
JSONObject()
.put(Fields.Bucket.ID, it.id)
.put(Fields.Bucket.NAME, it.name)
.put(Fields.Bucket.ENABLED, mConfigService.enabledBucketIds.contains(it.id))
}.let { JSONArray(it) }
}
set(value) {
val enabled = mutableListOf<String>()
for (i in 0 until value.length()) {
val obj = value.getJSONObject(i)
if (obj.getBoolean(Fields.Bucket.ENABLED)) {
enabled.add(obj.getString(Fields.Bucket.ID))
}
}
mConfigService.enabledBucketIds = enabled
}
}

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/coordinator"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<androidx.media3.ui.PlayerView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
android:alpha="0.0"
app:show_buffering="always"
/>
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:soundEffectsEnabled="true"
/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@mipmap/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@mipmap/ic_launcher_monochrome"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 857 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 463 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -0,0 +1,3 @@
<resources>
<dimen name="fab_margin">48dp</dimen>
</resources>

View File

@ -0,0 +1,16 @@
<resources>
<!-- Base application theme. -->
<style name="Theme.Memories" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/theme</item>
<item name="colorPrimaryVariant">@color/theme</item>
<item name="colorOnPrimary">@color/black</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_200</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
</resources>

View File

@ -0,0 +1,3 @@
<resources>
<dimen name="fab_margin">200dp</dimen>
</resources>

View File

@ -0,0 +1,3 @@
<resources>
<dimen name="fab_margin">48dp</dimen>
</resources>

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="purple_200">#FFBB86FC</color>
<color name="purple_500">#FF6200EE</color>
<color name="purple_700">#FF3700B3</color>
<color name="teal_200">#FF03DAC5</color>
<color name="teal_700">#FF018786</color>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="theme">#2b94f0</color>
</resources>

View File

@ -0,0 +1,3 @@
<resources>
<dimen name="fab_margin">16dp</dimen>
</resources>

View File

@ -0,0 +1,20 @@
<resources>
<string name="app_name">Memories</string>
<string name="min_server_version">6.1.0</string>
<string name="preferences_key">memories</string>
<string name="preferences_theme_color">themeColor</string>
<string name="preferences_theme_dark">themeDark</string>
<string name="preferences_last_sync_time">lastDbSyncTime</string>
<string name="preferences_has_media_permission">hasMediaPermission</string>
<string name="preferences_allow_media">allowMedia</string>
<string name="preferences_enabled_local_folders">enabledLocalFolders</string>
<!-- https://www.whatismybrowser.com/guides/the-latest-user-agent/chrome -->
<string name="ua_chrome">"Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.76 Mobile Safari/537.36"</string>
<string name="ua_app_prefix">MemoriesNative/</string>
<string name="err_no_ver">Your server does not have the minimum required version of Memories</string>
<string name="err_logged_out">Logged out from server</string>
<string name="err_no_describe">Failed to connect to server. Reset app data if this persists.</string>
</resources>

View File

@ -0,0 +1,25 @@
<resources>
<!-- Base application theme. -->
<style name="Theme.Memories" parent="Theme.MaterialComponents.Light.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/theme</item>
<item name="colorPrimaryVariant">@color/theme</item>
<item name="colorOnPrimary">@color/white</item>
<!-- Secondary brand color. -->
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<!-- Status bar color. -->
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
<!-- Customize your theme here. -->
</style>
<style name="Theme.Memories.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="Theme.Memories.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="Theme.Memories.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?><!--
Sample backup rules file; uncomment and customize as necessary.
See https://developer.android.com/guide/topics/data/autobackup
for details.
Note: This file is ignored for devices older that API 31
See https://developer.android.com/about/versions/12/backup-restore
-->
<full-backup-content>
<!--
<include domain="sharedpref" path="."/>
<exclude domain="sharedpref" path="device.xml"/>
-->
</full-backup-content>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?><!--
Sample data extraction rules file; uncomment and customize as necessary.
See https://developer.android.com/about/versions/12/backup-restore#xml-changes
for details.
-->
<data-extraction-rules>
<cloud-backup>
<!-- TODO: Use <include> and <exclude> to control what is backed up.
<include .../>
<exclude .../>
-->
</cloud-backup>
<!--
<device-transfer>
<include .../>
<exclude .../>
</device-transfer>
-->
</data-extraction-rules>

View File

@ -0,0 +1,12 @@
buildscript {
ext.kotlin_version = '1.9.0'
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
plugins {
id 'com.android.application' version '8.1.2' apply false
id 'com.android.library' version '8.1.2' apply false
id 'org.jetbrains.kotlin.android' version "$kotlin_version" apply false
}

View File

@ -0,0 +1,23 @@
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Enables namespacing of each library's R class so that its R class includes only the
# resources declared in the library itself and none from the library's dependencies,
# thereby reducing the size of the R class for that library
android.nonTransitiveRClass=true
android.defaults.buildfeatures.buildconfig=true
android.nonFinalResIds=false

Binary file not shown.

View File

@ -0,0 +1,6 @@
#Tue May 02 23:46:18 PDT 2023
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

185
android/gradlew vendored 100644
View File

@ -0,0 +1,185 @@
#!/usr/bin/env sh
#
# Copyright 2015 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
exec "$JAVACMD" "$@"

89
android/gradlew.bat vendored 100644
View File

@ -0,0 +1,89 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

View File

@ -0,0 +1,16 @@
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
}
rootProject.name = "Memories"
include ':app'

View File

@ -3,52 +3,68 @@
xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
<id>memories</id>
<name>Memories</name>
<summary>Yet another photo management app</summary>
<summary>Fast, modern and advanced photo management suite</summary>
<description><![CDATA[
# Memories
# Memories: Photo Management for Nextcloud
Memories is a photo management app for Nextcloud with advanced features including:
Memories is a *batteries-included* photo management solution for Nextcloud with advanced features including:
- **📸 Timeline**: Sort photos and videos by date taken, parsed from Exif data.
- **⏪ Rewind**: Jump to any time in the past instantly and relive your memories.
- **🤖 AI Tagging**: Group photos by people and objects using AI, powered by the [recognize](https://github.com/nextcloud/recognize) app.
- **🤖 AI Tagging**: Group photos by people and objects, powered by [recognize](https://github.com/nextcloud/recognize) and [facerecognition](https://github.com/matiasdelellis/facerecognition).
- **🖼️ Albums**: Create albums to group photos and videos together. Then share these albums with others.
- **📁 Folders**: Browse your own and shared folders with a similar, efficient timeline.
- **🎦 Slideshow**: View photos from your timeline and folders easily.
- **📱 Mobile Support**: Works on devices of any shape and size through the web app.
- **✏️ Edit Metadata**: Edit Exif dates on photos quickly and easily.
- **🫱🏻‍🫲🏻 External Sharing**: Share photos and videos with people outside of your Nextcloud instance.
- **📱 Mobile Support**: Work from any device, of any shape and size through the web app.
- **✏️ Edit Metadata**: Edit dates and other metadata on photos quickly and in bulk.
- **📦 Archive**: Store photos you don't want to see in your timeline in a separate folder.
- **📷 RAW Support**: View RAW photos from your camera with the [Camera RAW Previews](https://apps.nextcloud.com/apps/camerarawpreviews) app.
- **⚡️ Fast**: Memories is extremely fast. Period.
To get an idea of what memories looks and feels like, check out the [public demo](https://memories-demo.radialapps.com/apps/memories/). Note that the demo is read-only and may be slow since it runs in a low-end free tier VM provided by [Oracle Cloud](https://www.oracle.com/cloud/free/). Photo credits go to [Unsplash](https://unsplash.com/) (for individual credits, refer to each folder).
- **📹 Video Transcoding**: Transcode videos and use HLS for maximal performance.
- **🗺️ Map**: View your photos on a map, tagged with accurate reverse geocoding.
- **📦 Migration**: Migrate easily from Nextcloud Photos and Google Takeout.
- **⚡️ Performance**: Do all this very fast.
## 🚀 Installation
1. Install the app from the Nextcloud app store
1. Run `php ./occ memories:index` to generate metadata indices for existing photos.
1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos. Photos from this directory will be displayed in the timeline, including any photos in nested subdirectories.
1. Installing the [preview generator](https://github.com/rullzer/previewgenerator) for pre-generating thumbnails is strongly recommended.
1. Install the app from the Nextcloud app store (try a demo [here](https://demo.memories.gallery/apps/memories/)).
1. Perform the recommended [configuration steps](https://memories.gallery/config/).
1. Run `php occ memories:index` to generate metadata indices for existing photos.
1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos.
]]></description>
<version>4.5.0</version>
<version>6.2.2</version>
<licence>agpl</licence>
<author mail="radialapps@gmail.com" >Varun Patil</author>
<author mail="radialapps@gmail.com">Varun Patil</author>
<namespace>Memories</namespace>
<category>multimedia</category>
<website>https://github.com/pulsejet/memories</website>
<website>https://memories.gallery</website>
<bugs>https://github.com/pulsejet/memories/issues</bugs>
<repository>https://github.com/pulsejet/memories</repository>
<screenshot>https://raw.githubusercontent.com/pulsejet/memories/master/appinfo/screenshot.jpg</screenshot>
<dependencies>
<nextcloud min-version="25" max-version="25"/>
<nextcloud min-version="26" max-version="28"/>
</dependencies>
<commands>
<command>OCA\Memories\Command\Index</command>
<command>OCA\Memories\Command\PlacesSetup</command>
<command>OCA\Memories\Command\MigrateGoogleTakeout</command>
</commands>
<settings>
<admin>OCA\Memories\Settings\Admin</admin>
<admin-section>OCA\Memories\Settings\AdminSection</admin-section>
</settings>
<navigations>
<navigation>
<name>Memories</name>
<route>memories.page.main</route>
<route>memories.Page.main</route>
</navigation>
</navigations>
<repair-steps>
<post-migration>
<step>OCA\Memories\Migration\Repair</step>
</post-migration>
<install>
<step>OCA\Memories\Migration\Repair</step>
</install>
</repair-steps>
<background-jobs>
<job>OCA\Memories\Cron\IndexJob</job>
</background-jobs>
</info>

Some files were not shown because too many files have changed in this diff Show More