Lychee icon indicating copy to clipboard operation
Lychee copied to clipboard

WIP v6

Open ildyria opened this issue 1 year ago • 112 comments

Fixes #106 Closes #126 Fixes #226 (SE) Closes #520 (SE)
Fixes #987 Fixes #1420 Closes #1641 (SE) Fixes #1987 Fixes #2082 Fixes #2086 Fixes #2168 Fixes #2194 Fixes #2361 Fixes #2495

ildyria avatar Jul 20 '24 15:07 ildyria

Is there already a time horizon for completion :) ?

tinohager avatar Aug 02 '24 19:08 tinohager

I wish. :')

I have a PR here to create a small blog: https://github.com/LycheeOrg/LycheeOrg.github.io/pull/132

waiting for reviews. :) The blog aims to provide some highlight of the work in progress on V6.

ildyria avatar Aug 02 '24 20:08 ildyria

The site looks nice. The main menu item "Docs" has no content yet. If I understand correctly, this project will also replace the current project website?

tinohager avatar Aug 04 '24 18:08 tinohager

No, just an update/refresher of the LycheeOrg website, nothing much there. The make command build the full thing in dist (including the docs ;) ).

ildyria avatar Aug 04 '24 18:08 ildyria

Is there already a time horizon for completion :) ? Or rather, what is still missing?

tinohager avatar Oct 08 '24 08:10 tinohager

Is there already a time horizon for completion :) ? Or rather, what is still missing?

Time horizon... As you already know, I released the Beta. This indicates that I believe the version is pretty much production ready.

I think in term of what is missing... I would say only the headers when you select one or multiple photos. The actions are already available in the right click, but a duplication would be possibly nice to the user. That is pretty much it in term of functionalities.

Once that header thingy is done, can we release directly? Well, that is why I released a Beta. I hope to get some feedback and be able to fix bugs before going 6.0.0 and avoid thus having to release immediately after 6.0.1, 6.0.2, 6.0.3, 6.0.4, ... :sweat_smile:

What is really missing is user feedback and code reviews. Combined with #2498, this is a monster of a PR: +39,933 −26,373 @d7415 said that he would participate in the review, but alone, I fear it is going to take him months. :sweat_smile: (Took me 3 months to completely rewrite the front-end, that is going to take some time to be digested.

I would really like to avoid having this merged without a decent review. :)

ildyria avatar Oct 08 '24 16:10 ildyria

To give you an idea of how much I think the Beta is ready, I am already running the docker alpha tag on my personal production environment. :)

ildyria avatar Oct 08 '24 16:10 ildyria

I found bug in latest relase.

The problem is that in docker image the tmp directory is owned by root

 root@ce9332e449e5:/var/www/html/Lychee# ls -la storage/tmp
