Giter Site home page Giter Site logo

lycheeorg / lychee-v3 Goto Github PK

View Code? Open in Web Editor NEW
949.0 45.0 96.0 3.85 MB

A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

Home Page: https://lycheeorg.github.io/

License: MIT License

HTML 13.60% PHP 85.44% Makefile 0.45% TSQL 0.51%
photography management photo-gallery

lychee-v3's People

Contributors

andimachovec avatar arxcdr avatar bb-ricardo avatar bennettscience avatar cdauth avatar clementlamoureux avatar cternes avatar d7415 avatar deatheguard avatar dixy avatar djdallmann avatar electerious avatar fly-man- avatar hoffmannp avatar hrniels avatar ildyria avatar jobevers avatar johnnypark avatar joserick avatar kamil4 avatar ludovicrousseau avatar mhp avatar milo526 avatar powentan avatar qligier avatar r0x0r avatar rdswd avatar renfredxh avatar rhurling avatar roblui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lychee-v3's Issues

Separate the front from the back end

Detailed description of the problem

Currently the view is tied pretty strongly with the php implementation.
It would be nice if the php implementation of the server could be made stand-alone.
Idem, if the view could be made stand alone so that we can chose which backend we want to use.

Code injection, possibly by Lychee vulnerability

I recently had problems with a website where I use Lychee parallel to a Wordpress installation (Lychee is in a subfolder of the Wordpress path). Multiple files of Lychee, Wordpress and a Piwik installation especially index.php in several folders were infected with obfuscated include command such as (decoded):
@include "/var/www/vhosts/website/httpdocs/wp-includes/ID3/.9666afbd.ico";
Also, the respective .ico files were written on the server and contained more encrypted php code. As I am not a specialist at all, I was not able to figure out what the purpose was.

At first I thought it was caused by a missed piwik or wordpress update, but it happened again after everything was up-to-date. Deleted piwik completely, just to be save, but it didn't help. Then I downloaded Lychee again and replaced all files on the server, even though I was already using the latest version 3.1.6. - still got new code injections. Now I deleted Lychee temporarily from the server and I am monitoring the situation. To this point, I could not detect any new infections.

I am sorry if this is somewhat vague, as I said, I am not an expert. But I thought, better report it vaguely, than not report it at all. I would like to know if anyone noticed a similar behaviour. Is it possible that this is caused by Lychee?

Broken ZIP support or error in supported files

Recently, I noticed that I can attempt to upload ZIPs to Lychee without changing "supported files" to "All Files" in the file selector; does this mean ZIPs are supposed to be supported for uploading in Lychee? If so, it seems to be broken, Lychee will claim the file type is not supported after uploading. For clarification, the ZIPs tested are ZIPs Lychee itself created from downloading an album. If they are not supported after all, the "supported file types" may need to be updated.

Keep account signed-in

Detailed description of the problem

After each browser restart, my Lychee account signs out. All other accounts stay signed in (e.g. Reddit, Gmail, Twitter etc.).

Steps to reproduce the issue

  1. Sign in to Lychee account
  2. Close Firefox
  3. Open Lychee Albums URL
  4. Unable to see private photos because Lychee account is signed out
  5. Sign back in again by entering account credentials

Output of the diagnostics (Settings => Diagnostics)

-----------
Warning: Dropbox import not working. No property for dropboxKey.
Warning: You may experience problems when uploading a large amount of photos. Take a look in the FAQ for details.
No critical problems found. Lychee should work without problems!

System Information
------------------
Lychee Version:  
DB Version:      update_030109
System:          Linux
PHP Version:     7.2
MySQL Version:   50723
Imagick:         1
Imagick Active:  1
Imagick Version: 1687
GD Version:      2.2.5
Plugins:         

Browser and system

Firefox on Mac

PSD Preview

There is some plugin to preview PSD files?

NPM vulnerable packages

Detailed description of the problem

During npm install, npm list 10 vulnerable packages.

Steps to reproduce the issue

Just do the npm install with nodejs 10.8.0.

Output of the diagnostics (Settings => Diagnostics)

