akshay9 / librephotos-mobile Goto Github PK
View Code? Open in Web Editor NEWMobile Application for self-hosted Librephotos Server
License: MIT License
Mobile Application for self-hosted Librephotos Server
License: MIT License
Describe the enhancement you'd like
Being able to browse the library by tapping a photo and swiping left and right for the previous and next photo respectively.
Describe why this will benefit the LibrePhotos
This will make browsing the gallery much easier, not having to constantly go back to the gallery and look at another photo.
User should be able to enter the Librephotos backend URL during login
It would be nice, if the "http://" or "https//" could be automatically tried. The app can currently not find a server with just the domain name.
To replicate, just type the demo server with "demo2.librephotos.com" in.
Android 10
1.0.1
Yes
Newly loading the application. It connects to freshly started server.
When opening the app, it asks for permission to access local data, I grant permission (have double checked this in Android permissions- it has access.
No photos load- just an error triangle, same no matter the filter used at the top.
Log shows it can see individual files and tries to load but always permission denied (see partial log below).
Also tried clicking 'Reset Local Images' but this seems to be inactive... if it is an active button, no feedback is given on screen to say it is working. (additional, i can see in the log it seems to be 'resetting')
2023-04-02T16:46:47.813Z [INFO] Fetching Category: Without Timestamp
2023-04-02T16:46:48.033Z [INFO] replaceFlatList
2023-04-02T16:46:52.457Z [INFO] Fetching Category: Public Photos
2023-04-02T16:46:53.577Z [INFO] Fetching Category: Hidden
2023-04-02T16:47:18.635Z [INFO] Fetching Category: Without Timestamp
2023-04-02T16:47:19.052Z [INFO] replaceFlatList
2023-04-02T16:47:20.225Z [INFO] Fetching Category: With Timestamp
2023-04-02T16:47:20.358Z [INFO] Loading local images
2023-04-02T16:47:20.358Z [INFO] 'Last fetch: ', 'Never'
2023-04-02T16:47:20.442Z [INFO] [Error: /storage/emulated/0/DCIM/Camera/RAW/IMG_20230401_204225.dng: open failed: EACCES (Permission denied)]
2023-04-02T16:47:20.443Z [INFO] Error loading local images: Cannot read property 'filter' of undefined
2023-04-02T16:47:20.443Z [INFO] {"type":"localImages/loadLocalImages/rejected","meta":{"requestId":"6wHSFiL56wsPVEyPqScB5","rejectedWithValue":false,"requestStatus":"rejected","aborted":false,"condition":false},"error":{"name":"TypeError","message":"Cannot read property 'filter' of undefined","stack":"TypeError: Cannot read property 'filter' of undefined\n at ?anon_0_ (address at index.android.bundle:1:1347569)\n at next (native)\n at asyncGeneratorStep (address at index.android.bundle:1:517136)\n at _next (address at index.android.bundle:1:517406)\n at tryCallOne (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/6h116t3e/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)\n at anonymous (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/6h116t3e/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)\n at apply (native)\n at anonymous (address at index.android.bundle:1:185138)\n at _callTimer (address at index.android.bundle:1:184087)\n at _callReactNativeMicrotasksPass (address at index.android.bundle:1:184251)\n at callReactNativeMicrotasks (address at index.android.bundle:1:186228)\n at __callReactNativeMicrotasks (address at index.android.bundle:1:86661)\n at anonymous (address at index.android.bundle:1:85754)\n at _guard (address at index.android.bundle:1:86502)\n at flushedQueue (address at index.android.bundle:1:85665)\n at invokeCallbackAndReturnFlushedQueue (address at index.android.bundle:1:85608)"}}
2023-04-02T16:47:40.439Z [INFO] Resetting local images
2023-04-02T16:48:29.936Z [INFO] 'AppState: ', 'background'
2023-04-02T16:50:27.345Z [INFO] 'AppState: ', 'active'
2023-04-02T16:50:57.885Z [INFO] 'AppState: ', 'background'
2023-04-02T16:51:00.969Z [INFO] 'AppState: ', 'active'
2023-04-02T16:51:01.444Z [INFO] 'navigateAndSimpleReset', 'Login', 0
2023-04-02T16:51:01.590Z [INFO] 'navigateAndSimpleReset', 'Main', 0
2023-04-02T16:51:01.751Z [INFO] Fetching Category: With Timestamp
2023-04-02T16:51:01.872Z [INFO] Loading local images
2023-04-02T16:51:01.872Z [INFO] 'Last fetch: ', 'Never'
2023-04-02T16:51:01.997Z [INFO] [Error: /storage/emulated/0/DCIM/Camera/IMG_20230401_204224.jpg: open failed: EACCES (Permission denied)]
2023-04-02T16:51:01.999Z [INFO] Error loading local images: Cannot read property 'filter' of undefined
2023-04-02T16:51:01.999Z [INFO] {"type":"localImages/loadLocalImages/rejected","meta":{"requestId":"OYwyWkTrFQkqoLBqjK1Dd","rejectedWithValue":false,"requestStatus":"rejected","aborted":false,"condition":false},"error":{"name":"TypeError","message":"Cannot read property 'filter' of undefined","stack":"TypeError: Cannot read property 'filter' of undefined\n at ?anon_0 (address at index.android.bundle:1:1347569)\n at next (native)\n at asyncGeneratorStep (address at index.android.bundle:1:517136)\n at _next (address at index.android.bundle:1:517406)\n at tryCallOne (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/6h116t3e/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)\n at anonymous (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/6h116t3e/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)\n at apply (native)\n at anonymous (address at index.android.bundle:1:185138)\n at _callTimer (address at index.android.bundle:1:184087)\n at _callReactNativeMicrotasksPass (address at index.android.bundle:1:184251)\n at callReactNativeMicrotasks (address at index.android.bundle:1:186228)\n at __callReactNativeMicrotasks (address at index.android.bundle:1:86661)\n at anonymous (address at index.android.bundle:1:85754)\n at _guard (address at index.android.bundle:1:86502)\n at flushedQueue (address at index.android.bundle:1:85665)\n at invokeCallbackAndReturnFlushedQueue (address at index.android.bundle:1:85608)"}}
2023-04-02T16:52:08.270Z [INFO] 'AppState: ', 'background'
2023-04-02T16:53:51.860Z [INFO] 'AppState: ', 'active'
2023-04-02T16:54:02.619Z [INFO] 'AppState: ', 'background'
2023-04-02T16:54:51.969Z [INFO] 'AppState: ', 'active'
2023-04-02T16:54:52.446Z [INFO] 'navigateAndSimpleReset', 'Login', 0
2023-04-02T16:54:52.593Z [INFO] 'navigateAndSimpleReset', 'Main', 0
2023-04-02T16:54:52.756Z [INFO] Fetching Category: With Timestamp
2023-04-02T16:54:52.880Z [INFO] Loading local images
2023-04-02T16:54:52.880Z [INFO] 'Last fetch: ', 'Never'
2023-04-02T16:54:53.015Z [INFO] [Error: /storage/emulated/0/DCIM/Camera/IMG_20230401_204221.jpg: open failed: EACCES (Permission denied)]
2023-04-02T16:54:53.016Z [INFO] Error loading local images: Cannot read property 'filter' of undefined
2023-04-02T16:54:53.016Z [INFO] {"type":"localImages/loadLocalImages/rejected","meta":{"requestId":"e4_zX2-96lNeacAVFlK9o","rejectedWithValue":false,"requestStatus":"rejected","aborted":false,"condition":false},"error":{"name":"TypeError","message":"Cannot read property 'filter' of undefined","stack":"TypeError: Cannot read property 'filter' of undefined\n at ?anon_0 (address at index.android.bundle:1:1347569)\n at next (native)\n at asyncGeneratorStep (address at index.android.bundle:1:517136)\n at _next (address at index.android.bundle:1:517406)\n at tryCallOne (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/6h116t3e/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)\n at anonymous (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/6h116t3e/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)\n at apply (native)\n at anonymous (address at index.android.bundle:1:185138)\n at _callTimer (address at index.android.bundle:1:184087)\n at _callReactNativeMicrotasksPass (address at index.android.bundle:1:184251)\n at callReactNativeMicrotasks (address at index.android.bundle:1:186228)\n at __callReactNativeMicrotasks (address at index.android.bundle:1:86661)\n at anonymous (address at index.android.bundle:1:85754)\n at __guard (address at index.android.bundle:1:86502)\n at flushedQueue (address at index.android.bundle:1:85665)\n at invokeCallbackAndReturnFlushedQueue (address at index.android.bundle:1:85608)"}}
2023-04-02T16:55:08.088Z [INFO] Fetching Category: Without Timestamp
2023-04-02T16:55:08.305Z [INFO] replaceFlatList
2023-04-02T16:55:08.829Z [INFO] Fetching Category: Recently Added
2023-04-02T16:55:09.173Z [INFO] 'Request Failed', { message: 'Request failed with status code 500',
data: '\n<!doctype html>\n\n\n <title>Server Error (500)</title>\n\n\nServer Error (500)
\n\n\n',
status: 500 }
2023-04-02T16:55:09.619Z [INFO] Fetching Category: Favourites
2023-04-02T16:55:15.137Z [INFO] 'AppState: ', 'background'
2023-04-02T16:55:43.687Z [INFO] 'AppState: ', 'active'
2023-04-02T16:55:50.526Z [INFO] Resetting local images
2023-04-02T16:55:51.682Z [INFO] Resetting local images
2023-04-02T16:56:01.189Z [INFO] 'AppState: ', 'background'
2023-04-02T16:56:20.715Z [INFO] 'navigateAndSimpleReset', 'Login', 0
2023-04-02T16:56:20.836Z [INFO] 'navigateAndSimpleReset', 'Main', 0
2023-04-02T16:56:20.870Z [ERROR] TypeError: Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a Symbol.iterator method.
This error is located at:
in GalleryContainer
in StaticContainer
in EnsureSingleNavigator
in SceneView
in RCTView
in Unknown
in RCTView
in Unknown
in Background
in Screen
in RNSScreen
in AnimatedComponent
in AnimatedComponentWrapper
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in InnerScreen
in Screen
in MaybeScreen
in RNSScreenContainer
in ScreenContainer
in MaybeScreenContainer
in RCTView
in Unknown
in SafeAreaProviderCompat
in BottomTabView
in PreventRemoveProvider
in NavigationContent
in Unknown
in BottomTabNavigator
in MainNavigator
in StaticContainer
in EnsureSingleNavigator
in SceneView
in RCTView
in Unknown
in RCTView
in Unknown
in RCTView
in Unknown
in CardSheet
in RCTView
in Unknown
in AnimatedComponent
in AnimatedComponentWrapper
in PanGestureHandler
in PanGestureHandler
in RCTView
in Unknown
in AnimatedComponent
in AnimatedComponentWrapper
in RCTView
in Unknown
in Card
in CardContainer
in RNSScreen
in AnimatedComponent
in AnimatedComponentWrapper
in Suspender
in Suspense
in Freeze
in DelayedFreeze
in InnerScreen
in Screen
in MaybeScreen
in RNSScreenContainer
in ScreenContainer
in MaybeScreenContainer
in RCTView
in Unknown
in Background
in CardStack
in RCTView
in Unknown
in SafeAreaProviderCompat
in RNGestureHandlerRootView
in GestureHandlerRootView
in StackView
in PreventRemoveProvider
in NavigationContent
in Unknown
in StackNavigator
in EnsureSingleNavigator
in BaseNavigationContainer
in ThemeProvider
in NavigationContainerInner
in RCTView
in Unknown
in ApplicationNavigator
in $29383e587d62412a$export$9f8ac96af4b1b2ae
in ToastProvider
in PortalProvider
in HybridProvider
in ResponsiveQueryProvider
in RNCSafeAreaProvider
in SafeAreaProvider
in NativeBaseConfigProviderProvider
in NativeBaseProvider
in PersistGate
in Provider
in App
in RCTView
in Unknown
in RCTView
in Unknown
in AppContainer, js engine: hermes
2023-04-02T16:56:44.853Z [INFO] 'AppState: ', 'active'
2023-04-02T16:56:45.340Z [INFO] 'navigateAndSimpleReset', 'Login', 0
2023-04-02T16:56:45.488Z [INFO] 'navigateAndSimpleReset', 'Main', 0
2023-04-02T16:56:45.648Z [INFO] Fetching Category: With Timestamp
2023-04-02T16:56:45.770Z [INFO] Loading local images
2023-04-02T16:56:45.770Z [INFO] 'Last fetch: ', 'Never'
2023-04-02T16:56:45.886Z [INFO] [Error: /storage/emulated/0/DCIM/Camera/RAW/IMG_20230401_204225.dng: open failed: EACCES (Permission denied)]
2023-04-02T16:56:45.888Z [INFO] Error loading local images: Cannot read property 'filter' of undefined
2023-04-02T16:56:45.889Z [INFO] {"type":"localImages/loadLocalImages/rejected","meta":{"requestId":"Nh7EMm2cM7IO_FBfZicN0","rejectedWithValue":false,"requestStatus":"rejected","aborted":false,"condition":false},"error":{"name":"TypeError","message":"Cannot read property 'filter' of undefined","stack":"TypeError: Cannot read property 'filter' of undefined\n at ?anon_0_ (address at index.android.bundle:1:1347569)\n at next (native)\n at asyncGeneratorStep (address at index.android.bundle:1:517136)\n at _next (address at index.android.bundle:1:517406)\n at tryCallOne (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/6h116t3e/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:53:16)\n at anonymous (/root/react-native/ReactAndroid/hermes-engine/.cxx/MinSizeRel/6h116t3e/arm64-v8a/lib/InternalBytecode/InternalBytecode.js:139:27)\n at apply (native)\n at anonymous (address at index.android.bundle:1:185138)\n at _callTimer (address at index.android.bundle:1:184087)\n at _callReactNativeMicrotasksPass (address at index.android.bundle:1:184251)\n at callReactNativeMicrotasks (address at index.android.bundle:1:186228)\n at __callReactNativeMicrotasks (address at index.android.bundle:1:86661)\n at anonymous (address at index.android.bundle:1:85754)\n at __guard (address at index.android.bundle:1:86502)\n at flushedQueue (address at index.android.bundle:1:85665)\n at invokeCallbackAndReturnFlushedQueue (address at index.android.bundle:1:85608)"}}
Zorin OS 16 docker installation
latest
Android 6,0 e Android 9.0
yes
After installing and placing the login information, the application is on a white screen with the logodo librephotos and does not come out of it. When checking the logs some errors are mentioned
install the app on android
com.librephotosmobile-latest.log
``
All
Librephotos v1.0.2
In Photos Tab, Without Timestamp category photos don't load.
The underling API endpoint was changed in Librephotos backend to add feature of pagination.
Pagination needs to be implemented in the App as well.
Describe the enhancement you'd like
A clear and concise description of what you want to happen.
It would be nice if the app had support for offline view
Describe why this will benefit the LibrePhotos
A clear and concise explanation on why this will make LibrePhotos Mobile App better.
When a user is away from the server, or with poor connection, it would be really nice to still be able to see their photos collection. This would make librephotos mobile superior to the web app.
Additional context
Add any other context or screenshots about the enhancement request here.
This is a feature available in popular photos apps, such as apple and google photos. Despite having my photos out of google, their android app is probably one of the best out there because of this feature.
Dockerless installation, local-install
1.0.2 Android
When first letter of the username is capital, can not login - no credentials find.
Administrator was created by script.
Then allowed user registration and created second user, also with first capital letter.
Same - user can not login.
Create user with capital first letter. Or administrator at very first install.
But successfully loged in by changing first username letter to lowercase. Administrator and user logged in.
I can't log in on the demo server with the standard credentials.
Server name: https://demo2.librephotos.com/
Username: demo
Password: demo1234
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.