lrwxrwxrwx 1 root root 11 Oct  9 13:54 storage/tmp -> /lychee-tmp
root@ce9332e449e5:/var/www/html/Lychee# ls -la /
total 2234532
drwxr-xr-x     1 root   root         12 Oct  9 13:54 .
drwxr-xr-x     1 root   root         12 Oct  9 13:54 ..
-rwxr-xr-x     1 root   root          0 Oct  9 13:54 .dockerenv
lrwxrwxrwx     1 root   root          7 Sep 26 00:00 bin -> usr/bin
drwxr-xr-x     2 root   root          2 Aug 14 16:10 boot
drwxr-xr-x     2 root   root          6 Oct  9 13:54 conf
drwxr-xr-x     5 root   root        340 Oct  9 13:54 dev
-rwxr-xr-x     1 root   root       6742 Oct  8 20:48 entrypoint.sh
drwxr-xr-x     1 root   root         10 Oct  9 13:54 etc
drwxr-xr-x     2 root   root          2 Aug 14 16:10 home
-rwxr-xr-x     1 root   root      11132 Oct  8 20:48 inject.sh
lrwxrwxrwx     1 root   root          7 Sep 26 00:00 lib -> usr/lib
lrwxrwxrwx     1 root   root          9 Sep 26 00:00 lib64 -> usr/lib64
drwxrwsr-x     2 lychee lychee        8 Oct  9 13:56 logs
drwxr-xr-x     5 root   root          6 Oct  9 13:54 lychee-tmp
drwxr-xr-x     2 root   root          2 Sep 26 00:00 media
drwxr-xr-x     2 root   root          2 Sep 26 00:00 mnt
drwxr-xr-x     2 root   root          2 Sep 26 00:00 opt
dr-xr-xr-x 19428 nobody nogroup       0 Oct  9 13:54 proc
drwx------     1 root   root          3 Oct  9 14:00 root
drwxr-xr-x     1 root   root          6 Oct  9 13:54 run
lrwxrwxrwx     1 root   root          8 Sep 26 00:00 sbin -> usr/sbin
drwxr-xr-x     2 root   root          2 Sep 26 00:00 srv
drwxrwsr-x     2 lychee lychee  4352300 Oct  9 14:02 sym
dr-xr-xr-x    12 nobody nogroup       0 Jun 14 19:05 sys
drwxrwxrwt     1 root   root          2 Oct  9 14:06 tmp
drwxrwsr-x    14 lychee lychee       15 Sep  5 19:54 uploads
drwxr-xr-x     1 root   root          8 Sep 26 00:00 usr
drwxr-xr-x     1 root   root          5 Oct  8 20:49 var
App\Exceptions\MediaFileOperationException in /var/www/html/Lychee/app/Image/Files/NativeLocalFile.php:129
fopen(/var/www/html/Lychee/storage/tmp/uploads/bqcf1Ql46pFkdwnx.jpg): Failed to open stream: Permission denied

/var/www/html/Lychee/app/Http/Controllers/Gallery/PhotoController.php:54 — append

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54 — upload

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43 — callAction

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Routing/Route.php:262 — dispatch

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Routing/Route.php:208 — runController

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Routing/Router.php:808 — run

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:144 — Illuminate\Routing\{closure}

/var/www/html/Lychee/app/Http/Middleware/ContentType.php:49 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:51 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:88 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/app/Http/Middleware/VerifyCsrfToken.php:44 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php:67 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:121 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:64 — handleStatefulRequest

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:75 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/app/Http/Middleware/AcceptContentType.php:74 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:119 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Routing/Router.php:807 — then

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Routing/Router.php:786 — runRouteWithinStack

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Routing/Router.php:750 — runRoute

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Routing/Router.php:739 — dispatchToRoute

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:201 — dispatch

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:144 — Illuminate\Foundation\Http\{closure}

/var/www/html/Lychee/vendor/bepsvpt/secure-headers/src/SecureHeadersMiddleware.php:18 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php:31 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php:51 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php:27 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php:110 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php:58 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/app/Http/Middleware/FixStatusCode.php:30 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:183 — handle

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:119 — Illuminate\Pipeline\{closure}

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:176 — then

/var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:145 — sendRequestThroughRouter

/var/www/html/Lychee/public/index.php:73 — handle
Miss Czech Republic 2025
Miss Czech Republic 2025
Vytvořeno Sep 27, 2024, 8:16:39 PM CEST2 Subalba

240915
Photo thumbnailPhoto thumbnailPhoto thumbnail
Casting 15.9.2024
Sep 2024
Photo thumbnailPhoto thumbnailPhoto thumbnail
Casting 14.9.2024
Sep 2024

Diagnostic


Errors
Loading...
Info

