Coder Social home page Coder Social logo

lneugebauer / nextcloud-cookbook Goto Github PK

View Code? Open in Web Editor NEW
36.0 1.0 7.0 9.77 MB

Android client for Nextcloud Cookbook app.

Home Page: https://lneugebauer.github.io/nextcloud-cookbook/

License: MIT License

Kotlin 99.11% Ruby 0.89%
android nextcloud nextcloud-app nextcloud-cookbook open-source kotlin kotlin-android ktlint fastlane

nextcloud-cookbook's People

Contributors

andusdev avatar ceskydj avatar comradekingu avatar lneugebauer avatar michalpawlaczyk 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

Watchers

 avatar

nextcloud-cookbook's Issues

malformed Json file?

Describe the bug

Instal the App, connect via nextcloud files app.
No recipes shown and an error message in the category tab.

Use JsonReader.setLenient(true) to accept malformed Json on line 1 column 1 path $

To Reproduce
Steps to reproduce the behavior:

  1. Go to App
  2. See error

Expected behavior

Should connect to cookbook Plugin that's working inside thr nextcloud website.

Screenshots

Screenshot_20240208-221458_Cookbook

Smartphone:

  • Device: Asus Zenfone 9
  • OS: Android 13
  • Version 0.14.6

Additional context

Check API version

If api gets updated show a disclaimer to warn the user that the app might not work properly.

Create GitHub Page

The website should contain information about the app, documentation and privacy statement.

Can't connect via HTTP

Describe the bug
I can't connect to my Nextcloud server that uses HTTP instead of HTTPS. This server runs on my internal network over a VPN, so HTTPS provides no real benefit and there's no reason for me to go to the trouble of generating a certificate for it and distributing that certificate to all of the devices that connect to it.

To Reproduce
Steps to reproduce the behavior:

  1. Set up a Nextcloud server that uses HTTP
  2. Input the URL of the server in Nextcloud Cookbook
  3. See error: "Invalid protocol; URL must start with https://"

Expected behavior
Nextcloud Cookbook should allow connecting to servers that use HTTP.

Smartphone:

  • Device: Pixel 7
  • OS: GrapheneOS 2023103100 / Android 14
  • Nextcloud: 25.0.2
  • Cookbook: 0.14.4

Not possible to login if use self-signed certificate in nextcloud

I have a local nextcloud instance that use a self-signed certificate. If i try to login to my nextcloud in the app i got an certificate error. I think my self-signed certificate does the issue. It is possible to ignor the self-signed certificate during the login?

GPC crash report

java.util.NoSuchElementException

kotlin.collections.CollectionsKt___CollectionsKt.random
java.util.NoSuchElementException: 
  at kotlin.collections.CollectionsKt___CollectionsKt.random (CollectionsKt___Collections.kt)
  at de.lukasneugebauer.nextcloudcookbook.feature_recipe.domain.use_case.GetHomeScreenDataUseCase.invoke (GetHomeScreenDataUseCase.java)
  at de.lukasneugebauer.nextcloudcookbook.feature_recipe.domain.use_case.GetHomeScreenDataUseCase$invoke$1.invokeSuspend (GetHomeScreenDataUseCase.java:11)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (BaseContinuationImpl.java)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.java:86)
  at android.os.Handler.handleCallback (Handler.java:938)
  at android.os.Handler.dispatchMessage (Handler.java:99)
  at android.os.Looper.loopOnce (Looper.java:226)
  at android.os.Looper.loop (Looper.java:313)
  at android.app.ActivityThread.main (ActivityThread.java:8663)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:567)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1135)

Translations

Is your feature request related to a problem? Please describe.
Some users don't speak English at all, so your application is useless for them.

Describe the solution you'd like
I'd like to see support for community translations in your application, so more users could use it and completely understand it.

Authenticate through Nextcloud files app

Use the android library to authenticate through the Nextcloud files app.

The prefered way of authenticating should be through the Nextcloud files app. As an alternative the user should still be able to authenticate with username and app password.

Option to change servings/portions

Is your feature request related to a problem? Please describe.
Most recipes specify an exact amount of ingredients for a certain number of people. Since this rarely matches the amount of servings I need, it's kind of frustrating and also failure prune to do this in my head.

Describe the solution you'd like
As in the nextcloud webapp, it would be very helpful if we had the option to change the portions and automatically recalculate the amount of ingredients needed with a control like this:
image

Maybe it would make sense to put it just before the text "Ingredients for x servings":
image

Describe alternatives you've considered
Maybe its also an option to use a slider to change the amount of servings

GPC crash report

java.lang.IllegalArgumentException

