Giter Club home page Giter Club logo

photoprism-mobile's People

Contributors

benmccann avatar codanael avatar czan avatar digitalknk avatar jaromeyer avatar lastzero avatar lukas-heiligenbrunner avatar mortein avatar muety avatar spaibs avatar thielepaul 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

photoprism-mobile's Issues

Share multiple Photos

Hii,

It would be really nice if you could add the feature to share Multiple Photos. Currently the Share Button is only available on the Picture View. What about to show it on the Topbar when you have selected some Photos?

Add to album dialog not working

How to reproduce:

  1. Select one or more picture on photos page
  2. Click plus (+) sign

Expected: Dialog to select an album appears

Actual: Background is darkened, but no dialog shows up.

Performance on Photo gallery view

Seems like loading images on app startup makes the app crash sometimes. I am guessing it is because of the images resolution. Any optimization that could help?

Add photos to an album after auto upload

To see which photos have been uploaded from which device and which album, it would be useful if the photos would be added to an album containing the device name and the folder name.

The backend should provide a file endpoint that gives the uuid of a photo from the filehash.

Lazy loading for albums

At the moment only the first 1000 albums are loaded.
The backend should provide the information how many albums exist.

Lazy loading for Photos

Find and implement an intelligent lazy loading strategy for photo data:
metadata in JSON format for a single photo is about 1.5 KB, for an instance with several thousand picture that means loading several MB, when refreshing the photo list.

A possible strategy is:

  • load number of photos per month (this should not be a lot of data even for large installations)
  • lazily load the photos per month on scrolling in batches of 100 photos

Necessary steps:

  • implement new endpoint in PhotoPrism backend
  • use endpoint in Flutter app

App doesn't seem to work when pointing to local IP

Tried to set Photoprism URL to 192.x.x.x:2342 (with PhotoPrism auth enabled), but when I switch to Photos nothing appears.
Tried to access Photoprism from the browser (on the same mobile device) and I can access it without any problem.

To integrate what said above, I've also tried to access Photoprism externally to my network and again, I'm able to reach it from the mobile browser but not the app.

Request: Add Android app to "Browse files in other apps" list

Right now when sending an image in an app, and try to browse for it via another app, PhotoPrism does not show up, you only end up seeing other apps like Drive, Photos, OneDrive, etc.

It would be extremely handy if PhotoPrism was listed here, as many will likely be using this as a Google Photos replacement (as I am) and having it there will let users quickly send/share photos without needing to directly launch the PhotoPrism android app FIRST and select the photo.

image

IOS style app

I wanted to know if, once the test phase is over, it is planned to create a version of the app for IOS that has the style of IOS, at this moment it looks like an Android app (animations, buttons, etc.)

It's not meant to be a criticism, but as good as it is, it seems a little out of place

Auto upload doesn't resume, log sais album exists

I had about 4000 photos spread over 4 albums to upload. When closing the app auto upload stopped. When resuming I get the message that the album already exists in the log and nothing happens in the GUI. I have tried deleting all the content in the upload folder in photoprism with no change. If I select a new album to upload (for example downloads) it then works until I quit the app and then the same problem occurs.
Thank you for any help!
Screenshot_20201207-085540

iOS: Use photo/video picker rather than file picker

Currently on iOS, when choosing the "Upload Photo" option from the "three dots" menu, the user is presented with a "files" picker:

IMG_E21AC332F49B-1

This is not particularly useful because it does not allow access to the user's photos and videos. From 15 minutes of looking at the code, I think this is because the app is using this Flutter package which only supports the file picker and not the photos picker on iOS: https://github.com/miguelpruivo/flutter_file_picker

For iOS it should instead be using the system photos picker.

Uploading large photo batches exceeds memory limits and renders the app unusable

Tested on a Pixel 4XL