Lychee Version (git):                      alpha (283c74d) -- Could not compare.
DB Version:                                6.0.0
composer install:                          --no-dev
APP_ENV:                                   production
APP_DEBUG:                                 true
APP_URL:                                   set
APP_DIR:                                   default
LOG_VIEWER_ENABLED:                        false
VUEJS_ENABLED:                             true
System:                                    Linux
PHP Version:                               8.2.24
PHP User agent:                            Lychee/4 (https://lycheeorg.github.io/)
Timezone:                                  Europe/Prague
Max uploaded file size:                    100M
Max post size:                             100M
Chunk size:                                25.60 MB
Max execution time:                        3600
PostgreSQL Version:                        PostgreSQL 16.4 (Debian 16.4-1.pgdg120+2) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
exec() Available:                          yes
Imagick Available:                         1
Imagick Enabled:                           1
Imagick Version:                           1691
GD Version:                                2.3.3
Number of foreign key:                     12 found.

		

Space

Lychee total space:                        207.66 MB
Upload folder space:                       8.00 B
System total space:                        240.00 GB
System free space:                         129.46 GB (53%)

		

Configuration

version:                                   060000
check_for_updates:                         0
sorting_photos_col:                        title
sorting_photos_order:                      ASC
sorting_albums_col:                        description
sorting_albums_order:                      DESC
imagick:                                   1
skip_duplicates:                           0
small_max_width:                           0
small_max_height:                          360
medium_max_width:                          1920
medium_max_height:                         1080
lang:                                      cz
image_overlay_type:                        desc
default_license:                           reserved
compression_quality:                       90
grants_full_photo_access:                  1
delete_imported:                           0
mod_frame_enabled:                         1
mod_frame_refresh:                         30
thumb_2x:                                  1
small_2x:                                  1
medium_2x:                                 1
landing_page_enable:                       1
force_migration_in_production:             0
search_public:                             0
hide_version_number:                       0
SL_enable:                                 1
SL_for_admin:                              1
recent_age:                                1
grants_download:                           0
photos_wraparound:                         1
map_display:                               1
zip64:                                     1
map_display_public:                        1
map_provider:                              Wikimedia
force_32bit_ids:                           0
map_include_subalbums:                     1
update_check_every_days:                   3
has_exiftool:                              1
share_button_visible:                      1
has_ffmpeg:                                1
import_via_symlink:                        0
location_decoding:                         1
location_decoding_timeout:                 30
location_show:                             1
location_show_public:                      1
rss_enable:                                0
rss_recent_days:                           7
rss_max_items:                             100
prefer_available_xmp_metadata:             0
editor_enabled:                            1
lossless_optimization:                     0
swipe_tolerance_x:                         150
swipe_tolerance_y:                         250
local_takestamp_video_formats:             .avi|.mov
log_max_num_line:                          1000
unlock_password_photos_with_url_param:     0
nsfw_visible:                              1
nsfw_blur:                                 0
nsfw_warning:                              0
nsfw_warning_admin:                        0
nsfw_banner_override:                      
map_display_direction:                     1
album_subtitle_type:                       oldstyle
upload_processing_limit:                   4
new_photos_notification:                   0
legacy_id_redirection:                     1
zip_deflate_level:                         6
default_album_protection:                  1
album_decoration:                          layers
album_decoration_orientation:              row
allow_username_change:                     1
auto_fix_orientation:                      1
use_job_queues:                            0
random_album_id:                           starred
use_last_modified_date_when_no_exif_date:  0
layout:                                    square
date_format_photo_thumb:                   M j, Y, g:i:s A e
date_format_photo_overlay:                 M j, Y, g:i:s A e
date_format_sidebar_uploaded:              M j, Y, g:i:s A e
date_format_sidebar_taken_at:              M j, Y, g:i:s A e
date_format_hero_min_max:                  F Y
date_format_hero_created_at:               M j, Y, g:i:s A T
date_format_album_thumb:                   M Y
upload_chunk_size:                         0
nsfw_banner_blur_backdrop:                 0
search_pagination_limit:                   1000
search_minimum_length_required:            4
photo_layout_justified_row_height:         320
photo_layout_masonry_column_width:         300
photo_layout_grid_column_width:            250
photo_layout_square_column_width:          200
photo_layout_gap:                          12
display_thumb_album_overlay:               always
display_thumb_photo_overlay:               hover
default_album_thumb_aspect_ratio:          1/1
use_album_compact_header:                  0
login_button_position:                     left
back_button_enabled:                       0
back_button_text:                          Return to Home
current_job_processing_visible:            1
SA_random_thumbs:                          0
job_processing_queue_visible:              1
login_required:                            0
enable_unsorted:                           1
enable_starred:                            1
enable_recent:                             1
enable_on_this_day:                        1
login_required_root_only:                  1
dark_mode_enabled:                         1
show_keybinding_help_popup:                1
show_keybinding_help_button:               1
disable_se_call_for_actions:               0
enable_se_preview:                         1
slideshow_timeout:                         5

opravil-jan avatar Oct 09 '24 14:10 opravil-jan

Thanks @opravil-jan .

I feel that something is going wrong here: https://github.com/LycheeOrg/Lychee-Docker/blob/master/entrypoint.sh#L150

ildyria avatar Oct 09 '24 16:10 ildyria

Import from Link

Add a simple validation check for the link image

tinohager avatar Oct 09 '24 19:10 tinohager

Remove Menu Link Dropbox when it is not configured

image

Instead of this warning

image

tinohager avatar Oct 09 '24 19:10 tinohager

Remove Import from server

image

Add this info to the help page

image

tinohager avatar Oct 09 '24 19:10 tinohager

New Album Dialog

image

Only "Title" is clearer for me

tinohager avatar Oct 09 '24 19:10 tinohager

Yeah I need to redo a lot of the translations. :(

ildyria avatar Oct 09 '24 19:10 ildyria

After create the album

image

Add a button Upload picture

image

tinohager avatar Oct 09 '24 19:10 tinohager

After create the album

image

Add a button Upload picture

image

Good idea ! :open_mouth:

ildyria avatar Oct 09 '24 19:10 ildyria

"Upload track" image

what should the button say at first glance I do not recognize what exactly the meaning of this button is

tinohager avatar Oct 09 '24 19:10 tinohager

image On my docker test with chrome on windows 10 i can not drag a image to this area

tinohager avatar Oct 09 '24 20:10 tinohager

"Upload track" image

what should the button say at first glance I do not recognize what exactly the meaning of this button is

If you have gps data, you can upload a track xml data and that one will be displayed on the map in addition to the pictures.

ildyria avatar Oct 09 '24 20:10 ildyria

"Upload track" image what should the button say at first glance I do not recognize what exactly the meaning of this button is

If you have gps data, you can upload a track xml data and that one will be displayed on the map in addition to the pictures.

this is probably not a likely function for a standard user. I would direct this to a separate dialog where it is better described.

tinohager avatar Oct 09 '24 20:10 tinohager

image The upload dialog should also have a global process display if many photos are uploaded you lose track of how much has already been processed. After uploading and closing the dialog, the page is not updated. The button could also change with please wait or cancel upload.

image

tinohager avatar Oct 09 '24 20:10 tinohager

image If only one album available the move button hangs

tinohager avatar Oct 09 '24 20:10 tinohager

image Add a title after 3s on the icon to describe the function of the button. The circle arrow do nothing on my tests

tinohager avatar Oct 09 '24 20:10 tinohager

image On diashow the top buttons are visible but not usable

tinohager avatar Oct 09 '24 20:10 tinohager

image The upload dialog should also have a global process display if many photos are uploaded you lose track of how much has already been processed. After uploading and closing the dialog, the page is not updated. The button could also change with please wait or cancel upload.

image

Already have an updated version. image

ildyria avatar Oct 09 '24 20:10 ildyria

image On diashow the top buttons are visible but not usable

Interesting, they are not supposed to be visible :')

ildyria avatar Oct 09 '24 20:10 ildyria

The edit Photo dialog has no consistent design, some inputs have a frame, others do not. some are round, others square

image

tinohager avatar Oct 09 '24 20:10 tinohager

image Show the red area only if not public. The different colors do not clearly indicate that I cannot change anything now

tinohager avatar Oct 09 '24 20:10 tinohager

Move albums hang on only one album available image

tinohager avatar Oct 09 '24 20:10 tinohager

image I would find it clearer if the tab logic comes to the bottom and there are 2 buttons that then open a dialog

tinohager avatar Oct 09 '24 20:10 tinohager