Giter Site home page Giter Site logo

patzly / grocy-android Goto Github PK

View Code? Open in Web Editor NEW
826.0 20.0 80.0 55.36 MB

ERP beyond your fridge, now on your phone – An awesome companion app for grocy

Home Page: https://patrickzedler.com/grocy/

License: GNU General Public License v3.0

Java 99.83% Python 0.09% HTML 0.07%
grocy groceries material-components android app barcode-scanning grocy-android android-app

grocy-android's Introduction

Grocy Android

License: GPL v3 Release APK Downloads Project Dashboard

Grocy Android is an open-source Android client for grocy (source code), a self-hosted grocery and household management solution for your home.

Grocy Android uses grocy's official API to provide you a beautiful interface on your smartphone with powerful barcode scanning and intuitive batch processing, all what you need to efficiently manage your groceries.

This app requires a running self-hosted instance of the grocy server application.
It is a companion app, therefore it cannot run standalone or manage products itself.
You can try it using the demo option available on the login screen.

iOS/macOS client for grocy: Grocy-SwiftUI

Downloads

Get it on Google PlayGet it on F-DroidGet it on GitHub

If you want to try new features right after development, you can download an unsigned nightly build APK for that.

Screenshots

Features

  • Stock overview
  • Shopping lists with offline support
  • In-store shopping mode (big UI elements)
  • Fast barcode scanning
  • OpenFoodFacts/OpenBeautyFacts implementation
  • Master data editing
  • Dark mode and dynamic color support
  • No ads or analytics

Compatibility

Grocy Android requires at least Android 5.0 Lollipop and works properly on devices without any Google service installed.

It is also possible to use the grocy Add-on on an Home Assistant server. Click here for instructions.

This app supports https encryption

  • if your server uses a certificate which is signed by a public and trusted certificate authority (CA). To meet this requirement, you can use a free certificate from letsencrypt.org for your server. Old Android devices can have problems with newer CAs because their internal list of trusted CAs can be outdated if they don't receive system updates anymore, therefore we've integrated Conscrypt into the app to support current CAs on all Android versions.
  • if your server uses a self-signed certificate. In this case the certificate must be stored in the Android user certificate store.

FAQ

Please see the in-app help dialog or the FAQ for a list of frequently asked questions.

Contribution

If you run into a bug or miss a feature, please open an issue in this repository.

For a quick repository overview please refer to build, module, class and other diagrams.

Like the grocy project, Grocy Android can be translated, too. The main language is English, but we also maintain the German translation because it's our mother tongue. You can help translate this project at Transifex, if your language is incomplete, contains typos or is not available yet. Translations which reached a completion level of 80% will be included in releases.

Translated languages (21): Catalan, Czech, German, Spanish, Estonian, French, Hungarian, Italian, Hebrew, Japanese, Norwegian Bokmål, Dutch, Polish, Portuguese (Brazil), Portuguese (Portugal), Russian, Slovak, Swedish, Ukrainian, Chinese (China), Chinese (Taiwan)

Thanks for your contributions!

About

This app is a project of my brother Dominic Zedler and me, Patrick Zedler. We started working on it during the first months of the Corona pandemic in Germany, just before our Abitur in 2020, when the schools had to close.

We'd like to thank the developer of grocy, Bernd Bestel, without whose great work this app would never have been possible.

License

Copyright © 2020-2023 Patrick Zedler & Dominic Zedler. All rights reserved.

GNU General Public License version 3

Grocy Android is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Grocy Android is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

grocy-android's People

Contributors

alexkarezin avatar alfonso133 avatar ape avatar bfayers avatar bionade24 avatar codacy-badger avatar devbf avatar dominiczedler avatar donk7413 avatar firesoft-de avatar igor-cali avatar izzysoft avatar jrandiny avatar keiishu avatar licaon-kter avatar liju09 avatar nxfifteen avatar patzly avatar tim-otte avatar timhae avatar transifex-integration[bot] avatar turysaz avatar yarons 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

grocy-android's Issues

Right area too empty

Hi,