de.lukasneugebauer.nextcloudcookbook.di.ApiProvider.initRetrofitApi
java.lang.IllegalArgumentException: 
  at retrofit2.Retrofit$Builder.baseUrl (Retrofit.java)
  at retrofit2.Retrofit$Builder.baseUrl (Retrofit.java)
  at de.lukasneugebauer.nextcloudcookbook.di.ApiProvider.initRetrofitApi (ApiProvider.java)
  at de.lukasneugebauer.nextcloudcookbook.di.ApiProvider.access$initRetrofitApi (ApiProvider.java)
  at de.lukasneugebauer.nextcloudcookbook.di.ApiProvider$initApi$1.invokeSuspend (ApiProvider.java)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (BaseContinuationImpl.java)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.java:86)
  at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely (CoroutineScheduler.java)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask (CoroutineScheduler.java)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker (CoroutineScheduler.java)
  at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run (CoroutineScheduler.java)

Re-enable MissingQuantity check

Describe the bug

There is an issue in Weblate that causes lint errors on Android in certain languages.

Expected behavior

The MissingQuantity check should be re-ebabled once the Weblate issue is solved.

Additional context

WeblateOrg/weblate#7520

Implement Search in recipe

Add a searchbar at the topbar.

UX proposal:

Add Button open up dropdown to the top and select the search button or add button.

Screenshot follows.

Play protect blocks installation via APK file from GitHub

Describe the bug
When I try to install this app via APK file downloaded from GitHub release, Play protect blocks it (see attached screenshot). There is a way, how to workaround this by showing more details (screenshot contains this screen) and tapping on "Install anyway".

To Reproduce
Steps to reproduce the behavior:

  1. Download APK file from GitHub release
  2. Try to install app via downloaded APK file
  3. See alert from Play protect (as displayed on screenshot below)

Expected behavior
App is installed without blocking and alert from Play protect.

Screenshots
Screenshot_20230813_172044_Google Play Store

Smartphone:

  • Device: Samsung Galaxy S22
  • OS: Android 13
  • Version 0.12.0+26

API

Add api call to get all recipes and recipe details. For now authentication should be done by username and app password.

Filter recipes by tag

It would be very useful if you could filter the recipes by tag. In my opinion, the category alone is not enough if you have a large collection.

Offline mode

Is your feature request related to a problem? Please describe.
When your Nextcloud server is down, you can't access your recipes any more.

Describe the solution you'd like
The app should save an offline copy of the recipes, and sync them when the server is back online again.

Feature Request: GroupFolder or other Sharing Support

Is your feature request related to a problem? Please describe.
I can not currently share creation and maintenance of recipes with my family on our NextCloud.

Describe the solution you'd like
Being able to use the GroupFolder or otherwise to share our recipe inventory would be amazing.

Describe alternatives you've considered
Currently, I input everything and my wife borrows my phone to use the app.

Additional context
As it stands, phenomenal for regular individual usage. Just a bit clunky for family usage.

Images don't update after editing

Describe the bug
When I edit the "Image URL" field in the recipe edit form and save it, the image doesn't change (even if I clear the "Image URL" field).

To Reproduce
Steps to reproduce the behavior:

  1. Add recipe with the specified valid "Image URL" (of image 1)
  2. See image 1 in recipe detail
  3. Open edit recipe form
  4. Change (or clear) "Image URL" (to URL of valid image 2)
  5. See old image 1 in recipe detail

Expected behavior
There is image 2 (or no image, resp.) in recipe detail.

Smartphone:

  • Device: Samsung Galaxy S22
  • OS: Android 13
  • Version: v0.12.1+27

Hello!

Hi! While browsing the nextcloud cookbook developer documentation, i found out that you have created a new android app. So far it looks good, but glancing from the featureset, it looks like we are trying to solve the same issue. (I am not the maintainer of the micmun-cookbook-app, just helping out regulary)

Since we are trying to solve the same issue, maybe it would be possible to join forces in some way? (As an example, i am currently hard at work implementing editing). I am not really close in touch with the other maintainer, but we could try to make it more active!

Sorry if i am intruding unwelcome. Otherwise, thanks!

Feature Request: Numeric Quantities per Ingredient Line Item

Is your feature request related to a problem? Please describe.
Quantity is currently the same string as the ingredient. Does it go first, last? How do we separate it? It can not scale with servings.

Describe the solution you'd like
Being able to input the numeric quantity and unit alongside the ingredient string.

Describe alternatives you've considered
Using as-is, but I am already seeing I am not self-consistent, let alone with other family users inputting stuff.

Additional context
Will likely be necessary for serving size scaling.

Can't connect to my NC instance - Certificate error

Describe the bug

I try to connect the cookbook app (f-droid) to my NC instance where i have few recipes in my cookbook. I have https enabled on my instance. When trying to connect the app, it doesn't log in and instead i have a red error message saying certificate error.

To Reproduce
Steps to reproduce the behavior:

  1. Enable https on your instance
  2. Try to connect through the cookbook app.
  3. See error

Expected behavior

When trying to log in, the app should ask to validate the certificate and then login. It works like that for the nextcloud app, the money buster app, the Deck app, ...

  • Device: Pixel 7
  • OS: Android 13
  • OS instance : Debian 11
  • NC : 27.1.2
  • Cookbook android : 0.14.1
  • Cookbook on NC instance : 0.10.2

Additional context

NC instance is self-hosted and not open to the internet.

Recipe view

List all recipes and show detail view on click.

