pulsejet / memories

Fast, modern and advanced photo management suite. Runs as a Nextcloud app.
https://memories.gallery
GNU Affero General Public License v3.0
3.1k stars 82 forks source link

IOS Progressive Web App: Image Download breaks app #596

Open w00lfy opened 1 year ago

w00lfy commented 1 year ago

Describe the bug Using the newest IOS, when using Memories as a Progressive Web App, downloading an image opens a "Share" Dialogue from which I cannot go back to the timeline view. See the second pic: there are no navigation bars to go back. I need to completely close the task and restart the app to get back to the timeline view.

Steps to reproduce the behavior:

  1. Using Safari on IOS, add Memories to Homescreen as a Progressive Web App.
  2. Click on any image and using the context menu, click on download.
  3. IOS opens sharing screen with no possibility to return to previous page.

Screenshots If applicable, add screenshots to help explain your problem.

Platform (please complete the following information):

pics

vitis586 commented 1 year ago

I am seeing this too on iPhone 13 Pro. I am not really sure how to debug this so I went to my nginx logs and there is one 404 every time this download screen shows up. The rest looks fine - all 200s.

MyIP - - [20/Apr/2023:20:49:24 +0200] "GET /apps/memories/js/memories-node_modules_nextcloud_vue_dist_Components_NcNoteCard_js.js.map?v=fce34ecd7bfa96bc891c HTTP/2.0" 404 4093 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 16_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Mobile/15E148 Safari/604.1"
MyIP - - [20/Apr/2023:20:50:20 +0200] "GET /apps/memories/js/memories-node_modules_nextcloud_vue_dist_Components_NcNoteCard_js.js.map?v=fce34ecd7bfa96bc891c HTTP/2.0" 404 4091 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 16_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Mobile/15E148 Safari/604.1"

I am also not that much familiar with iOS so I am not entirely sure that it is not a "feature" of iOS.

ConfluxJL commented 9 months ago

Progressive Web App in iOS is the ultimate way to access memories on an iPhone. User experience wise, makes the webpage feel like an actual app.

Apparently PhotoPrism had the problem and was able to fix it. https://github.com/photoprism/photoprism/issues/895

image

It looks like they enabled browser controls when the download button was hit, so the user could then access the back button.

It doesn't necessarily solve how to implement the solution, merely what the solution should/could look like inside the constraints of Apple's Progressive Web App. Hope this helps!

pulsejet commented 9 months ago

Good find, I didn't know about the existence of these APIs.