Can you improve the display with the info (days, numbers ...) on the empty part on the right?
It allows you to display more products without scrolling. On my tablet I only have 3 products in landscape mode.

Shopping list is unusable after using in offline mode

To test offline mode I opened the shopping list in the app and then I disabled wifi. I got a message that I am in offline mode. I checked some elements in the list. After enabling wifi again and reloading the shopping list It does not load anymore. The rest of the app is usable as before.

App Version is 1.5.0
Grocy Version is 2.7.1

Not a valid grocy instance

Grocy-android login failed

docker
Add-on: Grocy version: 0.9.0

Grocy-andoid Setting
Server URL
https://domain:port/ ->Not a avalid grocy instance
https://domain:port/a0d7b954_grocy ->Not a avalid grocy instance
https://domain:port/hassio/ingress/a0d7b954_grocy ->Not a avalid grocy instance

Is there anything to add?

[30/Jul/2020:11:03:27 +0900] 302 175.204.18.12, 172.30.32.1(172.30.32.2) GET / HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:03:30 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /stockoverview HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:03:31 +0900] 204 175.204.18.12, 172.30.32.1(172.30.32.2) PUT /api/user/settings/auto_night_mode_enabled HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:03:31 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:03:34 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/stock HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:03:34 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/stock/volatile?expiring_days=5 HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:04:05 +0900] 302 222.118.116.194, 172.30.32.1(172.30.32.2) GET / HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36)
[30/Jul/2020:11:04:09 +0900] 200 222.118.116.194, 172.30.32.1(172.30.32.2) GET /stockoverview HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36)
[30/Jul/2020:11:04:10 +0900] 200 222.118.116.194, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36)
[30/Jul/2020:11:04:10 +0900] 204 222.118.116.194, 172.30.32.1(172.30.32.2) PUT /api/user/settings/auto_night_mode_enabled HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36)
[30/Jul/2020:11:04:12 +0900] 200 222.118.116.194, 172.30.32.1(172.30.32.2) GET /api/stock HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36)
[30/Jul/2020:11:04:13 +0900] 200 222.118.116.194, 172.30.32.1(172.30.32.2) GET /api/stock/volatile?expiring_days=5 HTTP/1.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36)
[30/Jul/2020:11:04:32 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:04:36 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /stockoverview HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:04:40 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:04:40 +0900] 204 175.204.18.12, 172.30.32.1(172.30.32.2) PUT /api/user/settings/auto_night_mode_enabled HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:04:45 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/stock/volatile?expiring_days=5 HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:04:45 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/stock HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:05:41 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:05:45 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /stockoverview HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:05:46 +0900] 204 175.204.18.12, 172.30.32.1(172.30.32.2) PUT /api/user/settings/auto_night_mode_enabled HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:05:47 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:05:49 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/stock HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:05:52 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/stock/volatile?expiring_days=5 HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)
[30/Jul/2020:11:06:47 +0900] 200 175.204.18.12, 172.30.32.1(172.30.32.2) GET /api/system/db-changed-time HTTP/1.1 (Mozilla/5.0 (Linux; Android 8.0.0; SM-C9000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36)

App crashes when trying to edit Masterdata/Products

Hi! I'm using version 1.8.0 from F-Droid (Izzys Repo). Server is running version 2.7.1

In the menu I can tap "masterdata" and then "products". All fine. When tapping on any product the app crashes.
Adding new products works fine. The problem only occurs when editing existing ones.

This happens on three different devices with different Android versions.

Add in-app help

Implement documentation-like help activity with descriptions of workflows, such as

  • purchase after a shopping tour
  • consume when cooking
  • purchase and consume when product has no barcode
  • quickly add items to the shopping list
  • description of the app shortcuts

Also refer to the help tooltips when long-pressing buttons!

Feature Request: Self-signed certificates

Hi,

Can we use self-signed certificates with Grocy?

I don't have the impression:

java.security.cert.CertPathValidatorException: Trust anchor for certification path not found

Crash after login

Hi,

The app looks amazing, and works great in demo mode!

When I want to enter my own server details however, it force closes on me.
I tried local urls and my reverse proxy URL, with and without /api added to the URL.
The reverse proxy URL is the only one that seems to be accepted, but when loading the next screen the app force closes after 1 second.

My url format is : https://grocy.mydomain.com

I'm using a OnePlus 5T with android version 9.

Any ideas? :)

