Code Monkey home page Code Monkey logo

aggregator-android's People

Contributors

poussinou avatar tughi 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aggregator-android's Issues

[Feature request] 1-click 'mark all as read' like in old Aggregator

Is your feature request related to a problem? Please describe.
In old Aggregator, I always use the circle button at bottom right.
Maybe it's equivalent with 'mark all as read' in aggregator next, but it's hidden in 3 dots menu.

Describe the solution you'd like
A new button in action bar.
I don't like the old one position because it's covering feeds.

Describe alternatives you've considered
If you can't add new button in action bar, swap it with settings button in action bar.

Option to open article in default browser directly

Is your feature request related to a problem? Please describe.
I'm always frustrated when I need to open article in my default browser manually. I do this to be able to switch to article (reader) mode (in Firefox) and to bookmark page (when needed).

Describe the solution you'd like
Option to open articles directly in default browser. I would also like to be able to open article directly from main feed/source list. Without need to see "synapse" page. What about adding long tap for this?

Describe alternatives you've considered
Adding reader mode directly to Aggregator browser. But I suppose user would never be able to bookmark article to default browsers bookmarks.

Issue with Notifications

Describe the bug

When you get new unread messages then there is no notification that you have them. Once you go into the app, read the messages the notifications appears.

Device (please complete the following information):

  • Aggregator version: Preview 29
  • Device: Nokia 7.2 TA-1196
  • Android version: Android 10 patched to July

Screenshots
Screenshot wouldn't show it

[Bug] App launch isn't always recognized, preventing feed update on application launch

Describe the bug
After quitting the app and reopening the feeds aren't updated even though update mode is set "Auto update: on app launch"

To Reproduce

  • Go to Settings -> System -> Gestures

  • Enable "Gesture navigation"

  • Open Aggregator and go to "Feeds"

  • Click on a Feed -> Settings -> Update mode.

  • Set "On application launch" and save

  • Bring up task manager (swipe from bottom up but hold, don't release finger)

  • Kill Aggregator

  • Re-open Aggregator

  • Go to Feeds and click on previously edited feed

  • Notice new updated feed time.

NOW

  • Quit app via right swipe from left window border, without killing the app via task manager
  • Wait couple minutes
  • Start app again
  • Go to Feeds and click on previously edited feed
  • Notice OLD update time, no refresh!

Reasoning
I am picky about how often and at what times my device connects to the internet. I want to be in control. Therefore I tend to limit background updates/refreshes. "Update on app launch" seems a good fit for me. Yet I'm under the impression that Aggregator can't differentiate to well between a short therm switch to/from the app and a "new" app launch unless you really kill the app manually via the task manager?

It would really help to have a manual way to update e.g. via a pull down action.

BTW, great app, many thanks for your work!

Device (please complete the following information):

  • Aggregator version: Preview-032]
  • Device: Google Pixel 4a
  • Android version: Android 13

Screenshots
Not applicable

Adding the app to F-Droid

Is your feature request related to a problem? Please describe.
Currently the app is only available from the Google Play Store, users who are not willing to depend on Google services must therefore install an alternative store (e.g., Aurora Store) or a replacement for Google's proprietary libraries (e.g., microG).

Describe the solution you'd like
For convenience it would be preferable to be able to download (and update) the application from the F-Droid repositories.

Describe alternatives you've considered
Since some developers run into problems trying to add their app, you could also use a dedicated repository (with binaries only) instead of the official F-Droid one.

[BUG] No Notification Light on New Aggregator [PocoF1 LineageOS 20 (Android 13)]

Describe the bug
There is no notification light, but it exists on old aggregator from Play Store

To Reproduce
Steps to reproduce the behavior:

  • Make sure notification and notification light enabled
  • Wait for new notification
  • Notification sound heard, but notification light is off

Device (please complete the following information):

  • New Aggregator version: Preview-033
  • Old Aggregator version: 2.22
  • Device: Xiaomi Pocophone F1
  • Android version: LineageOS 20 (Android 13)

Screenshots
N/A

Request for title and description

First of all thanks for this app!
if by any chance you are thinking of additional options in viewing UI it would be useful to have one in which you see:
Full title and 2 or 3 lines (in small font) of Description.

Thank you

[Feature Request] Open article in browser by clicking thumbnail

It would be nice to have a means to quickly open an article in the system browser, as articles don't always render properly in the built-in reader. The old version of aggregator worked nicely, allowing you to open in the browser when you clicked the thumbnail of an article in your feed.

Temporary Notification In Status Bar

I do get notifications just fine for new entries. My status bar at the top sometimes does temporarily show the icon and goes away if nothing there. Is this a bug?

Option to set less than all entries to read

As discussed on Patreon before: As discussed on Patreon before: Option to set less than all entries to read would be nice, maybe with menu entry "Mark until current position" ore just while scrolling over.

