Giter Site home page Giter Site logo

nextcloud / photos Goto Github PK

View Code? Open in Web Editor NEW
491.0 17.0 59.0 563.06 MB

๐Ÿ“ธ Your memories under your control

License: GNU Affero General Public License v3.0

JavaScript 56.66% Makefile 0.06% PHP 17.70% Vue 21.55% SCSS 0.64% TypeScript 3.37% HTML 0.03%
nextcloud nextcloud-app photos pictures gallery vue vuejs media photo-gallery picture-gallery

photos's Introduction

Nextcloud Photos

๐Ÿ“ธ Your memories under your control

Work in progress screenshot of Nextcloud Photos App

Why is this so awesome?

  • ๐Ÿ“ธ Beautiful Photo and Video Timeline
  • โญ Favorites and Tagging: Favorite and tag your photos!
  • Slideshow and easy sharing: Show slideshows and share your photos or albums easily
  • Albums: Create albums from your contents

๐Ÿš€ Installation

In your Nextcloud, simply enable the Photos app through the Apps management. The Nextcloud Photos app is included in Nextcloud 18 and higher.

Optional add-ons that make the Photos app even better:

  • Install Recognize for Nextcloud for AI-powered automatic face and object recognition. Includes automated tagging/categorizing.
  • Install the preview generator if pre-generating thumbnails is desired.
  • Install Imaginary to speed up preview generation.

Mobile Photos

Use the Android/iOS App to view your photos. It's possible to auto-upload them.

Maintainers

If you'd like to join, just go through the issues list and fix some!

๐Ÿ— Development setup

This app requires the Viewer app to be installed and enabled. Follow its development setup and then continue here.

  1. โ˜ Clone this into your apps folder of your Nextcloud.
  2. ๐Ÿ‘ฉโ€๐Ÿ’ป In a terminal, run the command make dev-setup to install the dependencies.
  3. ๐Ÿ— Then to build the Javascript whenever you make changes, run make build-js. To create a pull request use make build-js-production. Watch changes with: make watch-js.
  4. โœ… Enable the app through the app management of your Nextcloud.
  5. ๐ŸŽ‰ Partytime!
  6. ๐Ÿ’ป Fix easily linting issues with npm run lint:fix.

photos's People

Contributors

artificialowl avatar artonge avatar blizzz avatar come-nc avatar dependabot-preview[bot] avatar dependabot[bot] avatar dsmic avatar icewind1991 avatar jakobroehrl avatar jancborchardt avatar juliakirschenheuter avatar juliushaertl avatar marcelklehr avatar mchugh19 avatar mikescops avatar nextcloud-bot avatar nextcloud-command avatar nickvergessen avatar pulsejet avatar pvince81 avatar pytal avatar rakekniven avatar rullzer avatar shgkme avatar simonspa avatar skjnldsv avatar starypatyk avatar susnux avatar szaimen avatar valdnet 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

photos's Issues

Multiselect actions

A user has to be able to apply a certain action (delete, add to album) by selecting a batch of photos from the timeline.

There a different ways to handle that, on of them is to display a check mark when hovering the thumbnail and a click on the icon leads the user to the select mode where he can click on thumbnails to add them to the selection and then apply an action to the files from the menu.

Here is a more visual example from Google Photos:
image

viewer changes for mobile

The top bar of the viewer doesn't work properly on mobile.

  • The title should be left-aligned at some point cause when centered it gets cut off by the controls on the right.
  • And the sidebar button should switch position with the "slideshow" button :)

Doesnt work with nextcloud 18 rc2

Hi, the photos app doesnt work for me on Nextcloud 18 RC2.
Page are blank and dont displays any photos.
Last working version was Nextcloud 17.0.2.

Browser console error message:

Bildschirmfoto 2020-01-18 um 13 41 45

Hope it can be fixed, maybe there is a workaround ?
Thanks for your work!

Add albums feature and separate "folders" from "albums"

At the moment pictures need to physically be into the same folder to form a shareable collection. In my opinion, the current 'albums' navigation item should be called 'folders' as it provides a nicer way to browse photos in the folder structure, but aside from that It would be nice to be able to create any number of shareable collections of pictures (albums) without having to duplicate them in different folders.

This is how the menu would look like:

  • photos
  • folders
  • albums
  • shared albums
  • tagged photos
  • location

Allow to browse the folder tree

Hello,

I think we could benefit from having an option (like adding a category on the left) to allow users to browse their photos directly using the folder tree of their data. I understand having an intelligent sorting and abstracting the actual locations of photos is nice for some, but there are cases were accessing the real files tree is more usable; for example when having a shared directory between nextcloud and other apps, which is manually or automatically sorted by year / monthโ€ฆ In such case I end up with far too many albums, of which many are named the same: it's difficult to know which one I should open, and it's also not easy to find the album in the (huge) list.

One other option could be to allow to launch the photo app from a directory in the files browsing.

Thanks!

Add sidebar button on the Navigation

Right next to the folder name, show an icon to open the new sidebar

There will be tabs missing as some are not working without the files app (will bugfix after) but the sharing tab should work I think :)
The viewer also needs to be update to work with the new Sidebar https://github.com/nextcloud/viewer/blob/c76f79a4419a5488322a66afa334811b9a12bc55/src/views/Viewer.vue#L569

The new sidebar was implemented here nextcloud/server#15719
the new functions for the sidebar are:

  • OCA.Files.Sidebar.close()
  • OCA.Files.Sidebar.setActiveTab(tabId)
  • OCA.Files.Sidebar.open(path)

Unable to install photos on NC 17.0.2

The photos app is not recognized by NC 17.0.2. So I cloned it from github as detailed on this page.
It now shows up but activation is not possible: "Server version 19 or higher is required."

I don't understand that error message. Can you please give more information or update the information on the photos page?

Thank you

Photo app gets stuck in general view at around 150 photos

Decription
If I scroll down the app gets stuck after around 150 photos. After that I see some placeholders and it is not possible to scroll down further.

image

If I scroll app afterwards I will get a dead screen:
image

If I reload the page or switch to files and back to photos it is working again but only until I reach the same photos.

If I open the photos in the subfolders this is working even if there are 500 in a subfolder. In total I have around 3000 Photos which is not so much in my opinion.

Logs
I only see a lot of infomassages but no errors

Info no app in context Deprecated event type for OCP\IPreview:PreviewRequested: Symfony\Component\EventDispatcher\GenericEvent

image

Environment
Nextcloud 18
PHP FPM 7.41

Implement album creation