Implement open food facts API

Only product name could be used, get it from barcode.

Problem: names in the database are very long, the line breaks would be ugly in the app.
Most names contain the brand, exact product name and possible variant identification, way too much information for a clean management in Grocy.

External barcode scanner

Hi
Thanks a lot for your great application.
Do you consider to implement a solution base on a bluetooth barcode scanner in stead of the camera ?

Regards
Frédéric

Scanning to Purchase should respect the factor for quantity unit purchase and quantity unit stock

For example, I have a product setup with the Quantity Unit Purchase set to Pack and the Quantity Unit Stock set to Pieces with a factor of 4, however when I scan the barcode in the app to purchase it only adds 1 to stock instead of 4.

The consume behavior is as expected, only consuming one at a time (however, perhaps a custom field set to how much default consume should be per product would be useful for products like flour where scanning every time for every gram used would be inconvenient.)

Sign release APK with signature v1 and v2

Could you please sign the APK attached to releases/? I currently get a signature error with apksigner (could be only v2 signature is missing, I'm not sure). Thanks!

Move in-app help to new FAQ.md file

This approach used by FairEmail is better because long texts no longer need to be translated (that was unnecessary IMHO).

Thanks to markdown anchors, specific sections can also be opened in a customtabs browser.

String url = "https://grocy.info/";
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(this, Uri.parse(url));

Consume partial amount

When 1 Pack (unit) of a Product is added. 0.5 Pack cannot be consumed. The Web interface though allows to do so. Do i miss something?

Opening the app after initial setup crashes

I want to first say that I really like UX design of the app. I am getting this error after second time I run the app.

06-18 08:00:26.988 E/AndroidRuntime(2131): java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Menu xyz.zedler.patrick.grocy.MainActivity.H()' on a null object reference

It works when I clear the storage.

Notification Alert for items that will be expiring in a few days

Your app is such a great companion to for the grocy web app! I use grocy on a repurposed server laptop and the mobile app as the front end.
I have an idea for a new feature: It would be nice if the app can show notification alerts when some products will be expiring in a few days.

Thank you for the app!

Autoscan date

Hi,

I don't know if it's easy to automatically scan a date from a photo capture. In any case I add this idea because when we do a lot of shopping, it takes a long time to put all the dates.

Best regards,

Feature Request: In-Store UX

Hello,
I really like your app and have been using it for a few weeks!
For now, I am using it for checking existing inventory.

I would like to also use the shopping list feature in the store when I am shopping.
Right now, I think the existing UI is too small when using the phone in one hand and carrying a bag or shopping cart in the other.
The 'checking off' swipe is not ideal in my opinion.
Besides Grocy I am using the Bring shopping list app which has a very nice UX with big touchable tiles.
Do you have plans to improve the design?

I think an easy first improvement would be changing the ListView somehow to display the names of products in touchable rectangles.
In the future, you could also integrate product images.

Thanks again for your effort in developing this!

Can't open camera: java.lang.NullPointerException

Hi,

I have a FATAL exception:

FATAL EXCEPTION: main
Process: xyz.zedler.patrick.grocy, PID: 23073
java.lang.RuntimeException: Unable to start activity ComponentInfo{xyz.zedler.patrick.grocy/xyz.zedler.patrick.grocy.ScanBatchActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setVisibility(int)' on a null object reference
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2684)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2751)
	at android.app.ActivityThread.-wrap12(ActivityThread.java)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loop(Looper.java:154)
	at android.app.ActivityThread.main(ActivityThread.java:6186)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
	at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setVisibility(int)' on a null object reference
	at xyz.zedler.patrick.grocy.ScanBatchActivity.onCreate(:2)
	at android.app.Activity.performCreate(Activity.java:6684)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2637)
	... 10 more