No notifications or feed updates received

Describe the bug
A clear and concise description of what the bug is.

I seem to receive no notifications about new items in my feeds, and no background service seems to be running.
The feeds only seem to update when I manually trigger an update or launch Aggregator.

I did a crude test by adding https://lorem-rss.herokuapp.com/feed with updates every 15 minutes, checked the "next update time" and no notification arrived within a couple mins around that time.

To Reproduce
Steps to reproduce the behavior:

Device (please complete the following information):

  • Aggregator version: Preview-033, installed from F-Droid
  • Device: OnePlus 6T
  • Android version: Android 11

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

Export/Import to move from Play Store to F-Droid

Is there a way to take all settings from Play Store to F-Droid version? Feeds are in OPML file but what's about tags with all the rules? Have rootet phone, can access all but did not find it so far.

Grouping feeds by Category

I have used the old Aggregator and I just noticed that the new still doesn't have the category support. I might be wrong. If it exists please kindly help me find it, and if it doesn't I look forward to it being added.

Aggregator not able to read reddit rss channels

Reddit has made changes in their RSS feed. In particular (I believe) content tag now has type="html" attribute. Aggregator 2.22 is reporting "Fail message: Failed to parse feed content: html". See the sceenshot.

First I thought that the latest version, Preview:033 knows how to handle the issue, so I have installed that one too. I was not able to add reddit RSS feed to it. The error message is saying: No feeds found. See the sceenshot.

Steps to reproduce the behavior:
Try to add any reddit RSS feed, for example:
https://www.reddit.com/r/androidapps.rss

  • Aggregator version: 2.22, Preview-033
  • Xiaomi Redmi Note 2
  • Android version: 5.0

Screenshots
2023-08-13 15 55 51
2023-08-13 15 57 37

"Show Read Entries" does not work

Describe the bug

Unticking "Show Read Entries" does not work. See picture below: it is unticked but the 2 first entries (which are greyed, thus read) still appear.

To Reproduce

Just tick/untick the option several times, all the articles always displayed, whatever the status of "Show Read Entries" checkbox.