As a user I want to be able to create an album from a selection made (see #83) or from a button "Create new album" on the UI.

As a user I should also be able to add more files to a previously created album.

No cropping photo design

In "Photos" all photos are cropped square. This representation already exists in the grid view. But in "Photos" the photos (and videos) should be in the foreground. They should therefore be presented uncut. At least there should be an option in "Photos" to present photos and videos uncropped and to share this view via public link.

Here are a few nice examples:
https://www.flickr.com/photos/dmtoh/
https://www.photocase.de/p/491889
https://stock.adobe.com/contributor/204990950/weerasak

Photos and videos are also presented uncut in Google Photos.

Face Recognition

Feature request

User type: All

User level: All

Description

Implementation of OpenCV for face recognition to easily tag people in photos.
This would make it easy for people to manage their photos.
Their exists a wrapper for OpenCV in PHP, to allow the use of it (possibly v2 feature)

As a beginning (v1) we could integrate some sort of face detection on images, and allow users to tag people themselves. Then a menu link could bring up a face albums, as tagged by the user.

Benefit / value

This would bring the NextCloud gallery on level with similar solutions, from Google, Apple and Microsoft.

Viewer adjustments

grafik

  • Close Icon is wrong, should be a x
  • Can't open the sidebar:
    TypeError: Cannot read property 'fileList' of undefined
    at showSidebar (Viewer.vue:569)

๐Ÿ–ผ๏ธ๐Ÿ“‚ Limit Photos to a single folder + subtree

I think it would be really nice to create an option where the user can select a single folder (like /Photos) and the app only scans this folder and its subfolders.

I have tons and tons of images all over my nextcloud, but only in /Photos are my, well, photos. And it's kind of a tedious task to create always a .nomedia file in all other directories.

Performance steps

  • Virtual scroller for the grid
  • Paginate timelines (show first 100? cc @jancborchardt )
  • Because of the power of 4, the images preview are loaded with 1024px min, otherwise it's 256 which is visibly pixelated. cc @rullzer

Open sidebar for files

cc @jancborchardt

Currently the ui does not provide a way to show the sidebar for a given file, you can do it when you open the viewer and THEN you can click the sidebar button from the viewer.
Shall we add a dedicated way of doing so?

App navigation items

Nextcloud Photos

  • Your photos
  • Favorites
  • Your albums
  • Shared albums
  • Tags (ref blog post of auto tagging with Tensorflow, lower priority)
  • Location (ref Maps app)

Future dreams:

  • Index
  • People (ref face recognition app)

no popup preview

Steps to reproduce

click to picture

Expected behaviour

popup preview

Actual behaviour

nothing

Server configuration detail

Operating system: Linux 4.4.0-166-generic #195-Ubuntu SMP Tue Oct 1 09:35:25 UTC 2019 x86_64

Webserver: Apache (fpm-fcgi)

Database: mysql 5.7.28

PHP version:

7.3.13
Modules loaded: Core, date, libxml, openssl, pcre, zlib, bz2, calendar, ctype, hash, filter, ftp, gettext, gmp, SPL, iconv, Reflection, session, standard, SimpleXML, sockets, mbstring, tokenizer, xml, cgi-fcgi, mysqlnd, apcu, bcmath, curl, dba, dom, enchant, fileinfo, gd, imagick, imap, intl, json, ldap, exif, mysqli, odbc, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, redis, snmp, soap, sodium, sqlite3, sysvmsg, sysvsem, sysvshm, tidy, xmlreader, xmlrpc, xmlwriter, xsl, zip, ionCube Loader, Zend OPcache, xdebug

Nextcloud version: 18.0.0 RC2 - 18.0.0.9

Updated from an older Nextcloud/ownCloud or fresh install:

Where did you install Nextcloud from: unknown

Signing status

Array
(
)

List of activated apps
Enabled:
 - accessibility: 1.4.0
 - activity: 2.11.0
 - admin_audit: 1.8.0
 - analytics: 2.0.0
 - bookmarks: 2.3.4
 - calendar: 2.0.0
 - cloud_federation_api: 1.1.0
 - comments: 1.8.0
 - contacts: 3.1.6
 - dashboardcharts: 0.1.3
 - dav: 1.14.0
 - drawio: 0.9.4
 - encryption: 2.6.0
 - federatedfilesharing: 1.8.0
 - federation: 1.8.0
 - files: 1.13.1
 - files_accesscontrol: 1.8.1
 - files_automatedtagging: 1.8.0
 - files_external: 1.9.0
 - files_frommail: 0.3.0
 - files_pdfviewer: 1.7.0
 - files_rightclick: 0.15.2
 - files_sharing: 1.10.1
 - files_trashbin: 1.8.0
 - files_versions: 1.11.0
 - files_videoplayer: 1.7.0
 - firstrunwizard: 2.7.0
 - forms: 1.1.0
 - groupfolders: 6.0.0
 - issuetemplate: 0.6.0
 - logreader: 2.3.0
 - lookup_server_connector: 1.6.0
 - mail: 1.0.0
 - maps: 0.1.4
 - metadata: 0.10.0
 - music: 0.12.1
 - nextcloud_announcements: 1.7.0
 - notifications: 2.6.0
 - oauth2: 1.6.0
 - photos: 1.0.0
 - previewgenerator: 2.2.0
 - privacy: 1.2.0
 - provisioning_api: 1.8.0
 - radio: 0.6.5
 - rainloop: 6.0.4
 - richdocuments: 3.5.1
 - serverinfo: 1.8.0
 - settings: 1.0.0
 - sharebymail: 1.8.0
 - sociallogin: 2.4.2
 - socialsharing_email: 1.0.6
 - socialsharing_facebook: 1.0.5
 - socialsharing_twitter: 1.0.5
 - spreed: 8.0.0
 - support: 1.1.0
 - survey_client: 1.6.0
 - systemtags: 1.8.0
 - tasks: 0.11.3
 - text: 1.2.3
 - theming: 1.9.0
 - twofactor_backupcodes: 1.7.0
 - twofactor_totp: 4.1.2
 - unsplash: 1.1.4
 - updatenotification: 1.8.0
 - video_converter: 0.1.3
 - viewer: 1.2.0
 - workflow_pdf_converter: 1.3.1
 - workflow_script: 1.3.1
 - workflowengine: 2.0.0
Disabled:
 - audioplayer
 - dashboard
 - deck
 - event_update_notification
 - files_fulltextsearch_tesseract
 - files_mindmap
 - impersonate
 - ocr
 - password_policy
 - recommendations
 - social
 - talk_simple_poll
 - uploaddetails
 - user_ldap

Configuration (config/config.php)
{
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "cloud.mikweb.eu"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "mysql",
    "version": "18.0.0.9",
    "overwrite.cli.url": "http:\/\/cloud.mikweb.eu",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "mysql.utf8mb4": true,
    "mail_smtpdebug": true,
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "filelocking.enabled": true,
    "maintenance": false,
    "theme": "",
    "loglevel": 0,
    "memcache.local": "\\OC\\Memcache\\APCu",
    "preview_libreoffice_path": "\/usr\/bin\/libreoffice",
    "updater.release.channel": "beta",
    "mail_smtpmode": "smtp",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "twofactor_enforced": "false",
    "twofactor_enforced_groups": [],
    "twofactor_enforced_excluded_groups": [],
    "app_install_overwrite": [
        "apporder",
        "radio",
        "end_to_end_encryption",
        "photosphereviewer",
        "sensorlogger",
        "activitylog",
        "files_reader",
        "metadata",
        "unsplash",
        "socialsharing_facebook",
        "video_converter",
        "socialsharing_email",
        "socialsharing_twitter",
        "dashboard",
        "maps",
        "forms",
        "drawio",
        "rainloop",
        "files_frommail",
        "event_update_notification"
    ],
    "mail_sendmailmode": "pipe",
    "mail_smtpauthtype": "PLAIN",
    "mail_smtpauth": 1,
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpport": "25",
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***"
}

Are you using external storage, if yes which one: local/smb/sftp/...

Are you using encryption:

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...

Client configuration

Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36

Operating system:

Logs

Web server error log
Insert your web server log here 
Nextcloud log
[no app in context] Info: Deprecated event type for OCP\IPreview:PreviewRequested: Symfony\Component\EventDispatcher\GenericEvent

GET /index.php/core/preview?fileId=436061&x=256&y=256&a=false&v=ceefaa7d4f1472ed4e22ae13fe9b58c8

fileId=776938&x=256&y=256&a=false&v=ca625b2e9b7b6a1747f29dc5b34c2f64","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"FZGs3pVm5Hzhr0cirBcp","level":1,"time":"2020-01-19T18:50:49+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=776950&x=256&y=256&a=false&v=d873e0f170b421b51fd34c6c97679448","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"EStzGmMVc79lvHkpOwOo","level":1,"time":"2020-01-19T18:50:49+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=784782&x=256&y=256&a=false&v=19cffadea109196019a0190c6eca0c5f","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"5q0RfRcAP6z60Hw8KCYv","level":1,"time":"2020-01-19T18:50:49+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=776953&x=256&y=256&a=false&v=8d66d81a0de4890e29dfb46e1b620e24","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"MXnDdckcPvz6dRCci9RL","level":1,"time":"2020-01-19T18:50:50+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=777222&x=256&y=256&a=false&v=bfbd07025aff956f067030d71d3faa13","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"CUgsT5rnUK8iKwFoOmyx","level":1,"time":"2020-01-19T18:50:50+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=776944&x=256&y=256&a=false&v=579fcf37dd37601318faf08e2fd0e9c7","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"qw6AaE1U49zB4qJdHQzk","level":1,"time":"2020-01-19T18:50:51+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=777222&x=256&y=256&a=false&v=bfbd07025aff956f067030d71d3faa13","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"oHpZrhZU9hy8YNB2zcuB","level":1,"time":"2020-01-19T18:50:52+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=776950&x=256&y=256&a=false&v=d873e0f170b421b51fd34c6c97679448","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"3U5UxqdHTv0pTyQ0qT4x","level":1,"time":"2020-01-19T18:51:01+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=776953&x=256&y=256&a=false&v=8d66d81a0de4890e29dfb46e1b620e24","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"lerndjmCDtqkibGdazjQ","level":1,"time":"2020-01-19T18:51:01+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=776944&x=256&y=256&a=false&v=579fcf37dd37601318faf08e2fd0e9c7","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"fDOeTt2fOLHi7ATxRolW","level":1,"time":"2020-01-19T18:51:02+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=776929&x=256&y=256&a=false&v=78e3ee434cd7161b9ce9872b61a691aa","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"zjSAHB6WuDvcrlTlESkN","level":1,"time":"2020-01-19T18:51:02+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=777222&x=256&y=256&a=false&v=bfbd07025aff956f067030d71d3faa13","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"RwpYuc2I8Rr38F5ta0JR","level":1,"time":"2020-01-19T18:51:02+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=776938&x=256&y=256&a=false&v=ca625b2e9b7b6a1747f29dc5b34c2f64","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"0EDn9vZv4OAD7DxBbylF","level":1,"time":"2020-01-19T18:51:03+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=776947&x=256&y=256&a=false&v=35196b1c85f64e3a0d9ce39923c7b552","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"xtZ3EPBAJNknwf0BT8PF","level":1,"time":"2020-01-19T18:51:04+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=776932&x=256&y=256&a=false&v=276d68cbcb4f3bcb89dbe1c7ed2866d5","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"GKUnuWOSY2MEphUi50wG","level":1,"time":"2020-01-19T18:51:04+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=784347&x=256&y=256&a=false&v=cc0eb2a66dbe54aba58da384fe877113","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"lRqd4Q3THGd4ozSieqU5","level":1,"time":"2020-01-19T18:51:22+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/core/preview?fileId=777222&x=256&y=256&a=false&v=bfbd07025aff956f067030d71d3faa13","message":"Deprecated event type for OCP\\IPreview:PreviewRequested: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
Browser log

globals.js:66 Handlebars is deprecated: please ship your own, this will be removed in Nextcloud 20
ne @ globals.js:66
activity-sidebar.js?v=b80d5d89-30:486 Uncaught TypeError: Cannot read property 'DetailTabView' of undefined
at activity-sidebar.js?v=b80d5d89-30:486
at activity-sidebar.js?v=b80d5d89-30:686
globals.js:66 Handlebars is deprecated: please ship your own, this will be removed in Nextcloud 20
ne @ globals.js:66
commentmodel.js:13 Uncaught TypeError: Cannot read property 'Client' of undefined
at commentmodel.js:13
at Object. (commentmodel.js:11)
at n (bootstrap:19)
at Module. (comments.js:1)
at n (bootstrap:19)
at bootstrap:83
at comments.js?v=b80d5d89-30:1
ProxyBus.js:65 Proxying an event bus of version 1.0.0 with 0.2.1
t @ ProxyBus.js:65
ProxyBus.js:65 Proxying an event bus of version 1.0.0 with 0.2.1
t @ ProxyBus.js:65
ProxyBus.js:65 Proxying an event bus of version 1.0.0 with 0.2.1
t @ ProxyBus.js:65
ProxyBus.js:65 Proxying an event bus of version 1.0.0 with 0.2.1
t @ ProxyBus.js:65
ShareSearch.js:33 OCA.Sharing.ShareSearch initialized
ExternalLinkActions.js:33 OCA.Sharing.ExternalLinkActions initialized
globals.js:66 Handlebars is deprecated: please ship your own, this will be removed in Nextcloud 20
ne @ globals.js:66
versionstabview.js:18 Uncaught TypeError: Cannot read property 'DetailTabView' of undefined
at Module. (versionstabview.js:18)
at n (bootstrap:19)
at bootstrap:83
at files_versions.js?v=b80d5d89-30:1
ProxyBus.js:65 Proxying an event bus of version 1.0.0 with 0.2.1
t @ ProxyBus.js:65
Viewer.js:40 OCA.Viewer initialized
Viewer.vue:234 No OCA.Files found, viewer is now in standalone mode
GridConfig.js:39 Current grid config Object
Sidebar.js:37 OCA.Files.Sidebar initialized
(index):1 [DOM] Password forms should have (optionally hidden) username fields for accessibility: (More info: https://goo.gl/9p2vKq) <form id=โ€‹"sudo-login-form" class=โ€‹"hidden">โ€‹โ€ฆโ€‹โ€‹
contentscript.js:1 'Allo 'Allo! Content script
GridConfig.js:39 Current grid config Object
Timeline.vue:224 Loading next page 1
Timeline.vue:224 Loading next page 2
Timeline.vue:224 Loading next page 3
vue.runtime.esm.js:1888 TypeError: t.startsWith is not a function
at t.value (Viewer.js:93)
at a.openViewer (File.vue:122)
at click (File.vue?305b:1)
at zt (vue.runtime.esm.js:1854)
at HTMLAnchorElement.n (vue.runtime.esm.js:2179)
at HTMLAnchorElement.o._wrapper (vue.runtime.esm.js:6917)

Bildschirmfoto 2020-01-19 um 19 34 02

Viewer slideshow iterate over folder

When launching the viewer slideshow it will iterate over the files in the same directory as the opened file.
This is an issue when using timeline for instance as we would like to iterate over all opened files.

Structure of app and app navigation entries to have

The Gallery app should have a left sidebar to find and view photos similar to other photo apps on Android, iOS, Mac, Windows, Gnome, KDE, ...

Sidebar entries could be:

  • All photos (in all folders as timeline)
  • Albums (grouped by folders as today)
  • Recently imported
  • Places (worldmap with pins of photos based on exif data) โ€“ half-done with a link to Maps
  • People (Different people with face detection (once we have the technology)) โ†’ #144
  • Memories (automatic grouping of photos from similar location and at a similar time)
  • more based on inspiration from other photo apps.

High load on Browser with big picture collection (>2000 pictures)

It seams this app loads a placeholder for every picture in the user folder in the browser.
My Browser warns me, that this website is slowing my PC down. Maybe the thumbnails shouldn't all be generated at once, but rather in blocks of say 100 pictures?

Server: Debian Buster
Nextcloud Verson: 18.0.0 Beta2
Php 7.3
Maria DB 10

Client: Manjaro Linux
Webbrowser: Firefox 71
16 GB Ram
8 Core Ryzen System

Design of the main content view

TL;DR:
A simplest start for the main view would be similar to Arcane Office: https://photos.arcaneoffice.com

Then eventually we can look into stuff like macOS Photos: https://www.apple.com/macos/photos/

Layout

The current layout fills the screen from left to right, making for a very stuffed experience. Other platforms limit the width of the main photo display to fewer elements:

Both macOS Photos and Arcane Photos (and Instagram) show photos square, cropped. We should do this too.
(Note: In search, macOS Photos has a special view where itโ€™s visible if a photo is portrait or landscape โ€“ we can think about that in the future as well.)

Structure

Currently we show a folder structure in the main view the same way like the Files app. Other photos apps do not do this, and itโ€™s very crowded.
Instead we should simply go with a chronological photo stream like macOS Photos and the like.
Especially since we now have a proper grid view in Files, the Gallery app can have a design better suited to viewing photos.

Display

We show a lot of other filetypes like SVG icons, PNG screenshots, etc. We could think about limiting these so thereโ€™s less unrelated noise inbetween photos.

cc @nextcloud/designers @skjnldsv

Rows make photos disappear when resizing window

I'd like to challenge the use of rows in the grid.

Issue

The current way splits array of photos into multiple chunks of 5 photos. This leads to mistakes when the view/grid gets resized and can't display this amount of photos.

For instance here is a demo:
image

8 photos are currently displayed here.
And then when we resize:
image

6 photos being displayed on mobile view.

Why current use of rows breaks in the future:

It would be great to have photos appearing without thumbnailing, in their original ratio aspect. That means the row will have a variable number of photos in it.

Also, if you take an upcoming feature to split by date the grid, this will endup in lot of Array slicing operations that shoud be handled by css styling.

Support Groupfolders

We use group folders app for shared space and most apps support them without any issue, but new photo app won't show any folders/images.

Blank page

Steps to reproduce

select photos app

Expected behaviour

picture view

Actual behaviour

blank page

Server configuration detail

Operating system: Linux 4.4.0-166-generic #195-Ubuntu SMP Tue Oct 1 09:35:25 UTC 2019 x86_64

Webserver: Apache (fpm-fcgi)

Database: mysql 5.7.28

PHP version:

7.3.13
Modules loaded: Core, date, libxml, openssl, pcre, zlib, bz2, calendar, ctype, hash, filter, ftp, gettext, gmp, SPL, iconv, Reflection, session, standard, SimpleXML, sockets, mbstring, tokenizer, xml, cgi-fcgi, mysqlnd, apcu, bcmath, curl, dba, dom, enchant, fileinfo, gd, imagick, imap, intl, json, ldap, exif, mysqli, odbc, PDO, pdo_mysql, PDO_ODBC, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, redis, snmp, soap, sodium, sqlite3, sysvmsg, sysvsem, sysvshm, tidy, xmlreader, xmlrpc, xmlwriter, xsl, zip, ionCube Loader, Zend OPcache, xdebug

Nextcloud version: 18.0.0 RC2 - 18.0.0.9

Updated from an older Nextcloud/ownCloud or fresh install:

Where did you install Nextcloud from: unknown

Signing status

Array
(
)

List of activated apps
Enabled:
 - accessibility: 1.4.0
 - activity: 2.11.0
 - admin_audit: 1.8.0
 - analytics: 2.0.0
 - bookmarks: 2.3.4
 - calendar: 2.0.0
 - cloud_federation_api: 1.1.0
 - comments: 1.8.0
 - contacts: 3.1.6
 - dashboardcharts: 0.1.3
 - dav: 1.14.0
 - drawio: 0.9.4
 - encryption: 2.6.0
 - federatedfilesharing: 1.8.0
 - federation: 1.8.0
 - files: 1.13.1
 - files_accesscontrol: 1.8.1
 - files_automatedtagging: 1.8.0
 - files_external: 1.9.0
 - files_frommail: 0.3.0
 - files_pdfviewer: 1.7.0
 - files_rightclick: 0.15.2
 - files_sharing: 1.10.1
 - files_trashbin: 1.8.0
 - files_versions: 1.11.0
 - files_videoplayer: 1.7.0
 - firstrunwizard: 2.7.0
 - forms: 1.1.0
 - groupfolders: 6.0.0
 - issuetemplate: 0.6.0
 - logreader: 2.3.0
 - lookup_server_connector: 1.6.0
 - mail: 1.0.0
 - maps: 0.1.2
 - metadata: 0.10.0
 - music: 0.12.1
 - nextcloud_announcements: 1.7.0
 - notifications: 2.6.0
 - oauth2: 1.6.0
 - photos: 1.0.0
 - previewgenerator: 2.2.0
 - privacy: 1.2.0
 - provisioning_api: 1.8.0
 - radio: 0.6.5
 - rainloop: 6.0.4
 - richdocuments: 3.5.1
 - serverinfo: 1.8.0
 - settings: 1.0.0
 - sharebymail: 1.8.0
 - sociallogin: 2.4.1
 - socialsharing_email: 1.0.6
 - socialsharing_facebook: 1.0.5
 - socialsharing_twitter: 1.0.5
 - spreed: 8.0.0
 - support: 1.1.0
 - survey_client: 1.6.0
 - systemtags: 1.8.0
 - tasks: 0.11.3
 - text: 1.2.3
 - theming: 1.9.0
 - twofactor_backupcodes: 1.7.0
 - twofactor_totp: 4.1.2
 - unsplash: 1.1.4
 - updatenotification: 1.8.0
 - video_converter: 0.1.2
 - viewer: 1.2.0
 - workflow_pdf_converter: 1.3.1
 - workflow_script: 1.3.1
 - workflowengine: 2.0.0
Disabled:
 - audioplayer
 - dashboard
 - deck
 - event_update_notification
 - files_fulltextsearch_tesseract
 - files_mindmap
 - impersonate
 - ocr
 - password_policy
 - recommendations
 - social
 - talk_simple_poll
 - uploaddetails
 - user_ldap

Configuration (config/config.php)
{
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "cloud.mikweb.eu"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "mysql",
    "version": "18.0.0.9",
    "overwrite.cli.url": "http:\/\/cloud.mikweb.eu",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "mysql.utf8mb4": true,
    "mail_smtpdebug": true,
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "filelocking.enabled": true,
    "maintenance": false,
    "theme": "",
    "loglevel": 0,
    "memcache.local": "\\OC\\Memcache\\APCu",
    "preview_libreoffice_path": "\/usr\/bin\/libreoffice",
    "updater.release.channel": "beta",
    "mail_smtpmode": "smtp",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "twofactor_enforced": "false",
    "twofactor_enforced_groups": [],
    "twofactor_enforced_excluded_groups": [],
    "app_install_overwrite": [
        "apporder",
        "radio",
        "end_to_end_encryption",
        "photosphereviewer",
        "sensorlogger",
        "activitylog",
        "files_reader",
        "metadata",
        "unsplash",
        "socialsharing_facebook",
        "video_converter",
        "socialsharing_email",
        "socialsharing_twitter",
        "dashboard",
        "maps",
        "forms",
        "drawio",
        "rainloop",
        "files_frommail",
        "event_update_notification"
    ],
    "mail_sendmailmode": "pipe",
    "mail_smtpauthtype": "PLAIN",
    "mail_smtpauth": 1,
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpport": "25",
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***"
}

Are you using external storage, if yes which one: local/smb/sftp/...

Are you using encryption:

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...

Client configuration

Browser: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36

Operating system:

Logs

Web server error log
Thu Jan 16 21:48:36.600551 2020] [access_compat:error] [pid 12907] [client 91.65.147.230:49237] AH01797: client denied by server configuration: /var/www/vhosts/cloud.mikweb.eu/httpdocs/config
[Fri Jan 17 06:26:04.501652 2020] [access_compat:error] [pid 6356] [client 91.65.147.230:49212] AH01797: client denied by server configuration: /var/www/vhosts/cloud.mikweb.eu/httpdocs/config
[Fri Jan 17 06:26:04.779911 2020] [access_compat:error] [pid 25197] [client 91.65.147.230:49214] AH01797: client denied by server configuration: /var/www/vhosts/cloud.mikweb.eu/httpdocs/config
[Fri Jan 17 19:05:30.449191 2020] [core:crit] [pid 28144] (13)Permission denied: [client 91.65.147.230:57928] AH00529: /var/www/vhosts/cloud.mikweb.eu/httpdocs/data/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/var/www/vhosts/cloud.mikweb.eu/httpdocs/data/' is executable
[Fri Jan 17 19:11:56.076773 2020] [proxy_fcgi:error] [pid 29547] (104)Connection reset by peer: [client 91.65.147.230:56994] AH01075: Error dispatching request to : (passing brigade to output filters)
[Fri Jan 17 19:11:56.206715 2020] [proxy_fcgi:error] [pid 30140] (32)Broken pipe: [client 91.65.147.230:56998] AH01075: Error dispatching request to : (passing brigade to output filters)
[Fri Jan 17 19:11:57.631072 2020] [proxy_fcgi:error] [pid 29695] (32)Broken pipe: [client 91.65.147.230:57000] AH01075: Error dispatching request to : (passing brigade to output filters)
[Fri Jan 17 19:11:59.074162 2020] [proxy_fcgi:error] [pid 30201] (32)Broken pipe: [client 91.65.147.230:57004] AH01075: Error dispatching request to : (passing brigade to output filters)
[Fri Jan 17 19:12:00.022866 2020] [proxy_fcgi:error] [pid 30125] (32)Broken pipe: [client 91.65.147.230:57002] AH01075: Error dispatching request to : (passing brigade to output filters)
[Fri Jan 17 19:12:00.775403 2020] [proxy_fcgi:error] [pid 29695] (104)Connection reset by peer: [client 91.65.147.230:57006] AH01075: Error dispatching request to : (passing brigade to output filters)
[Fri Jan 17 19:12:01.674819 2020] [proxy_fcgi:error] [pid 30119] (104)Connection reset by peer: [client 91.65.147.230:57010] AH01075: Error dispatching request to : (passing brigade to output filters)
Nextcloud log
Insert \Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"Zd90fYXjgEOihUaPU7lp","level":1,"time":"2020-01-17T20:18:23+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/settings/admin/issuetemplate","message":"Deprecated event type for \\OCP\\Files::preCreate: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"Zd90fYXjgEOihUaPU7lp","level":1,"time":"2020-01-17T20:18:23+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/settings/admin/issuetemplate","message":"Deprecated event type for \\OCP\\Files::postWrite: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"Zd90fYXjgEOihUaPU7lp","level":1,"time":"2020-01-17T20:18:23+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/settings/admin/issuetemplate","message":"Deprecated event type for \\OCP\\Files::postCreate: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"Zd90fYXjgEOihUaPU7lp","level":1,"time":"2020-01-17T20:18:23+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/settings/admin/issuetemplate","message":"Deprecated event type for \\OCP\\Files::preWrite: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"Zd90fYXjgEOihUaPU7lp","level":1,"time":"2020-01-17T20:18:23+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/settings/admin/issuetemplate","message":"Deprecated event type for \\OCP\\Files::postWrite: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"Zd90fYXjgEOihUaPU7lp","level":1,"time":"2020-01-17T20:18:23+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/settings/admin/issuetemplate","message":"Deprecated event type for \\OCP\\Files::preWrite: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"Zd90fYXjgEOihUaPU7lp","level":1,"time":"2020-01-17T20:18:23+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/settings/admin/issuetemplate","message":"Deprecated event type for \\OCP\\Files::postWrite: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"Zd90fYXjgEOihUaPU7lp","level":1,"time":"2020-01-17T20:18:23+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/settings/admin/issuetemplate","message":"Deprecated event type for \\OCP\\Files::preWrite: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"Zd90fYXjgEOihUaPU7lp","level":1,"time":"2020-01-17T20:18:23+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"no app in context","method":"GET","url":"/index.php/settings/admin/issuetemplate","message":"Deprecated event type for \\OCP\\Files::postWrite: Symfony\\Component\\EventDispatcher\\GenericEvent","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"Zd90fYXjgEOihUaPU7lp","level":0,"time":"2020-01-17T20:18:23+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"core","method":"GET","url":"/index.php/settings/admin/issuetemplate","message":"SCSSCacher: /apps/issuetemplate/css/style.scss compiled and successfully cached","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"35x1IS5unjLK8quX8j1V","level":3,"time":"2020-01-17T20:20:14+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"PHP","method":"POST","url":"/index.php/apps/issuetemplate/render","message":"Undefined index: client-detail at /var/www/vhosts/cloud.mikweb.eu/httpdocs/apps/issuetemplate/lib/Detail.php#59","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"35x1IS5unjLK8quX8j1V","level":3,"time":"2020-01-17T20:20:14+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"PHP","method":"POST","url":"/index.php/apps/issuetemplate/render","message":"Undefined index: client-detail at /var/www/vhosts/cloud.mikweb.eu/httpdocs/apps/issuetemplate/lib/Detail.php#59","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"35x1IS5unjLK8quX8j1V","level":3,"time":"2020-01-17T20:20:14+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"PHP","method":"POST","url":"/index.php/apps/issuetemplate/render","message":"Undefined index: log-detail at /var/www/vhosts/cloud.mikweb.eu/httpdocs/apps/issuetemplate/lib/Detail.php#59","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"35x1IS5unjLK8quX8j1V","level":3,"time":"2020-01-17T20:20:14+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"PHP","method":"POST","url":"/index.php/apps/issuetemplate/render","message":"Undefined index: log-detail at /var/www/vhosts/cloud.mikweb.eu/httpdocs/apps/issuetemplate/lib/Detail.php#59","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"35x1IS5unjLK8quX8j1V","level":3,"time":"2020-01-17T20:20:14+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"PHP","method":"POST","url":"/index.php/apps/issuetemplate/render","message":"Undefined index: log-detail at /var/www/vhosts/cloud.mikweb.eu/httpdocs/apps/issuetemplate/lib/Detail.php#59","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"2NXhm4k9zjkDm2VoMS4U","level":3,"time":"2020-01-17T20:20:22+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"PHP","method":"POST","url":"/index.php/apps/issuetemplate/render","message":"Undefined index: log-detail at /var/www/vhosts/cloud.mikweb.eu/httpdocs/apps/issuetemplate/lib/Detail.php#59","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"2NXhm4k9zjkDm2VoMS4U","level":3,"time":"2020-01-17T20:20:22+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"PHP","method":"POST","url":"/index.php/apps/issuetemplate/render","message":"Undefined index: log-detail at /var/www/vhosts/cloud.mikweb.eu/httpdocs/apps/issuetemplate/lib/Detail.php#59","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"}
{"reqId":"2NXhm4k9zjkDm2VoMS4U","level":3,"time":"2020-01-17T20:20:22+00:00","remoteAddr":"91.65.147.230","user":"mikweb2014","app":"PHP","method":"POST","url":"/index.php/apps/issuetemplate/render","message":"Undefined index: log-detail at /var/www/vhosts/cloud.mikweb.eu/httpdocs/apps/issuetemplate/lib/Detail.php#59","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","version":"18.0.0.9"} Nextcloud log here
Browser log

jquery-migrate.min.js:2 JQMIGRATE: Migrate is installed, version 1.4.1
ProxyBus.js:65 Proxying an event bus of version 1.0.0 with 0.2.1
t @ ProxyBus.js:65
globals.js:66 Handlebars is deprecated: please ship your own, this will be removed in Nextcloud 20
ne @ globals.js:66
ProxyBus.js:65 Proxying an event bus of version 1.0.0 with 0.2.1
e @ ProxyBus.js:65
globals.js:66 Handlebars is deprecated: please ship your own, this will be removed in Nextcloud 20
ne @ globals.js:66
activity-sidebar.js?v=dcbe57a0-30:486 Uncaught TypeError: Cannot read property 'DetailTabView' of undefined
at activity-sidebar.js?v=dcbe57a0-30:486
at activity-sidebar.js?v=dcbe57a0-30:686
globals.js:66 Handlebars is deprecated: please ship your own, this will be removed in Nextcloud 20
ne @ globals.js:66
commentmodel.js:13 Uncaught TypeError: Cannot read property 'Client' of undefined
at commentmodel.js:13
at Object. (commentmodel.js:11)
at n (bootstrap:19)
at Module. (comments.js:1)
at n (bootstrap:19)
at bootstrap:83
at comments.js?v=dcbe57a0-30:1
ProxyBus.js:65 Proxying an event bus of version 1.0.0 with 0.2.1
t @ ProxyBus.js:65
ProxyBus.js:65 Proxying an event bus of version 1.0.0 with 0.2.1
t @ ProxyBus.js:65
ProxyBus.js:65 Proxying an event bus of version 1.0.0 with 0.2.1
t @ ProxyBus.js:65
ProxyBus.js:65 Proxying an event bus of version 1.0.0 with 0.2.1
t @ ProxyBus.js:65
ShareSearch.js:33 OCA.Sharing.ShareSearch initialized
ExternalLinkActions.js:33 OCA.Sharing.ExternalLinkActions initialized
globals.js:66 Handlebars is deprecated: please ship your own, this will be removed in Nextcloud 20
ne @ globals.js:66
versionstabview.js:18 Uncaught TypeError: Cannot read property 'DetailTabView' of undefined
at Module. (versionstabview.js:18)
at n (bootstrap:19)
at bootstrap:83
at files_versions.js?v=dcbe57a0-30:1
ProxyBus.js:65 Proxying an event bus of version 1.0.0 with 0.2.1
t @ ProxyBus.js:65
Viewer.js:40 OCA.Viewer initialized
Viewer.vue:234 No OCA.Files found, viewer is now in standalone mode
semver sync:4 Uncaught Error: Cannot find module './functions/valid'
at n (semver sync:2)
at index.js:3
at Object.get [as valid] (index.js:10)
at new t (ProxyBus.js:70)
at Object. (index.js:20)
at i (bootstrap:63)
at Object. (requesttoken.js:9)
at i (bootstrap:63)
at Object. (index.js:25)
at i (bootstrap:63)
Sidebar.js:37 OCA.Files.Sidebar initialized

Photos depends on Viewer

When accessing the app, the Nextcloud "Interner Serverfehler" page shows up.

Related Nextcloud error entry:

[index] Error: Exception: Class 'OCA\Viewer\Event\LoadViewer' not found at <<closure>>

0. /var/www/nextcloud/lib/private/AppFramework/App.php line 123
   OC\AppFramework\Http\Dispatcher->dispatch(OCA\Photos\Contr ... }}, "index")