Testing binary
Binary is fine
npm notice created a lockfile as package-lock.json. You should commit this file.
added 643 packages from 428 contributors and audited 3978 packages in 94.787s
found 10 vulnerabilities (1 low, 4 moderate, 5 high)
  run `npm audit fix` to fix them, or `npm audit` for details
 npm audit  
                                                                                
                       === npm audit security report ===                        
                                                                                
# Run  npm install [email protected]  to resolve 5 vulnerabilities
SEMVER WARNING: Recommended action is a potentially breaking change
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low           │ Prototype Pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ lodash                                                       │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp > vinyl-fs > glob-watcher > gaze > globule > lodash     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/577                       │
└───────────────┴──────────────────────────────────────────────────────────────┘


┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ minimatch                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp > vinyl-fs > glob-stream > glob > minimatch             │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/118                       │
└───────────────┴──────────────────────────────────────────────────────────────┘


┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ minimatch                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp > vinyl-fs > glob-stream > minimatch                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/118                       │
└───────────────┴──────────────────────────────────────────────────────────────┘


┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ minimatch                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp > vinyl-fs > glob-watcher > gaze > globule > glob >     │
│               │ minimatch                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/118                       │
└───────────────┴──────────────────────────────────────────────────────────────┘


┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ minimatch                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp > vinyl-fs > glob-watcher > gaze > globule > minimatch  │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/118                       │
└───────────────┴──────────────────────────────────────────────────────────────┘


# Run  npm install [email protected]  to resolve 5 vulnerabilities
SEMVER WARNING: Recommended action is a potentially breaking change
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate      │ Prototype pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ hoek                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp-sass                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp-sass > node-sass > node-gyp > request > hawk > boom >   │
│               │ hoek                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/566                       │
└───────────────┴──────────────────────────────────────────────────────────────┘


┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate      │ Prototype pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ hoek                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp-sass                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp-sass > node-sass > node-gyp > request > hawk >          │
│               │ cryptiles > boom > hoek                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/566                       │
└───────────────┴──────────────────────────────────────────────────────────────┘


┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate      │ Prototype pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ hoek                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp-sass                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp-sass > node-sass > node-gyp > request > hawk > hoek     │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/566                       │
└───────────────┴──────────────────────────────────────────────────────────────┘


┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate      │ Prototype pollution                                          │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ hoek                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp-sass                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp-sass > node-sass > node-gyp > request > hawk > sntp >   │
│               │ hoek                                                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/566                       │
└───────────────┴──────────────────────────────────────────────────────────────┘


┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High          │ Regular Expression Denial of Service                         │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ minimatch                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ gulp-sass                                                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ gulp-sass > node-sass > true-case-path > glob > minimatch    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/118                       │
└───────────────┴──────────────────────────────────────────────────────────────┘


found 10 vulnerabilities (1 low, 4 moderate, 5 high) in 3978 scanned packages
  10 vulnerabilities require semver-major dependency updates.

Browser and system

Not relevant but Debian Buster.

Import dialog enhancements

After testing with importing several folders ( not too many photos ) I feel that the import dialog is really lacking on the uX side - specifically on 3 issues :

1 - There seems to be no way to stop, cancel or pause the import
2 - There is no way to see the progress ( Progress bar, or last / current processed image or folder )
3 - There is no way to close the import dialog in case something went wrong with import .

These point are important also because the import process is far from being smooth ( or fast.. ) and lack of info ( or possibility to pause ) makes that much harder to debug .

Set properties uppon album creation

It's only idea, how about allowing user to set properties from new album popup?

I mean Hidden, Downloadable, Password protected on this window

2018-09-23_15-05-25-firefox

Right now it's possible after creation of album, so technically someone could see Hidden album before we change it.

Only previous button available when 'Photo Info' is opened.

Only the button to navigate to the previous image is available when the 'Photo Info' sidebar is opened.

pre


Hi
I found this behaviour annoying too. Well, this is the way I do it:

I added to view.js

rightnavslider=function(){$('#imageview .arrow_wrapper--next').css('right','');$('#imageview .arrow_wrapper a#next').css('right','');if($('.sidebar.active')[0]!= null){$('#imageview .arrow_wrapper--next').css('right','350px');$('#imageview .arrow_wrapper a#next').css('right','350px');}},