Device (please complete the following information):

  • Aggregator version: latest from play store (can't find any more info inside the app :{ )
  • Device: N10
  • Android version: 8.1

Screenshots

Screenshot_20210223-090750

Refresh RSS Feeds Feature

I don't see a way to refresh the RSS feed list manually to check for any new updates if I start the app. I was expecting maybe to pull down the list and it would refresh the list. I do like the option to set the interval to check for updates.

Other way of looking

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Maybe in next update u can add other viewing the rss with image and maybe with rich text
Ty and have nice day

Status update on use

I am writing not for a bug or a feature, but rather because I find the new version to be great. There are aesthetic things that could be done, but altogether, you've got yourself a great app here. Just thought you should know.

Can't import opml with double quotation marks in a feed title

Describe the bug
The parser breaks at the double quotation marks and none of the feeds from the opml file is imported.

To Reproduce

  1. Create an opml file with a line that contains double quotation marks. For example, this line:
    <outline title=""Элементы": новости науки" text=""Элементы": новости науки" description=""Элементы": новости науки" type="rss" xmlUrl="http://elementy.ru/rss/news"/>
    (I have not edited the title of this feed, so I assume this title is what is automatically fetched when you subscribe to this RSS).
  2. Try to import this file.

Device (please complete the following information):

  • Aggregator version: 2.22.000
  • Device: KingKong Mini2
  • Android version: Android 9

Add release files to release section on GitHub

I am using old Aggregator version 2.22 obtained from Google Play Store. It has package name com.tughi.aggregator
That package is not being updated any more as new versions are published under package name com.tughi.aggregator.next
Meanwhile, on f-droid all updates are under the original package name: com.tughi.aggregator

I have tried to install the updated version from f-droid. The installation has failed as the package is signed with a different key.

I would like to install the new version of Aggregator with the same package name, as I don't want to lose my settings and feed channels history.

It would be perfect if you could:

  1. updated com.tughi.aggregator version on Play Store
  2. if 1. is not possible than add release files signed with original keys to release section here on GitHub

Many thanks for your app!

"Contact author" email is dead link

Describe the bug

Clicking the "Support > Contact (email the author)" creates an email to [email protected] which does not exists.

Would probably be better (for us and for you) to link to github issues' page.

To Reproduce

  • Click the "Support > Contact (email the author)"
  • send the email
  • receive a notification from mailer daemon that email does not exist

Device (please complete the following information):

  • Aggregator version: latest from
  • Device: N10
  • Android version: 8.1

Export RSS Feeds Feature Request

I cannot find a way to export my feeds to a file; export OPML file. But I easily found the way to import them. Please add this feature so I can export any new feeds without loosing them. Thanks

[Feature Request] smarter notifications

Option to show notifications for entries only if they aren't starred, tagged, or pinned.

Problem
Repeatedly recieving notifications for unread articles that have already been pinned or tagged to be read later.

Proposed solution
A settings option that will exclude entries from notifications if they have been reacted to in some way.

Text size

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

I want to change text size.

Documentation of rules

After Patreon profile seems to be inactive now and examples gone, is there a explanation of the rules somewhere? By the way: Is development going on? Asking because of inactive Patreon profile.

Feature Request - Displaying Thumbnails on Rss List

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

I like Aggregator as a rss reader, but it lacks option to show thumbnails when I scrolling through the list. It's became painful because I must open it one by one to see the thumbnails/image.
Hope to see this feature in the future. Thanks.

Connecting to password protected feeds

Describe the bug
cannot register to RSS feed that requires user/pass credentials

To Reproduce

  • hit "+" to add a feed
    a- there's not place to enter user/pass
    b- if I type "http://user:[email protected]", which is a valid URL format, I get error "unknown host" as it seems "user:password@" is interpreted as part of the host name instead of being extracted independently.

Device (please complete the following information):

  • Aggregator version: Latest in Play Store (sorry, found no way in the app the get the version...)
  • Device: Doogee N10
  • Android version: 8.1

Bug: Failed to parse XML

Describe the bug
Can't parse the XML of this feed.

I'm guessing it has to do with the header being like this:

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:wfw="http://wellformedweb.org/CommentAPI/"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
     xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
     xmlns:media="http://search.yahoo.com/mrss/"      >

To Reproduce
Steps to reproduce the behavior:

Device (please complete the following information):

  • Aggregator version: Preview-030
  • Device: Samsung S9
  • Android version: Android 10

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

How to use filters

Hello,

I used the old app and found that it's working great.

The one thing I'm missing is a guide to how filter words or phrases in the feed.

Is there a guide?

[BUG] Import OPML

Version: Preview 028.
Using "LOAD OPML FILE" button in find feeds page:

  • Categories/Tags are not imported.
  • App force close after import. (However everything seems imported correctly)

"mark as read on scroll" feature

To follow up some feature request discussed on Patreon some time ago, I just wanted to add "mark as read on scroll". Think you know what is meant.

Android 13 themed icon

Is your feature request related to a problem? Please describe.
I would really enjoy Android 13 themed icons support for this app:

light dark

Describe the solution you'd like
Just a little edit to the current icon files would look pretty nice to me (see screenshots above):

Edit launcher.xml:

<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@drawable/launcher_background"/>
    <foreground android:drawable="@drawable/launcher_foreground"/>
    <monochrome android:drawable="@drawable/launcher_monochrome"/>
</adaptive-icon>

New launcher_monochrome.xml:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="108dp"
    android:height="108dp"
    android:viewportWidth="108"
    android:viewportHeight="108">
  <group>
    <clip-path android:pathData="m54,25a29,29 0,0 0,-4.811 0.408l-0.605,3.193a26,26 0,0 0,-8.738 3.594l-2.637,-1.795a29,29 0,0 0,-6.818 6.797l1.816,2.666a26,26 0,0 0,-3.627 8.725l-3.145,0.598A29,29 0,0 0,25 54a29,29 0,0 0,0.408 4.811l3.193,0.605a26,26 0,0 0,3.594 8.738l-1.795,2.637a29,29 0,0 0,6.797 6.818l2.666,-1.816a26,26 0,0 0,8.725 3.627l0.598,3.145A29,29 0,0 0,54 83,29 29,0 0,0 58.811,82.592l0.605,-3.193a26,26 0,0 0,8.738 -3.594l2.637,1.795a29,29 0,0 0,6.818 -6.797l-1.816,-2.666a26,26 0,0 0,3.627 -8.725l3.145,-0.598A29,29 0,0 0,83 54,29 29,0 0,0 82.592,49.189l-3.193,-0.605a26,26 0,0 0,-3.594 -8.738l1.795,-2.637a29,29 0,0 0,-6.797 -6.818l-2.666,1.816a26,26 0,0 0,-8.725 -3.627L58.814,25.436A29,29 0,0 0,54 25ZM54,35A19,19 0,0 1,73 54,19 19,0 0,1 54,73 19,19 0,0 1,35 54,19 19,0 0,1 54,35Z M 0,0"/>
  </group>
  <group>
    <clip-path android:pathData="m54,25a29,29 0,0 0,-4.811 0.408l-0.605,3.193a26,26 0,0 0,-8.738 3.594l-2.637,-1.795a29,29 0,0 0,-6.818 6.797l1.816,2.666a26,26 0,0 0,-3.627 8.725l-3.145,0.598A29,29 0,0 0,25 54a29,29 0,0 0,0.408 4.811l3.193,0.605a26,26 0,0 0,3.594 8.738l-1.795,2.637a29,29 0,0 0,6.797 6.818l2.666,-1.816a26,26 0,0 0,8.725 3.627l0.598,3.145A29,29 0,0 0,54 83,29 29,0 0,0 58.811,82.592l0.605,-3.193a26,26 0,0 0,8.738 -3.594l2.637,1.795a29,29 0,0 0,6.818 -6.797l-1.816,-2.666a26,26 0,0 0,3.627 -8.725l3.145,-0.598A29,29 0,0 0,83 54,29 29,0 0,0 82.592,49.189l-3.193,-0.605a26,26 0,0 0,-3.594 -8.738l1.795,-2.637a29,29 0,0 0,-6.797 -6.818l-2.666,1.816a26,26 0,0 0,-8.725 -3.627L58.814,25.436A29,29 0,0 0,54 25Z M 0,0"/>
  </group>
  <group>
    <clip-path android:pathData="m54,25a29,29 0,0 0,-4.811 0.408l-0.605,3.193a26,26 0,0 0,-8.738 3.594l-2.637,-1.795a29,29 0,0 0,-6.818 6.797l1.816,2.666a26,26 0,0 0,-3.627 8.725l-3.145,0.598A29,29 0,0 0,25 54a29,29 0,0 0,0.408 4.811l3.193,0.605a26,26 0,0 0,3.594 8.738l-1.795,2.637a29,29 0,0 0,6.797 6.818l2.666,-1.816a26,26 0,0 0,8.725 3.627l0.598,3.145A29,29 0,0 0,54 83,29 29,0 0,0 58.811,82.592l0.605,-3.193a26,26 0,0 0,8.738 -3.594l2.637,1.795a29,29 0,0 0,6.818 -6.797l-1.816,-2.666a26,26 0,0 0,3.627 -8.725l3.145,-0.598A29,29 0,0 0,83 54,29 29,0 0,0 82.592,49.189l-3.193,-0.605a26,26 0,0 0,-3.594 -8.738l1.795,-2.637a29,29 0,0 0,-6.797 -6.818l-2.666,1.816a26,26 0,0 0,-8.725 -3.627L58.814,25.436A29,29 0,0 0,54 25Z M 0,0"/>
  </group>
  <path
      android:pathData="M53.996,43.008A11,11 0,0 0,47.68 45.02A15,15 0,0 1,47.996 45.008A15,15 0,0 1,62.996 60.008A15,15 0,0 1,62.979 60.344A11,11 0,0 0,64.996 54.008A11,11 0,0 0,53.996 43.008zM47.996,48.508A11.5,11.5 0,0 0,44.121 49.191A11,11 0,0 0,43.004 53.758A8,8 0,0 1,47.996 52.008A8,8 0,0 1,55.996 60.008A8,8 0,0 1,54.242 64.994A11,11 0,0 0,58.805 63.893A11.5,11.5 0,0 0,59.496 60.008A11.5,11.5 0,0 0,47.996 48.508zM47.996,56.008A4,4 0,0 0,43.996 60.008A4,4 0,0 0,47.996 64.008A4,4 0,0 0,51.996 60.008A4,4 0,0 0,47.996 56.008z"
      android:strokeAlpha="1"
      android:strokeLineJoin="round"
      android:strokeWidth="1"
      android:fillColor="#ffffff"
      android:strokeColor="#00000000"
      android:fillAlpha="1"
      android:strokeLineCap="butt"/>
  <path
      android:pathData="m54,28a26,26 0,0 0,-4.26 0.359l-0.475,3.16a23,23 0,0 0,-7.83 3.225l-2.533,-1.873a26,26 0,0 0,-6.037 6.021l1.887,2.555A23,23 0,0 0,31.5 49.268l-3.117,0.469A26,26 0,0 0,28 54a26,26 0,0 0,0.359 4.26l3.16,0.475a23,23 0,0 0,3.225 7.83l-1.873,2.533a26,26 0,0 0,6.021 6.037l2.555,-1.887A23,23 0,0 0,49.268 76.5l0.469,3.117A26,26 0,0 0,54 80,26 26,0 0,0 58.26,79.641l0.475,-3.16a23,23 0,0 0,7.83 -3.225l2.533,1.873a26,26 0,0 0,6.037 -6.021L73.248,66.553A23,23 0,0 0,76.5 58.732l3.117,-0.469A26,26 0,0 0,80 54,26 26,0 0,0 79.641,49.74l-3.16,-0.475a23,23 0,0 0,-3.225 -7.83l1.873,-2.533a26,26 0,0 0,-6.021 -6.037l-2.555,1.887A23,23 0,0 0,58.732 31.5l-0.469,-3.117A26,26 0,0 0,54 28ZM54,37A17,17 0,0 1,71 54,17 17,0 0,1 54,71 17,17 0,0 1,37 54,17 17,0 0,1 54,37Z"
      android:strokeAlpha="1"
      android:strokeLineJoin="round"
      android:strokeWidth="0.89999998"
      android:fillColor="#ffffff"
      android:strokeColor="#00000000"
      android:fillAlpha="1"
      android:strokeLineCap="round"/>
</vector>

I would provide a pull request, but I am not familiar with apps assets management.

Display article source

I struggle to digest a feed that has a lot of articles in it. The list of titles is long and somewhat cryptic because they're just short titles.

For example I use the following feed to follow macos: https://news.google.com/rss/search?cf=all&hl=en-US&pz=1&q=macos&gl=US&ceid=US:en

When you open an article, the source is displayed after the title, so the data is there (at least in Google news).

It would be great if the list of articles in the feed could be grouped by the source.

I have been trying out PressReader and Feedly and wanting to find/enjoy an open source app.

Export ompl

I just love this app i was use the old one olso . But the new one i cant export my opml for beckup and more

Possibility to filter for any tag

Filter rule only applies on title and content.
What is content exactly ?
I cannot configure rule to apply on another tag like category for example.

Just cloned repo, can't get app to build "Could not resolve project :sax-framework" in "app:mergeFdroidDebugAssets"

  • Downloaded the latest Android Studio (Dolphin 2021.3.1 Patch 1)
  • Cloned master branch of aggregator-android
  • Opened it up in Android Studio, let it download and set up everything it needed
  • Debug build & run > Get error

image

Could not determine the dependencies of task ':app:mergeFdroidDebugAssets'.
> Could not resolve all task dependencies for configuration ':app:fdroidDebugRuntimeClasspath'.
   > Could not resolve project :sax-framework.
     Required by:
         project :app
      > No matching configuration of project :sax-framework was found. The consumer was configured to find a runtime of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'debug', attribute 'com.android.build.api.attributes.ProductFlavor:store' with value 'fdroid', attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.3.1', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm' but:
          - None of the consumable configurations have attributes.

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Exception is:
org.gradle.api.internal.tasks.TaskDependencyResolveException: Could not determine the dependencies of task ':app:mergeFdroidDebugAssets'.
	at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.getDependencies(CachingTaskDependencyResolveContext.java:71)
	at org.gradle.execution.plan.TaskDependencyResolver.resolveDependenciesFor(TaskDependencyResolver.java:49)
	at org.gradle.execution.plan.LocalTaskNode.getDependencies(LocalTaskNode.java:168)
	at org.gradle.execution.plan.LocalTaskNode.resolveDependencies(LocalTaskNode.java:133)
	at org.gradle.execution.plan.DefaultExecutionPlan.doAddNodes(DefaultExecutionPlan.java:202)
	at org.gradle.execution.plan.DefaultExecutionPlan.addEntryTasks(DefaultExecutionPlan.java:166)
	at org.gradle.execution.plan.DefaultExecutionPlan.addEntryTasks(DefaultExecutionPlan.java:148)
	at org.gradle.execution.TaskNameResolvingBuildConfigurationAction.configure(TaskNameResolvingBuildConfigurationAction.java:47)
	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:52)
	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.access$000(DefaultBuildConfigurationActionExecuter.java:26)
	at org.gradle.execution.DefaultBuildConfigurationActionExecuter$1.proceed(DefaultBuildConfigurationActionExecuter.java:65)
	at org.gradle.execution.DefaultTasksBuildExecutionAction.configure(DefaultTasksBuildExecutionAction.java:48)
	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:52)
	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.lambda$select$0(DefaultBuildConfigurationActionExecuter.java:39)
	at org.gradle.internal.Factories$1.create(Factories.java:31)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:332)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry.lambda$withMutableStateOfAllProjects$0(DefaultProjectStateRegistry.java:154)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:270)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:154)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:143)
	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.select(DefaultBuildConfigurationActionExecuter.java:38)
	at org.gradle.initialization.DefaultTaskExecutionPreparer.prepareForTaskExecution(DefaultTaskExecutionPreparer.java:42)
	at org.gradle.initialization.VintageBuildModelController.lambda$scheduleRequestedTasks$1(VintageBuildModelController.java:81)
	at org.gradle.internal.model.StateTransitionController.lambda$inState$1(StateTransitionController.java:98)
	at org.gradle.internal.model.StateTransitionController.lambda$inState$2(StateTransitionController.java:113)
	at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
	at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:109)
	at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:97)
	at org.gradle.initialization.VintageBuildModelController.scheduleRequestedTasks(VintageBuildModelController.java:81)
	at org.gradle.internal.build.DefaultBuildLifecycleController$DefaultWorkGraphBuilder.addRequestedTasks(DefaultBuildLifecycleController.java:244)
	at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$populateWorkGraph$4(DefaultBuildLifecycleController.java:150)
	at org.gradle.internal.build.DefaultBuildWorkPreparer.populateWorkGraph(DefaultBuildWorkPreparer.java:41)
	at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.populateTaskGraph(BuildOperationFiringBuildWorkPreparer.java:132)
	at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.run(BuildOperationFiringBuildWorkPreparer.java:88)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
	at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer.populateWorkGraph(BuildOperationFiringBuildWorkPreparer.java:65)
	at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$populateWorkGraph$5(DefaultBuildLifecycleController.java:150)
	at org.gradle.internal.model.StateTransitionController.lambda$inState$1(StateTransitionController.java:98)
	at org.gradle.internal.model.StateTransitionController.lambda$inState$2(StateTransitionController.java:113)
	at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
	at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:109)
	at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:97)
	at org.gradle.internal.build.DefaultBuildLifecycleController.populateWorkGraph(DefaultBuildLifecycleController.java:150)
	at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.populateWorkGraph(DefaultBuildWorkGraphController.java:120)
	at org.gradle.composite.internal.DefaultBuildController.populateWorkGraph(DefaultBuildController.java:82)
	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraphBuilder.withWorkGraph(DefaultIncludedBuildTaskGraph.java:116)
	at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.lambda$scheduleRequestedTasks$0(DefaultBuildTreeWorkPreparer.java:34)
	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph$1.run(DefaultIncludedBuildTaskGraph.java:144)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph.scheduleWork(DefaultIncludedBuildTaskGraph.java:141)
	at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.scheduleRequestedTasks(DefaultBuildTreeWorkPreparer.java:34)
	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$doScheduleAndRunTasks$2(DefaultBuildTreeLifecycleController.java:89)
	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.withNewWorkGraph(DefaultIncludedBuildTaskGraph.java:75)
	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.doScheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:88)
	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$4(DefaultBuildTreeLifecycleController.java:106)
	at org.gradle.internal.model.StateTransitionController.lambda$transition$6(StateTransitionController.java:166)
	at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:238)
	at org.gradle.internal.model.StateTransitionController.lambda$transition$7(StateTransitionController.java:166)
	at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
	at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:166)
	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java:103)
	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:69)
	at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:53)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:49)
	at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:69)
	at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:119)
	at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41)
	at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0(RootBuildLifecycleBuildActionExecutor.java:40)
	at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:128)
	at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40)
	at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40)
	at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0(BuildTreeLifecycleBuildActionExecutor.java:65)
	at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:53)
	at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:65)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:61)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:57)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:57)
	at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:36)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:270)
	at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:119)
	at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:36)
	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecutor.execute(ContinuousBuildActionExecutor.java:103)
	at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute(SubscribableBuildActionExecutor.java:64)
	at org.gradle.internal.session.DefaultBuildSessionContext.execute(DefaultBuildSessionContext.java:46)
	at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:100)
	at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:88)
	at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:69)
	at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:62)
	at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:41)
	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:63)
	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)
	at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:58)
	at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:42)
	at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:47)
	at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:31)
	at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:65)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)
	at org.gradle.util.internal.Swapper.swap(Swapper.java:38)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
	at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all task dependencies for configuration ':app:fdroidDebugRuntimeClasspath'.
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.rethrowFailure(DefaultConfiguration.java:1503)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$3700(DefaultConfiguration.java:159)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$DefaultResolutionHost.rethrowFailure(DefaultConfiguration.java:2139)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.visitDependencies(DefaultConfiguration.java:1461)
	at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext$TaskGraphImpl.getNodeValues(CachingTaskDependencyResolveContext.java:114)
	at org.gradle.internal.graph.CachingDirectedGraphWalker$GraphWithEmptyEdges.getNodeValues(CachingDirectedGraphWalker.java:213)
	at org.gradle.internal.graph.CachingDirectedGraphWalker.doSearch(CachingDirectedGraphWalker.java:121)
	at org.gradle.internal.graph.CachingDirectedGraphWalker.findValues(CachingDirectedGraphWalker.java:73)
	at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.getDependencies(CachingTaskDependencyResolveContext.java:69)
	... 143 more