1. /var/www/nextcloud/lib/private/AppFramework/Routing/RouteActionHandler.php line 47
   OC\AppFramework\App::main("OCA\\Photos\\Controller\\PageController", "index", OC\AppFramework\ ... {}, {_route: "photos.page.index"})
2. <<closure>>
   OC\AppFramework\Routing\RouteActionHandler->__invoke({_route: "photos.page.index"})
3. /var/www/nextcloud/lib/private/Route/Router.php line 298
   call_user_func(OC\AppFramework\ ... {}, {_route: "photos.page.index"})
4. /var/www/nextcloud/lib/base.php line 1006
   OC\Route\Router->match("/apps/photos/")
5. /var/www/nextcloud/index.php line 42
   OC::handleRequest()

GET /nextcloud/apps/photos/
from 95.81.18.51 by Micha at 2019-12-10T13:13:41+01:00

As a guess, I enabled the Viewer app and voila! No error, but first access takes VERY long to generate previous I guess. However it works.

I don't know if app dependencies are such a great idea, especially since there seems to be no infrastructure to handle those, e.g. enabling required apps automatically and warn when disabling dependencies etc. Wouldn't it make sense to simply merge those two apps then? I was already confused when Viewer app was added the first time, added as core app, while Gallery app already provided all feature I require, hence I disabled obsolete Viewer. Now Gallery seems to have been replaced by Photos?