11-26 17:17:18.013 23792 23818 I flutter : ########## Upload new photo ##########
11-26 17:17:18.185   598   610 D libnos_transport: Calling app 0 with params 0x0200
11-26 17:17:18.188   598   610 D libnos_transport: App 0 inspection status=0x00000000 reply_len=0 protocol=1 flags=0x0000
11-26 17:17:18.188   598   610 D libnos_transport: Send app 0 command data (0 bytes)
11-26 17:17:18.188   598   610 D libnos_transport: Send app 0 go command 0x00000200
11-26 17:17:18.189   598   610 D libnos_transport: Polling app 0
11-26 17:17:18.193   598   610 D libnos_transport: App 0 polled=2 status=0x80000000 reply_len=80 flags=0x0000
11-26 17:17:18.193   598   610 D libnos_transport: Read app 0 reply data (80 bytes)
11-26 17:17:18.195   598   610 D libnos_transport: App 0 returning 0x0
11-26 17:17:18.214 23792 23792 I rism.photopris: Waiting for a blocking GC Alloc
11-26 17:17:18.231 23792 23792 I rism.photopris: WaitForGcToComplete blocked Alloc on ProfileSaver for 17.180ms
11-26 17:17:18.231 23792 23792 I rism.photopris: Starting a blocking GC Alloc
11-26 17:17:18.231 23792 23792 I rism.photopris: Starting a blocking GC Alloc
11-26 17:17:18.240 23792 23792 I rism.photopris: Clamp target GC heap from 269MB to 256MB
11-26 17:17:18.240 23792 23792 I rism.photopris: Alloc concurrent copying GC freed 434(26KB) AllocSpace objects, 0(0B) LOS objects, 32% free, 173MB/256MB, paused 23us total 8.292ms
11-26 17:17:18.240 23792 23792 I rism.photopris: Starting a blocking GC Alloc
11-26 17:17:18.244 23792 23792 I rism.photopris: Starting a blocking GC Alloc
11-26 17:17:18.252 23792 23792 I rism.photopris: Clamp target GC heap from 269MB to 256MB
11-26 17:17:18.252 23792 23792 I rism.photopris: Alloc concurrent copying GC freed 3(16KB) AllocSpace objects, 0(0B) LOS objects, 32% free, 173MB/256MB, paused 21us total 8.011ms
11-26 17:17:18.252 23792 23792 I rism.photopris: Forcing collection of SoftReferences for 85MB allocation
11-26 17:17:18.252 23792 23792 I rism.photopris: Starting a blocking GC Alloc
11-26 17:17:18.258 23792 23792 I rism.photopris: Clamp target GC heap from 269MB to 256MB
11-26 17:17:18.258 23792 23792 I rism.photopris: Alloc concurrent copying GC freed 1021(51KB) AllocSpace objects, 0(0B) LOS objects, 32% free, 173MB/256MB, paused 19us total 5.786ms
11-26 17:17:18.258 23792 23792 W rism.photopris: Throwing OutOfMemoryError "Failed to allocate a 90001961 byte allocation with 86202016 free bytes and 82MB until OOM, target footprint 268435456, growth limit 268435456" (VmSize 14618952 kB)
11-26 17:17:18.258 23792 23792 I rism.photopris: Starting a blocking GC Alloc
11-26 17:17:18.258 23792 23792 I chatty  : uid=10348(org.photoprism.photoprism) identical 1 line
11-26 17:17:18.262 23792 23792 I rism.photopris: Starting a blocking GC Alloc
11-26 17:17:18.270 23792 23792 I rism.photopris: Clamp target GC heap from 269MB to 256MB
11-26 17:17:18.270 23792 23792 I rism.photopris: Alloc concurrent copying GC freed 3(16KB) AllocSpace objects, 0(0B) LOS objects, 32% free, 173MB/256MB, paused 20us total 7.934ms
11-26 17:17:18.270 23792 23792 I rism.photopris: Forcing collection of SoftReferences for 85MB allocation
11-26 17:17:18.270 23792 23792 I rism.photopris: Starting a blocking GC Alloc
11-26 17:17:18.276 23792 23792 I rism.photopris: Clamp target GC heap from 269MB to 256MB
11-26 17:17:18.276 23792 23792 I rism.photopris: Alloc concurrent copying GC freed 4(96B) AllocSpace objects, 0(0B) LOS objects, 32% free, 173MB/256MB, paused 17us total 5.675ms
11-26 17:17:18.276 23792 23792 W rism.photopris: Throwing OutOfMemoryError "Failed to allocate a 90001961 byte allocation with 86185656 free bytes and 82MB until OOM, target footprint 268435456, growth limit 268435456" (VmSize 14618952 kB)
11-26 17:17:18.276 23792 23792 D AndroidRuntime: Shutting down VM
11-26 17:17:18.278 23792 23792 E AndroidRuntime: FATAL EXCEPTION: main
11-26 17:17:18.278 23792 23792 E AndroidRuntime: Process: org.photoprism.photoprism, PID: 23792
11-26 17:17:18.278 23792 23792 E AndroidRuntime: java.lang.OutOfMemoryError: Failed to allocate a 90001961 byte allocation with 86185656 free bytes and 82MB until OOM, target footprint 268435456, growth limit 268435456
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at java.nio.DirectByteBuffer$MemoryRef.<init>(DirectByteBuffer.java:70)
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:258)
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at io.flutter.plugin.common.StandardMethodCodec.encodeSuccessEnvelope(StandardMethodCodec.java:57)
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:231)
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at top.kikt.imagescanner.util.ResultHandler$reply$1.run(ResultHandler.kt:24)
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:938)
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:99)
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:223)
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:7656)
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
11-26 17:17:18.278 23792 23792 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
11-26 17:17:18.280  1550 23865 I DropBoxManagerService: add tag=data_app_crash isTagEnabled=true flags=0x2
11-26 17:17:18.281  1550  5137 W ActivityTaskManager:   Force finishing activity org.photoprism.photoprism/.MainActivity

Sharing photos doesnt work on Android 10