right before:

sidebar.toggle=function(){return!(!visible.sidebar()&&!visible.sidebarbutton())&&(header.dom(".button--info").toggleClass("active"),lychee.content.toggleClass("content--sidebar"),sidebar.dom().toggleClass("active"),rightnavslider(),!0)}

and called rightnavslider inside as shown.

This new function should be called in photo.next = function(e) { and photo.previous = function(e) { too.

Works good for me in all cases so far.

multi-select without click and drag

From: https://github.com/electerious/Lychee/issues/649

This is a feature request for some method of selecting multiple photos or albums without needing to click and drag to select them (which you typically can't do from a touch interface). perhaps some sort of checkmark overlay button, similar to what google photos does? i'm not sure how complex this would be to implement, but it seems like it would all happen on the javascript side.

this change may also mean that the right-click option to take action on the selected pictures would need to move to a floating "Actions" button that appears when things are selected (although this may not be necessary depending on implementation).

Archive the old repo and move some issues

Now there two repositories existing and I accidentally posted an issue on the wrong repo. Please archive the old one or delete all files with one referer to that one here and maybe move some issues that are only between two months old to this.

- error - Lychee\Modules\Photo::add (243) - Field 'position' doesn't have a default value

Detailed description of the problem

When I upload a photo, it shows a error. And the log shows
- error - Lychee\Modules\Photo::add (243) - Field 'position' doesn't have a default value
When I add the default value of position to 0 in mysql, it work fine.
but it won't return an error when I test Lychee in my local machine no matter setting the default value of position, it stay at 0 without doing anything.

Steps to reproduce the issue

Install normally , and upload a photo.

Output of the diagnostics (Settings => Diagnostics)

Diagnostics
-----------
Warning: Dropbox import not working. No property for dropboxKey.
No critical problems found. Lychee should work without problems!


System Information
------------------
Lychee Version:  3.1.6
DB Version:      030102
System:          Linux
PHP Version:     7
MySQL Version:   50722
Imagick:         1
Imagick Active:  1
Imagick Version: 1673
GD Version:      2.1.1
Plugins:         

Browser and system

Ubuntu 16.04
Nginx 1.10.3
Mysql 5.7.22
php 7.0

Hover-Over Blue Border/Square Highlights

Detailed description of the problem

Any way you could allow for more options than the effect where when you hover over an album or photo that it shows a blue highlighted square, or a series of angled squares?

Such options could be just as simple white border and no angled boxes, a drop-shadow, or some other simple options? The minimalist feel of the display is lost in the blue angled squares in my opinion.

Steps to reproduce the issue

NA

Output of the diagnostics (Settings => Diagnostics)

NA

Browser and system

NA

Support an easy way to add custom links in the interface

Detailed description of the problem

In Germany you are required to add an "Impressum" i.e. legal notice to your page. Especially with the new GDPR rules (or DSGVO in Germany) it is necessary to point to those informations. Currently there is no way apart of manually hacking the index.html to add a custom link to the page. There was already an issue in the old repo: https://github.com/electerious/Lychee/issues/541 but my solution I posted there is a bit inconvenient (especially in a containerized setup).

It would be nice to have an easy way in the admin interface to add such a link to the page.

Steps to reproduce the issue

not necessary as this is not a bug but a feature request

Output of the diagnostics (Settings => Diagnostics)

not necessary as this is not a bug but a feature request

Browser and system

not necessary as this is not a bug but a feature request

Add multiple user accounts

From: https://github.com/electerious/Lychee/issues/746
and: https://github.com/electerious/Lychee/issues/132

I would like to suggest the following feature.

It would be nice to have the ability to have multiple user accounts with the ability to share photos and albums with other accounts. Only the account that uploads the photo can delete them.


Here's some ideas for access control that I would like to see, I haven't really looked at the code so I’m not sure how hard this would be.

You'd probably have to create a table that would define users and their permissions to each album then have a php/js script determine what albums should be displayed and that would also limit access based on those permissions. It might also be a good idea to keep some of the session data stored on the server if it isn't already, that way you could compare the session identifier token to the username that the request was being performed as and validate that they match before executing any functions; this would assist to mitigate a malicious user from executing commands/actions as another user.

Superuser

Full access to view/modify all albums and photos

Standard

Per album view control (who can or can't view album x)
Per album upload control (who can or can't upload to album x)
Per album and photo delete option (who can or can't delete photos from album x)

Read Only

Can only read/view images for explicitly defined albums.


There're a lot of things to do:

  • Add user-table to the database
  • Add userid for each album and photo
  • Every MySQL query needs to be modified
  • A dialog to manage and edit users
  • etc.

As said here, multi-user is currently not planned. It needs a lot of modifications.


More to read on https://github.com/electerious/Lychee/issues/132

uploading multiple pictures via firefox-android does not work

Detailed description of the problem

It is not possible to upload multiple photos via firefox on android. Error appears: "Photo type not supported..."

Steps to reproduce the issue

click in lychee on +, then upload photo, select multiple photos via longlick, then "open" and error will appear

8cd26cf0ce8f3babcd54d9d02d3f2bfd

Browser and system

FIrefox 61.02 on Lineage OS 14.1 (Android 7)

Bugs when you have large amounts of photos

Detailed description of the problem

If you have a lot of files with similar filenames, for example a date prefix like 2018-06-20, the search breaks when you search for "2018", just completely freezes the browser tab.

Same thing happens with the recent uploads smart album, I uploaded 1600 items today and when I click on the recent album the browser tab freezes.

Steps to reproduce the issue

Upload a lot of photos (1500+) and access the recent album, or upload files with the same prefix/suffix and search for them.

Output of the diagnostics (Settings => Diagnostics)

Diagnostics
Warning: Dropbox import not working. No property for dropboxKey.
Warning: You may experience problems when uploading a large amount of photos. Take a look in the FAQ for details.
Warning: Pictures that are rotated lose their metadata! Please install Imagick to avoid that.
No critical problems found. Lychee should work without problems!

System Information
Lychee Version: 3.1.6
DB Version: 030102
System: Darwin
PHP Version: 5.6
MySQL Version: 50638
Imagick: -
Imagick Active: 1
Imagick Version: -
GD Version: bundled (2.1.0 compatible)
Plugins:

Browser and system

macOS running Safari 11.11.1 or Chrome 67

Change to zipstreamer

Detailed description of the problem

We are handing out huge amount of pictures. The last time it was 300 images with a total size of 2.3 GB.
It took Lychee 2.5 min to generate the ZIP file to download. Many changes had to be done to increase the timeouts.

Steps to reproduce the issue

Try and download a huge amount of images who all add up to a large size

Output of the diagnostics (Settings => Diagnostics)

504 Gateway Timeout

Browser and system

Windows 10
Chrome

Lychee:
Diagnostics

Warning: Dropbox import not working. No property for dropboxKey.
No critical problems found. Lychee should work without problems!

System Information

Lychee Version: 3.1.6
DB Version: 030102
System: Linux
PHP Version: 7.2
MySQL Version: 50723
Imagick: 1
Imagick Active: 1
Imagick Version: 1687
GD Version: 2.2.5
Plugins:

Obs. This was already requested in the original
electerious/Lychee#781

All the albums are password protected

Hi !
Since the today 'git pull' all the albums are password protected even if they are in public mode.
capture
When I click on Cancel: Error Function not Found ! Please check the spelling of new function

From the diagnostics page:
System Information


Warning: file_get_contents(/Lychee/src/package.json): failed to open stream: No such file or directory in /Lychee/plugins/Diagnostics/index.php on line 119
Lychee Version: DB Version: update_030109 System: Linux PHP Version: 7.2 MySQL Version: 50505 Imagick: 1 Imagick Active: 1 Imagick Version: 1687 GD Version: 2.2.4

thx for reading me

Add Best Practice to backup and restore

From https://github.com/electerious/Lychee/issues/768

Say that I want to change hosting, and move everything into a new machine, what are the best practices/step-by-step instructions to move all the albums to the new host?

Is it enough to:

  • copy /var/www/html/Lychee into new host
  • dump MySQL Lychee database into a file and then restored it in a new host?

Or is there a more systematic/bullet-proof process of doing this ?

Login dialog won't trigger password save option

If I login to Lychee I get no option to save my login credentials by the browser.

Firefox 61.0.1 64bit on Windows 10

Diagnostics

Warning: Dropbox import not working. No property for dropboxKey.
No critical problems found. Lychee should work without problems!

System Information

Lychee Version: 3.1.6
DB Version: 030102
System: Linux
PHP Version: 5.6
MySQL Version: 50721
Imagick: 1
Imagick Active: 1
Imagick Version: 1673
GD Version: bundled (2.1.0 compatible)
Plugins:

Hide smart albums

From: https://github.com/electerious/Lychee/issues/712

I just thought I'd share this discovery with other Lychee users. I worked out that I could hide the smart albums by just adding this to the head section of index.html:

<style>
[data-id="0"] { display:none; }
[data-id="s"] { display:none; }
[data-id="f"] { display:none; } 
[data-id="r"] { display:none; }
 </style>

Hope it helps someone out there.

Permission problem on upload and data folder

Detailed description of the problem

Documentation specifies that upload and data folders should be set to 750. However, Lychee shows an error message when permissions are set to 750. Error message says (paraprasing) "Unable to save configuration files. Please check upload and data folder permissions".

Only permission setting that works is 777. But this would potentially cause a security problem. I tried 755 and it didn't work either.

Steps to reproduce the issue

  1. Follow insturctions here to install Lychee on an Apache server.
  2. Open the installation directory in a browser.
  3. Enter database credentials.
  4. Error message pops up and album view won't show.

Output of the diagnostics (Settings => Diagnostics)

2018-09-29 23:24:10 - error - Lychee\Modules\Photo::add (50) - An upload-folder is missing or not readable and writable

Browser and system

Firefox on Mac
Ubuntu, Apache server

"Import from link" broken + other misc issues

Detailed description of the problem

"Import from link" returns the error Photo type not supported, but downloading the photo and uploading it manually works.

Steps to reproduce the issue

  1. Attempt to upload this photo to an album within Lychee, it will finish and then throw an error.
  2. Check Logs and observe the error: 2018-10-14 16:13:09 - error - Lychee\Modules\Import::url (64) - Photo type not supported (https://a.uguu.se/SLNL5pelwcbm_BlackBullet.png)
  3. Download the photo locally and upload it, observe that it uploads without problems.

Output of the diagnostics (Settings => Diagnostics)

Diagnostics
-----------
Warning: Dropbox import not working. No property for dropboxKey.
No critical problems found. Lychee should work without problems!


System Information
------------------
Lychee Version:  
DB Version:      update_030109
System:          Linux
PHP Version:     7.2
MySQL Version:   50723
Imagick:         1
Imagick Active:  1
Imagick Version: 1673
GD Version:      2.2.5
Plugins:   

Browser and system

  • Browser: Chrome 71.0.3573.0 (Official Build) dev (64-bit)
  • Server: Ubuntu 16.04.5 LTS
  • Local system: Fedora 28

Additionally, there are a few other misc issues:

  • There is an extraneous $ before the Lychee version on the login prompt
  • There is an extraneous $ in the "Import from link" URL box
  • Diagnostics does not report Lychee version, it remains blank

Localization?

I want to do a localization of the user interface, which should be quite easy to do. But I can't find the strings in the code (maybe while I'm not a php-coder?).

May you give a hint?

api function session::init leaks server information

The api function session::init leaks the information of the lychee installation in the server filesystem (for example /var/www/lychee). I don't know why that is necessary and this can possibly lead to security problems but is definitely no information that should be given to visitors.

PS, just because I gues someone will say

"But its only visible for logged in users!"

yes indeed, but because there is currently only this one-account option everyone I want to give the option to upload and share photos can get this server information

Sorting is not applied to pictures in an Album

Detailed description of the problem

The sorting is not applied to pictures list when displayed in Album.
Their order is only dependent of their id in the database.

Steps to reproduce the issue

Add pictures to an Album with different names.
Set sorting of photos by names ASC or DESC.
The order of the picture displayed in an album does not change.

This is because in here: https://github.com/LycheeOrg/Lychee/blob/master/php/Modules/Album.php#L150

// Add to return
$return['content'][$photo['id']] = $photo;

This is an associative array, so it is resorting with id, the sorting done during the query will be overwritten here.

Possible solution: move from a dictionary/associative array, to a "normal array":

// Add to return
$return['content'][] = $photo;

This might break display at other places.

Nothing happens when trying to connect to database

Detailed description of the problem

On a fresh install, following the instructions found in https://github.com/LycheeOrg/Lychee/blob/master/docs/Installation.md, I connect with my browser to the Lychee installation, and I am prompted to enter the database connection details. Nothing happens when I click on "Connect". No errors or warning messages.

Steps to reproduce the issue

Install Lychee according to the instructions, enter the website to continue the configuration.

Output of the diagnostics (Settings => Diagnostics)

I am not sure where to find that option...

Browser and system

Debian 8.11
Firefox 61.0.2 (64 bits)
mysql 14.14 Distrib 5.5.60, for debian-linux-gnu (x86_64) using readline 6.3
Apache/2.4.10 (Debian)
PHP 5.6.36-0+deb8u1 (cli) (built: Jun 26 2018 17:31:29)

[question]Server error or Api not found

Detailed description of the problem

image

Steps to reproduce the issue

My php extentions:

[michael@cobcmw Lychee]$ php -m
[PHP Modules]
bcmath
Core
ctype
curl
date
dom
exif
filter
ftp
gd
hash
iconv
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
zip
zlib

[Zend Modules]

Could you tell me , what's the problem?

Output of the diagnostics (Settings => Diagnostics)

Browser and system

Both Chrome And Firefox,on Windows 10.

[ASK] Large data import

Hello,
I have 2TB on a nas which represent : ~900 000 files into 150 000 folders.
Actually I check the pictures with a cifs share.

I would like to use a beautiful web interface to access my files.

  • Is it possible to mount a smb share and index the data ?
  • Is it possible to index this amount of data ?
  • What are the specs for this kind of server.

Thanks for your answers,

Cheers.

NodeJS depreciation

Detailed description of the problem

when doing npm install warnings about depreciation are shown.

Steps to reproduce the issue

Just do the npm install with nodejs 10.8.0.

Output of the diagnostics (Settings => Diagnostics)

npm install
npm WARN deprecated [email protected]: 🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update! 
npm WARN deprecated [email protected]: Not maintained anymore
npm WARN deprecated [email protected]: Not maintained anymore
npm WARN deprecated [email protected]: Please use gulp-clean-css
npm WARN deprecated [email protected]: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
npm WARN deprecated [email protected]: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
npm WARN deprecated [email protected]: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js

Browser and system

Not relevant but Debian Buster.

No tagged "latest release"

Detailed description of the problem

In the old organisation the newest tag/release was marked as latest release which allowed accessing it via API calls (f. e. to download the latest release into a container or link to the latest release with a fixed link).

To create this API Tag for the latest tag/release you have to either create a release via the web interface or use GitHubs API to mark the right tag.

Steps to reproduce the issue

Open:
https://api.github.com/repos/LycheeOrg/Lychee/releases/latest

Output of the diagnostics (Settings => Diagnostics)

Browser and system

Skip duplicates changes

Currently skipDuplicates is checking for duplicates globally.

What do you think about making one more option called skipDuplicatesAlbum - which would target a scope of Album only?

This way we could upload same photo in two albums, but only one per Album.

Also I think this option should be activated by default.

[Feature] Remove Metadata

Is it possible to remove the metadata from specific images and/or from all images within a folder?

Allow anonymous upload to "Public" album?

Detailed description of the request

  • Enhancement - Give the administrator the ability to allow anonymous upload (only image files) to a specific album. The anon user should be able to (just during their session) update/add EXIF/MetaData
  • The Anon users should be able to view ALL photos
  • Anon users should NOT be able to delete photos

Is there any plan to include also videos ?

Detailed description of the problem

I would like to have a way to import and display videos at least mpeg4 encoding and preferably into an HTML5 player.

If there is no plugin and If some support is provided to understand the logic of the app, I could develop this extension

Steps to reproduce the issue

Output of the diagnostics (Settings => Diagnostics)

Browser and system

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.