At least a missing app should be handled gracefully with clear info, instead of such an error, which is hard to read for most.

Back to previous album can end up in an empty folder

Related to #74, when you go in Albums list you see children albums "in depth" and any intermediate folder not containing photos is skipped.
But if you click on a level 2 children for instance "Documents/somephotos" and click to go back you get to "Documents" and not the root album.

The navigation for the end user is not the same then.

Photos page blank in latest snap

Nextcloud 18.0.0 RC1 Build:2020-01-09T22:01:49+00:00 edd957140ad35e5e679084246dfb67eaca584119

Seems many points to OC.Files undefined.

activity-sidebar.js?v=5b58f999-0:486 Uncaught TypeError: Cannot read property 'DetailTabView' of undefined
    at activity-sidebar.js?v=5b58f999-0:486
    at activity-sidebar.js?v=5b58f999-0:686

globals.js:66 Handlebars is deprecated: please ship your own, this will be removed in Nextcloud 20

commentmodel.js:13 Uncaught TypeError: Cannot read property 'Client' of undefined
    at commentmodel.js:13
    at Object.<anonymous> (commentmodel.js:11)
    at n (bootstrap:19)
    at Module.<anonymous> (comments.js:1)
    at n (bootstrap:19)
    at bootstrap:83
    at comments.js?v=5b58f999-0:1