Android version: 7.1.2

Improve bottom app bar scroll behavior

Add a delay before the bar is hidden to prevent "hide-show-flickering".
Specifically:

  • on scroll down, wait about 24dp, then hide it
  • on scroll up, show it immediately to bring back important navigation on screen

Full offline mode support

Hi,

Thanks for this awesome work.
I want to know if you intend to fully support offline mode ?
Til now, I think you're supporting only offline mode for shopping list.

Kind regards.

iOS version please!

Hi,

First thank you for this awesome app. I'm currently loving it on my Android device but to be able to replace commercial competitor, I need an iOS app for my wife.

Is it something you're planning and is there a way I can contribute? (I'm kinda nerdy, but not a programmer) I would love to help you either, documentation, translation, beta testing, how-tos or even donation. FYI, my mother-tong is French in case this could help. :)

Thank you.

Ferature Request: Offline mode with sync for shopping list

Mobile coverage in most supermarkets I know is terrible. Therefore the app is currently unusable for shopping under these circumstances. It would be great if a cached version of the shopping list could be kept in the app to be synced at a later time.

Thank you for this app! I found it on F-Droid and discovered grocy through it. This whole ecosystem looks very promising and you guys seem to be developing at a rapid pace.

After setting up grocy for the best part of the day I was a little disappointed when I took the app shopping today. Luckily I had a hand-written backup of my list :)

Any chance for an option to use the app offline?

I've just found Grocy after it showed up in the IzzyOnDroid F-droid repo, and absolutely fell in love with the design. Unfortunately, I currently don't have the means to run a self-hosted instance. Would it be possible in the future to add an option to just use the app with a local database stored on my device?

Feature Request: Local Network setting

Here's a request I find very handy to have in an app like this which I also found eg. in the official Home Assistant app: Distinguish between local and remote network.
In the HA app I can tell the name of the local WiFi network and once connected the app uses the local address. Whenever I am not connected to that local WiFi network I can enter a second address (usually the one exposed to the internet) and the connection will be established through this address.
This way, whenever being at home it's possible to run all local and no internet connection is required at all. Comes in handy if the WAN connection is failing and you still need to adjust things. Also in the case of using the app at home it does not make much sense to have traffic from the grocy installation send to the internet and get it back into the same network to the app.

It would be awesome to integrate this option (perhaps similar to how the HA app has integrated it?).

Thanks a lot!

Improvie API URL matcher

Hi. I just wanted to try out your app but I cannot enter the URL to grocy.

The URL is http://grocy but the regular expression you used enforces at least one colon. As per RFC 1735 the colon (and the trailing slash) are not required in a valid host.

This seems to be an issue with a library as I regularly see apps with this problem. Would you mind updating the validation?

Thank you in advance! really looking forward to trying out your app!


edit: It seems to happen here:

} else if(!Patterns.WEB_URL.matcher(server).matches()) {

isHttpUrl(url) is so simple and only checks the first few characters, so it should not be the source of the problem. (https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/webkit/URLUtil.java#234)

App crashes in dark mode

Hi there,

I am currently having trouble to switch to dark mode. As soon as I do, the app crashes and cannot be opened again. I have to delete all data from it through the phone to start over and have to set it up all again. Did check it multiple times but it was always the same.

Let me know what information is needed, so I will be able to send them to help.

Thanks!

Consume fails often

When I am trying to consume certain products or open products by using the barcode-button on the front, the app gives me an error even though the product is in stock, the barcode is linked and everything should be fine.

If I manually find the product and consume it, it is no problem.

It is not an consistent error, so it is hard to tell why this happens. I have no connection issues while using the app, so I think it should be good.

Inconsistent behavior of web interface and app

  • create product with different quantity units for purchase and stock
  • add this product to shopping list

In the web interface we get quantity unit purchase, in the app it results in quantity unit stock, as a user reported with email.
I can't reproduce this behavior with eggs on the demo instance, maybe with another product.

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.