Feature Request: Nutrition Information

Is your feature request related to a problem? Please describe.
Many recipes have nutrition information available for a given serving size.

Describe the solution you'd like
It would be amazing if we could input things like macro and micro nutrient info alongside calories.

Describe alternatives you've considered
Using description sort of works, but it is static and cant be filtered or grouped on.

Additional context
Having this scale along with serving size would be phenomenal.

"No recipes found" in non-empty category "Uncategorised recipes"

Describe the bug
When I open special "virtual" category (with 3 items in my case) for uncategorised recipes, it shows no recipes and a message "No recipes found".

To Reproduce
Steps to reproduce the behavior:

  1. Open Cookbook app
  2. Have at least 1 recipe without category
  3. Go to tab "Categories"
  4. Tap on "Uncategorised recipes"
  5. See "No recipes found", although we have at least 1 recipe without category

Expected behavior
Recipes without category are displayed there.

Screenshots
Screenshot_20230815_103915_Cookbook
Screenshot_20230815_094344_Cookbook

Smartphone:

  • Device: Samsung Galaxy S22
  • OS: Android 13
  • Version: v0.12.1+27

Bad behavior when no categories available

Describe the bug
I added some recipes without category and "Categories" screen doesn't work properly.

To Reproduce
Steps to reproduce the behavior:

  1. Open app
  2. Log in with new account with no recipes
  3. Add one or more recipes without category
  4. Go to screen "Categories"
  5. See "*" category (as shown in screenshot below)

Expected behavior
As no categories are defined, show message "No categories found".

Screenshots
Screenshot_20230517_170013_Cookbook

Smartphone:

  • Device: Samsung Galaxy S22
  • OS: Android 13
  • Version: 0.8.0 (14)

Fails to open certain recipes

I have imported this recipe URL using this app, and it shows up fine in the Nextcloud Cookbook web UI, but fails to open in the Android app. The recipe thumbnail is shown correctly, but when tapped, the text Exception: type '_OneByteString' is not a subtype of type 'int' is shown. The edit button at the top right does nothing.

Crash of the App when selecting a category

Describe the bug

I use your Android-App for a look into my nextcloud recipes. If I choose the middle bottom button for a list of my categories and I click on a category with more than one recipies inside, the app crashes.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

I would have shown a list of my recipes related to the choosen category.

Screenshots

Smartphone:

  • Device: [e.g. Pixel 7]
  • OS: [e.g. Android 13]
  • Version [e.g. 22]
    Device: Redmi Note 11S
    OS: MIUI 14.0.3

Additional context

I have a category with only one related recipe. If I choose this category the related recipe will be shown. No app crash.

Add search and filter

I would love to see a search function and the ability to filter for keywords. E.g. if i want to eat something with potatoes in can filter for this keyword and see all recipes with the keyword potatoe.

Better input option(s) for images

Is your feature request related to a problem? Please describe.
When I want to add image to the recipe, it is quiet problematic. I think this problem has 2 branches, so I divide my text into these.

Web (or external) images. When I have an image outside my Nextcloud and want it to add to the recipe, I need to get its URL (complicated for average user), when it's publicly available (web image) or upload it somewhere and copy URL (other images), which is too complicated and time consuming for most users, I think.

Nextcloud images. When the image is located on my Nextcloud, I just need to enter path from Nextcloud root. It is better but manual entering isn't very user friendly. Web version of Nextcloud Cookbook has a image selector for this.

Describe the solution you'd like
I'd like to see some option for uploading an external image using this app (just some simple file input, I think there are some many libraries for this purpose), copying its path and inserting it into the input (or better hiding these things and just displaying a preview of the uploaded image). This picker should have a way to select image from Nextcloud files.

Clear zero times

Is your feature request related to a problem? Please describe.
When you open "fresh" form for adding recipes, time input fields are empty. When you tap into them, zeros are filled. After saving and reopening recipe in edit form zeros are still in present.

Describe the solution you'd like
I'd appreciate if time inputs with zeros will be cleared after saving. It could be more synoptical.

share recipies with others via external link

It would be a nice feature, if users could share their recipies with users by sharing an external link. Ideally that would be an external link (analogue to external links when sharing files) allowing to share links also with people that are not users on the nextcloud instance.

Crash after the first logon. | Pixel 6 / Android 13

Describe the bug
Crash after the first logon.

To Reproduce
Steps to reproduce the behavior:

  1. Start app
  2. Logon to NC
  3. Crash
  4. Restart app
  5. Crash
  6. ...

Smartphone:

  • Device: Pixel 6
  • OS: Android 13

Server:

  • Nextcloud: 26.0.3
  • Cookbook: 0.10.2

APK availability

Your Readme shows a badge stating one could get the app from Github releases โ€“ but there aren't any APKs attached to the releases. Did you just forget to attach them, or is it some Github workflow failing?

Shopping list

Add the possibility to add the ingredients of a recipe to some shopping list.

As a first version this could be a local shopping list. E.g. stored in room.

For later updates ingredients could be stored in multiple other apps.

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.