globals.js:66 Handlebars is deprecated: please ship your own, this will be removed in Nextcloud 20

versionstabview.js:18 Uncaught TypeError: Cannot read property 'DetailTabView' of undefined
    at Module.<anonymous> (versionstabview.js:18)
    at n (bootstrap:19)
    at bootstrap:83
    at files_versions.js?v=5b58f999-0:1

semver sync:2 Uncaught Error: Cannot find module './functions/valid'
    at n (semver sync:2)
    at index.js:3
    at Object.get [as valid] (index.js:10)
    at new t (ProxyBus.js:70)
    at Object.<anonymous> (index.js:20)
    at i (bootstrap:63)
    at Object.<anonymous> (requesttoken.js:9)
    at i (bootstrap:63)
    at Object.<anonymous> (index.js:25)
    at i (bootstrap:63)

Memory usage in Firefox with NC 18 beta 2 explodes

I am using NC 18 beta 2. When opening Photos the memory usage of Firefox just keeps rising and rising until it slows down to a crawl. Sometimes I will see some unresponsive Thumbnails, sometimes not. I have a lot of image files (>10000). Somehow the new version of photos does not seem to handle large image libraries gracefully.

Viewer and photo overview enhancements

We should have the at least some of these functions

  1. in the picture view (accessable via sidebar?) and
  2. in the overview with multiselect
  • share
  • delete
  • download
  • see (and change) info (dates, location)
  • favourite
  • add to album