First of all, great job on the app. Even as an early version it is surprisingly well done.

When trying to share a photo on Android 10, the share window briefly shows after which the app crashes.
This is due to the permission denial as further explained in this issue.

A quick fix would be to change the pubspec.yaml to:

esys_flutter_share:
    git:
        url: git://github.com/jawad12345A/esys-flutter-share.git

However this wouldn't be a future-proof solution.
A PR has been created but hasn't been merged yet esysberlin/esys-flutter-share#63

Android app broken with latest backend

Hello,
I'm currently testing the Android app and the Backend from time to time with the most recent docker images.
Yesterday I've updated my docker image again and it looks like the Android App is not working with the current Backend.

Just want to let you know that.
From my side it's no problem because everything is under heavy development.

Best regards
eloo

Dart has issues dealing with servers that offer TLS1.3

Whenever an API request is made to the backend it seems like it is not using SNI (could be related to a Dart setting)

This causes the issue that whenever you host multiple services (domains) on the same webserver and port, that the webserver does not know what certificate it should serve. Since the traffic is encrypted with TLS, the server can not see what the calling domain name is.
This leads to the issue that you will not be able to access the API since the clients will get served a wrong certificate and therefore terminate the TLS connection.

10-07 14:51:40.127  9185  9214 E flutter : [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: HandshakeException: Handshake error in client (OS Error:
10-07 14:51:40.127  9185  9214 E flutter :      CERTIFICATE_VERIFY_FAILED: Hostname mismatch(handshake.cc:354))

This breaks the entire API communication.

Update:
Seems to be an issue with TLSv1.3

The default logging output isn't that great. But I'll setup a build environment for the Flutter app in the next days and try to get some more information out of it.

Help with using authentication

Hi ,

I followed the guide on setting Photoprism as a docker.
My credentials are the same as in the guide : admin & ***
I added IP address in the app and used Basic HTTP
every time i try to upload or create album it says "failed", no pictures are shown

Do i need to do anything else?

No error no pictures when connecting to https instance with photoprism auth

Hi,

Running Photoprism 201203-8ea5a882-Linux-x86_64, behind nginx, I enabled SSL in nginx and use a letsencrypt certificate. No issue to access the website and log in using Firefox on Linux.
I use the photoprism authentification (set the env var in the docker-compose, no http basic auth setup in nginx).

I just downloaded the android apk so I am guessing it's e41abfe

In the settings, I changed the URL to point to my instance (https:// handle).

Authentication, enabled "photoprism", kept admin user, use the password that I setup and works on desktop.

Hit "save"

Nothing happens, all screens are empty. The logs only show events related to the auto upload (not enabled).

Let me know if I can provide any info to help.

Selected Photos Issue

Hello,

i found a bug!

Current Behaviour:

When Selecting Photos in "Photos" then changing tabs to "Albums" or "Settings" and then going back to the tab "Photos" the Topbar is still in Selection Mode but no Photos are selected anymore

Some Screenshots:
Screenshot_20200425-134354
Screenshot_20200425-134403
Screenshot_20200425-134409


Using UpToDate-Verion of Andorid 10 on a Samsung Phone

Expected Behaviour:

Either having the Photos still selected when changing tabs
or
all selected pictures gets unselected and the Topbar changes back to normal view.

Video Feature - Bug Reports

Hello,

I know it isn't a full feature jet, but the last builds of photoprism already support videos. How about implementing that into the mobile-app?

I now this feature is still in development but the whole project is. And I would really love to see that feature in the app.

Thanks

Open issues:

  • When spaming the start/stop button the visual stops but the audio is still playing in a loop. Similar problem is using the back button to leave the video causes the audio to beeing still played in the background. When trying to start the same video again it won't load.
  • Furthermore it would be really nice to have a loading animation as long as the video is loading.
  • When the Live Photo is beeing played back and you swipe from right to left the same Live Photo is beeing shown on and on..
  • Swiping in the Preview of the Video tab just shows black images(I think the End of the possiblility of swiping isn't set)
  • Sharing a Video just shares the Preview Image of that video/live photo

Refresh for in album view

add refresh similar to existing refresh for all photos and albums for the view where only the photos of an album are displayed

iOS build instructions

I wanted to install this on my phone, but did not find any instructions on how to do so. So far, this is where I got.

Requirements cocoapod flutter
brew install cocoapod

For Flutter,
Checkout stable version of github.com/flutter/flutter. Execute flutter to do a dart based installation of the binary and dependencies

flutter

navigate to photoprism-mobile, run
flutter pub get

Now you should be able to build. At this point, you will need to do some iOS signing.
flutter run

I was not able to get this to install under org.photoprism.photoprism. I changed the bundle identifier and it built with a personal (non-paying) iOS account.

If this all works, you can now install the pod
cd ios; pod install

At this point, xCode could build the project but threw some errors. I'm guessing those are environment specific problems for me.

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.