Caused by: org.gradle.internal.resolve.ModuleVersionResolveException: Could not resolve project :sax-framework.
Required by:
    project :app
Caused by: org.gradle.internal.component.NoMatchingConfigurationSelectionException: No matching configuration of project :sax-framework was found. The consumer was configured to find a runtime of a component, preferably optimized for Android, as well as attribute 'com.android.build.api.attributes.BuildTypeAttr' with value 'debug', attribute 'com.android.build.api.attributes.ProductFlavor:store' with value 'fdroid', attribute 'com.android.build.api.attributes.AgpVersionAttr' with value '7.3.1', attribute 'org.jetbrains.kotlin.platform.type' with value 'androidJvm' but:
  - None of the consumable configurations have attributes.
	at org.gradle.internal.component.model.AttributeConfigurationSelector.selectConfigurationUsingAttributeMatching(AttributeConfigurationSelector.java:112)
	at org.gradle.internal.component.model.AttributeConfigurationSelector.selectConfigurationUsingAttributeMatching(AttributeConfigurationSelector.java:51)
	at org.gradle.internal.component.model.LocalComponentDependencyMetadata.selectConfigurations(LocalComponentDependencyMetadata.java:144)
	at org.gradle.internal.component.local.model.DslOriginDependencyMetadataWrapper.selectConfigurations(DslOriginDependencyMetadataWrapper.java:71)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.EdgeState.calculateTargetConfigurations(EdgeState.java:265)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.EdgeState.attachToTargetConfigurations(EdgeState.java:150)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.attachToTargetRevisionsSerially(DependencyGraphBuilder.java:380)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.resolveEdges(DependencyGraphBuilder.java:263)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.traverseGraph(DependencyGraphBuilder.java:200)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.graph.builder.DependencyGraphBuilder.resolve(DependencyGraphBuilder.java:151)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.DefaultArtifactDependencyResolver.resolve(DefaultArtifactDependencyResolver.java:141)
	at org.gradle.api.internal.artifacts.ivyservice.DefaultConfigurationResolver.resolveBuildDependencies(DefaultConfigurationResolver.java:138)
	at org.gradle.api.internal.artifacts.ivyservice.ShortCircuitEmptyConfigurationResolver.resolveBuildDependencies(ShortCircuitEmptyConfigurationResolver.java:76)
	at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.resolveBuildDependencies(ErrorHandlingConfigurationResolver.java:65)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.lambda$resolveGraphForBuildDependenciesIfRequired$6(DefaultConfiguration.java:862)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry$CalculatedModelValueImpl.update(DefaultProjectStateRegistry.java:464)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.resolveGraphForBuildDependenciesIfRequired(DefaultConfiguration.java:858)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.access$1800(DefaultConfiguration.java:159)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$SelectedArtifactsProvider.getTaskDependencyValue(DefaultConfiguration.java:1416)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$SelectedArtifactsProvider.getTaskDependencyValue(DefaultConfiguration.java:1412)
	at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationFileCollection.visitDependencies(DefaultConfiguration.java:1457)
	at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext$TaskGraphImpl.getNodeValues(CachingTaskDependencyResolveContext.java:114)
	at org.gradle.internal.graph.CachingDirectedGraphWalker$GraphWithEmptyEdges.getNodeValues(CachingDirectedGraphWalker.java:213)
	at org.gradle.internal.graph.CachingDirectedGraphWalker.doSearch(CachingDirectedGraphWalker.java:121)
	at org.gradle.internal.graph.CachingDirectedGraphWalker.findValues(CachingDirectedGraphWalker.java:73)
	at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.getDependencies(CachingTaskDependencyResolveContext.java:69)
	at org.gradle.execution.plan.TaskDependencyResolver.resolveDependenciesFor(TaskDependencyResolver.java:49)
	at org.gradle.execution.plan.LocalTaskNode.getDependencies(LocalTaskNode.java:168)
	at org.gradle.execution.plan.LocalTaskNode.resolveDependencies(LocalTaskNode.java:133)
	at org.gradle.execution.plan.DefaultExecutionPlan.doAddNodes(DefaultExecutionPlan.java:202)
	at org.gradle.execution.plan.DefaultExecutionPlan.addEntryTasks(DefaultExecutionPlan.java:166)
	at org.gradle.execution.plan.DefaultExecutionPlan.addEntryTasks(DefaultExecutionPlan.java:148)
	at org.gradle.execution.TaskNameResolvingBuildConfigurationAction.configure(TaskNameResolvingBuildConfigurationAction.java:47)
	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:52)
	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.access$000(DefaultBuildConfigurationActionExecuter.java:26)
	at org.gradle.execution.DefaultBuildConfigurationActionExecuter$1.proceed(DefaultBuildConfigurationActionExecuter.java:65)
	at org.gradle.execution.DefaultTasksBuildExecutionAction.configure(DefaultTasksBuildExecutionAction.java:48)
	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:52)
	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.lambda$select$0(DefaultBuildConfigurationActionExecuter.java:39)
	at org.gradle.internal.Factories$1.create(Factories.java:31)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:332)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry.lambda$withMutableStateOfAllProjects$0(DefaultProjectStateRegistry.java:154)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:270)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:154)
	at org.gradle.api.internal.project.DefaultProjectStateRegistry.withMutableStateOfAllProjects(DefaultProjectStateRegistry.java:143)
	at org.gradle.execution.DefaultBuildConfigurationActionExecuter.select(DefaultBuildConfigurationActionExecuter.java:38)
	at org.gradle.initialization.DefaultTaskExecutionPreparer.prepareForTaskExecution(DefaultTaskExecutionPreparer.java:42)
	at org.gradle.initialization.VintageBuildModelController.lambda$scheduleRequestedTasks$1(VintageBuildModelController.java:81)
	at org.gradle.internal.model.StateTransitionController.lambda$inState$1(StateTransitionController.java:98)
	at org.gradle.internal.model.StateTransitionController.lambda$inState$2(StateTransitionController.java:113)
	at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
	at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:109)
	at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:97)
	at org.gradle.initialization.VintageBuildModelController.scheduleRequestedTasks(VintageBuildModelController.java:81)
	at org.gradle.internal.build.DefaultBuildLifecycleController$DefaultWorkGraphBuilder.addRequestedTasks(DefaultBuildLifecycleController.java:244)
	at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$populateWorkGraph$4(DefaultBuildLifecycleController.java:150)
	at org.gradle.internal.build.DefaultBuildWorkPreparer.populateWorkGraph(DefaultBuildWorkPreparer.java:41)
	at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.populateTaskGraph(BuildOperationFiringBuildWorkPreparer.java:132)
	at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer$PopulateWorkGraph.run(BuildOperationFiringBuildWorkPreparer.java:88)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
	at org.gradle.internal.build.BuildOperationFiringBuildWorkPreparer.populateWorkGraph(BuildOperationFiringBuildWorkPreparer.java:65)
	at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$populateWorkGraph$5(DefaultBuildLifecycleController.java:150)
	at org.gradle.internal.model.StateTransitionController.lambda$inState$1(StateTransitionController.java:98)
	at org.gradle.internal.model.StateTransitionController.lambda$inState$2(StateTransitionController.java:113)
	at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
	at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:109)
	at org.gradle.internal.model.StateTransitionController.inState(StateTransitionController.java:97)
	at org.gradle.internal.build.DefaultBuildLifecycleController.populateWorkGraph(DefaultBuildLifecycleController.java:150)
	at org.gradle.internal.build.DefaultBuildWorkGraphController$DefaultBuildWorkGraph.populateWorkGraph(DefaultBuildWorkGraphController.java:120)
	at org.gradle.composite.internal.DefaultBuildController.populateWorkGraph(DefaultBuildController.java:82)
	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraphBuilder.withWorkGraph(DefaultIncludedBuildTaskGraph.java:116)
	at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.lambda$scheduleRequestedTasks$0(DefaultBuildTreeWorkPreparer.java:34)
	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph$1.run(DefaultIncludedBuildTaskGraph.java:144)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph$DefaultBuildTreeWorkGraph.scheduleWork(DefaultIncludedBuildTaskGraph.java:141)
	at org.gradle.internal.buildtree.DefaultBuildTreeWorkPreparer.scheduleRequestedTasks(DefaultBuildTreeWorkPreparer.java:34)
	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$doScheduleAndRunTasks$2(DefaultBuildTreeLifecycleController.java:89)
	at org.gradle.composite.internal.DefaultIncludedBuildTaskGraph.withNewWorkGraph(DefaultIncludedBuildTaskGraph.java:75)
	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.doScheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:88)
	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$4(DefaultBuildTreeLifecycleController.java:106)
	at org.gradle.internal.model.StateTransitionController.lambda$transition$6(StateTransitionController.java:166)
	at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:238)
	at org.gradle.internal.model.StateTransitionController.lambda$transition$7(StateTransitionController.java:166)
	at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
	at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:166)
	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java:103)
	at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:69)
	at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:53)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:49)
	at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:69)
	at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:119)
	at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41)
	at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0(RootBuildLifecycleBuildActionExecutor.java:40)
	at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:128)
	at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:40)
	at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40)
	at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0(BuildTreeLifecycleBuildActionExecutor.java:65)
	at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:53)
	at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:65)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:61)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:57)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:57)
	at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:36)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:270)
	at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:119)
	at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:36)
	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecutor.execute(ContinuousBuildActionExecutor.java:103)
	at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute(SubscribableBuildActionExecutor.java:64)
	at org.gradle.internal.session.DefaultBuildSessionContext.execute(DefaultBuildSessionContext.java:46)
	at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:100)
	at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter$ActionImpl.apply(BuildSessionLifecycleBuildActionExecuter.java:88)
	at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:69)
	at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:62)
	at org.gradle.tooling.internal.provider.BuildSessionLifecycleBuildActionExecuter.execute(BuildSessionLifecycleBuildActionExecuter.java:41)
	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:63)
	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)
	at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:58)
	at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:42)
	at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:47)
	at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:31)
	at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:65)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)
	at org.gradle.util.internal.Swapper.swap(Swapper.java:38)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
	at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
	at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)

Link to help-entry broken

In the app in the screen add entry rule there's a question mark which leads to a 404error page.
Please fix this link, I can't figure out the way to add a rule with a wildcard.

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.