mealie-recipes / mealie

Mealie is a self hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in Vue for a pleasant user experience for the whole family. Easily add recipes into your database by providing the url and mealie will automatically import the relevant data or add a family recipe with the UI editor
https://docs.mealie.io
GNU Affero General Public License v3.0
5.61k stars 611 forks source link

Shopping list goes blank as soon as internet connection is lost on iPhone #3718

Closed bartkummel closed 2 days ago

bartkummel commented 3 weeks ago

First Check

What is the issue you are experiencing?

When I have a shopping list open on my iPhone, it goes blank as soon as the iPhone loses it's internet connection.

Steps to Reproduce

  1. Create a shopping list
  2. Open the list on iPhone
  3. Set iPhone to airplane mode, be sure to also turn off WiFi
  4. Shopping list goes blank

Please provide relevant logs

INFO     2024-06-08T19:33:28 - [172.30.0.1:55372] 200 OK "GET /api/groups/shopping/lists/92893449-4706-4999-bacb-9c74c5b58d85 HTTP/1.1"
INFO     2024-06-08T19:33:23 - [172.30.0.1:55372] 200 OK "GET /api/groups/shopping/lists/92893449-4706-4999-bacb-9c74c5b58d85 HTTP/1.1"
INFO     2024-06-08T19:33:18 - [172.30.0.1:55372] 200 OK "GET /api/groups/shopping/lists/92893449-4706-4999-bacb-9c74c5b58d85 HTTP/1.1"
INFO     2024-06-08T19:33:18 - [172.30.0.1:55374] 200 OK "GET /api/groups/labels?page=1&perPage=-1 HTTP/1.1"
INFO     2024-06-08T19:33:17 - [172.30.0.1:55372] 200 OK "GET /api/groups/shopping/lists?page=1&perPage=-1&orderBy=name&orderDirection=asc HTTP/1.1"

At 19:33 I put my phone on airplane mode. After that, the server just didn't get any requests anymore. There's nothing special to be seen in the server logs as far as I can see.

Mealie Version

Deployment

Docker (Synology)

Additional Deployment Details

I used the Postgres Docker compose file.

michael-genson commented 3 weeks ago

The shopping list only works online currently since it constantly polls the server for changes and can't store updates to send when online (it either updates the list or fails). We should probably at least keep the shopping list locally consistent if a refresh fails (instead of disappearing). You wouldn't be able to send any updates to the server, but you could at least see it.

Getting it to work offline (by caching/queueing requests in the browser) is more of a lift, though also reasonable. I know it's been discussed a few times.

boc-the-git commented 3 weeks ago

@michael-genson Should we transition this to (or merge into) a feature request, rather than having here as a bug?

michael-genson commented 3 weeks ago

I'm on the fence, I think it's fair to call the behavior of it going blank a bug