External local storage is not picked up

Hello,
I have an local external storage where i am exposing my digikam organized photos. Unfortunately, the Photos app does not pick up this folder. Is there a setting any where to select folders for the Photo app?

Albums design review

Just looked through the app (on the albums branch) and noted down some of the possible issues and enhancements:

  • Heading in "Your albums" view says "Photos", should be "Your albums" (and for other sections that respective section :)
  • The font-size of the album cover texts is a bit big, itโ€™s the equivalent of 19px. Thatโ€™s almost the 20px of the h2. Better would be something like 16px
  • The breakpoint at 1024 when the navigation shows again makes the images look really small. Goes from 5 pictures without nav โ†’ 6 pictures with nav. Instead should be 5 pics without โ†’ 4 pics with nav?
  • When you zoom the interface itโ€™s a bit strange, as when you zoom in actually the pictures get smaller? This seems to be cause the navigation gets bigger but the pictures stay the same amount and thus get smaller?
  • On mobile, the heading overlaps with the menu icon. Heading should be moved to the right accordingly โ†’ only on mobile. Also the menu icon could be moved down a bit to vertically align with the heading
  • On mobile in subfolders, the back button and menu icon overlap. When in a subfolder, only the back button should show and not the menu icon
  • Back button in empty folders seems missing still? Also should show the title as heading for reference
  • The emptycontent text says "This folder does not contain pictures", better "No photos in here" (like "No files in here" in Files) much shorter
  • (The Undraw emptycontent graphic looks a bit out of place. Very round etc, where the Photos app is blocky and sleek. Not sure if this is an issue)
  • Failed preview on folder should be dismissed (if 4 images -> show 3) #112
  • Image load flash on preview (this is because we use a trick to load the Image asynchronously to allow for request cancellation if the user browse away, otherwise it will wait until all pictures are loaded and then navigate away
  • Navigation should ellipsis the folder name (for you @jakobroehrl ?)
  • Opening the sidebar resize the files previews, we should reflow the list
  • Locations should open in a new tab

@skjnldsv let me know what you think and if Iโ€™m missing anything :)

1.0.0 shared link with NC Hub 18.0 album view not working

Installed NC18.0. Photos app is on v1.0.0.
Often share a certain folder with family to share photos in album view, with password and expiration date. I've set all options to disabled (no editing, uploading or downloading). Would expect the album to show and users to be able to click on a photo to show it in full size.

The thumbnail view can be shown (though it would be nice to be able to select the view when sharing images), but when clicking on a thumbnail, it either gets downloaded straight away or nothing happens - it doesn't pop up in a lightbox as one would expect. This worked well in NC17.

Tried viewing with Internet Explorer 11 (thumbs don't render correctly there) and with latest chrome (79.0.3945.130).

Slideshow photos for public links

With Nextcloud 18 and Photos app there is no preview popup any more for pictures in folder share by link. When clicking a picture, always the download function is triggered. With this there is basically no real image gallery sharing possible any more.
In Nextcloud 17 with the gallery app there was a preview popup and a slideshow option also for shared folders.

Please bring that back. I love how fast the new photos app is (order of magnitude faster than in nc17) but image preview is a basic funtction I really cannot miss (or rather the rest of my family wanting to see the images of my daughter)

Server configuration detail

Operating system: Linux 4.15.0-74-generic #84-Ubuntu SMP Thu Dec 19 08:06:28 UTC 2019 x86_64

Webserver: Apache/2.4.38 (Debian) (apache2handler)

Database: mysql 10.4.11

PHP version: 7.3.13

Modules loaded: Core, date, libxml, openssl, pcre, sqlite3, zlib, ctype, curl, dom, fileinfo, filter, ftp, hash, iconv, json, mbstring, SPL, PDO, session, posix, Reflection, standard, SimpleXML, pdo_sqlite, Phar, tokenizer, xml, xmlreader, xmlwriter, mysqlnd, apache2handler, apcu, exif, gd, gmp, imagick, intl, ldap, memcached, pcntl, pdo_mysql, pdo_pgsql, redis, sodium, zip, Zend OPcache

Nextcloud version: 18.0.0 - 18.0.0.10

Updated from an older Nextcloud/ownCloud or fresh install: updated from 17.0

Where did you install Nextcloud from: Docker deployed on kubernetes 1.17.0

Signing status

Array ( )

List of activated apps

Enabled:

  • accessibility: 1.4.0
  • calendar: 2.0.0
  • carnet: 0.19.2
  • cloud_federation_api: 1.1.0
  • cms_pico: 1.0.4
  • comments: 1.8.0
  • dav: 1.14.0
  • encryption: 2.6.0
  • external: 3.5.0
  • federatedfilesharing: 1.8.0
  • federation: 1.8.0
  • files: 1.13.1
  • files_external: 1.9.0
  • files_pdfviewer: 1.7.0
  • files_sharing: 1.10.1
  • files_trashbin: 1.8.0
  • files_versions: 1.11.0
  • files_videoplayer: 1.7.0
  • firstrunwizard: 2.7.0
  • logreader: 2.3.0
  • lookup_server_connector: 1.6.0
  • nextcloud_announcements: 1.7.0
  • notifications: 2.6.0
  • oauth2: 1.6.0
  • onlyoffice: 4.1.1
  • password_policy: 1.8.0
  • photos: 1.0.0
  • previewgenerator: 2.2.0
  • privacy: 1.2.0
  • provisioning_api: 1.8.0
  • recommendations: 0.6.0
  • serverinfo: 1.8.0
  • settings: 1.0.0
  • sharebymail: 1.8.0
  • support: 1.1.0
  • survey_client: 1.6.0
  • systemtags: 1.8.0
  • tasks: 0.11.3
  • text: 1.0.2
  • theming: 1.9.0
  • twofactor_backupcodes: 1.7.0
  • updatenotification: 1.8.0
  • viewer: 1.2.0
  • workflowengine: 2.0.0
    Disabled:
  • activity
  • admin_audit
  • bruteforcesettings
  • contacts
  • files_rightclick
  • user_ldap
Configuration (config/config.php)

{
"htaccess.RewriteBase": "/",
"apps_paths": [
{
"path": "/var/www/html/apps",
"url": "/apps",
"writable": false
},
{
"path": "/var/www/html/custom_apps",
"url": "/custom_apps",
"writable": true
}
],
"instanceid": "REMOVED SENSITIVE VALUE",
"passwordsalt": "REMOVED SENSITIVE VALUE",
"secret": "REMOVED SENSITIVE VALUE",
"trusted_domains": [
"*REMOVED SENSITIVE VALUE",
"nextcloud"
],
"trusted_proxies": "REMOVED SENSITIVE VALUE",
"forwarded_for_headers": [
"X-Forwarded-For",
"HTTP_X_FORWARDED_FOR"
],
"datadirectory": "REMOVED SENSITIVE VALUE",
"dbtype": "mysql",
"version": "18.0.0.10",
"dbname": "REMOVED SENSITIVE VALUE",
"dbhost": "REMOVED SENSITIVE VALUE",
"dbport": "3306",
"dbtableprefix": "oc_",
"dbuser": "REMOVED SENSITIVE VALUE",
"dbpassword": "REMOVED SENSITIVE VALUE",
"installed": true,
"theme": "",
"loglevel": 2,
"maintenance": false,
"mail_smtpmode": "smtp",
"mail_smtpauthtype": "PLAIN",
"mail_smtpsecure": "ssl",
"mail_from_address": "REMOVED SENSITIVE VALUE",
"mail_domain": "REMOVED SENSITIVE VALUE",
"mail_smtpauth": 1,
"mail_smtphost": "REMOVED SENSITIVE VALUE",
"mail_smtpport": "465",
"mail_smtpname": "REMOVED SENSITIVE VALUE",
"mail_smtppassword": "REMOVED SENSITIVE VALUE",
"preview_max_x": 1024,
"preview_max_y": 768,
"preview_max_scale_factor": 1,
"memcache.local": "\OC\Memcache\APCu",
"memcache.locking": "\OC\Memcache\Redis",
"redis": {
"host": "REMOVED SENSITIVE VALUE",
"port": 6379
},
"overwrite.cli.url": "https://*REMOVED SENSITIVE VALUE",
"overwriteprotocol": "https",
"mysql.utf8mb4": false,
"app_install_overwrite": [
"text"
],
"has_rebuilt_cache": true
}

External storages: yes

External storage configuration

No mounts configured

Encryption: no

User-backends:

OC\User\Database

Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36

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.