victorbalssa / abacus Goto Github PK
View Code? Open in Web Editor NEW🟠 Abacus: Firefly III mobile application.
Home Page: https://apps.apple.com/us/app/1627093491
License: GNU General Public License v3.0
🟠 Abacus: Firefly III mobile application.
Home Page: https://apps.apple.com/us/app/1627093491
License: GNU General Public License v3.0
Describe the bug
Hello,
I've added an Oauth client in Firefly (first with and then I tried without a secret). I use Authentik for remote user authentication. These are the Docker environment variables:
AUTHENTICATION_GUARD=remote_user_guard
AUTHENTICATION_GUARD_HEADER=HTTP_X_AUTHENTIK_USERNAME
I've got no issues logging in the Firefly web interface. However, when I pass the Authentik login page, there's a blank grey page and Firefly sends me an email with the following content:
Firefly III v5.7.15 ran into an error: Laravel\Passport\Http\Controllers\AuthorizationController::__construct(): Argument #3 ($guard) must be of type Illuminate\Contracts\Auth\StatefulGuard, FireflyIII\Support\Authentication\RemoteUserGuard given.
The error was of type "TypeError".
The error occurred on/at: Tue, 08 Nov 2022 09:09:56 +0200.
This error occurred in file "/var/www/html/vendor/laravel/passport/src/Http/Controllers/AuthorizationController.php" on line 52 with code 0.
There was no user logged in for this error or no user was detected.
The full stacktrace:
#0 [internal function]: Laravel\Passport\Http\Controllers\AuthorizationController->__construct()
#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(915): ReflectionClass->newInstanceArgs()
#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(756): Illuminate\Container\Container->build()
#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(860): Illuminate\Container\Container->resolve()
#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(692): Illuminate\Foundation\Application->resolve()
#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(845): Illuminate\Container\Container->make()
#6 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(274): Illuminate\Foundation\Application->make()
#7 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(260): Illuminate\Routing\Route->getController()
#8 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\Routing\Route->runController()
#9 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(725): Illuminate\Routing\Route->run()
#10 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Routing\Router->Illuminate\Routing\{closure}()
#11 /var/www/html/vendor/laravel/passport/src/Http/Middleware/CreateFreshApiToken.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#12 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Laravel\Passport\Http\Middleware\CreateFreshApiToken->handle()
#13 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php(40): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#14 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Session\Middleware\AuthenticateSession->handle()
#15 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#16 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle()
#17 /var/www/html/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#18 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\View\Middleware\ShareErrorsFromSession->handle()
#19 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#20 /var/www/html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\Session\Middleware\StartSession->handleStatefulRequest()
#21 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Session\Middleware\StartSession->handle()
#22 /var/www/html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#23 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle()
#24 /var/www/html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#25 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Cookie\Middleware\EncryptCookies->handle()
#26 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#27 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(726): Illuminate\Pipeline\Pipeline->then()
#28 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(703): Illuminate\Routing\Router->runRouteWithinStack()
#29 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(667): Illuminate\Routing\Router->runRoute()
#30 /var/www/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(656): Illuminate\Routing\Router->dispatchToRoute()
#31 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(190): Illuminate\Routing\Router->dispatch()
#32 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}()
#33 /var/www/html/app/Http/Middleware/InstallationId.php(52): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#34 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): FireflyIII\Http\Middleware\InstallationId->handle()
#35 /var/www/html/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#36 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Http\Middleware\TrustProxies->handle()
#37 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#38 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
#39 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()
#40 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#41 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
#42 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\TrimStrings->handle()
#43 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#44 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle()
#45 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#46 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()
#47 /var/www/html/app/Http/Middleware/SecureHeaders.php(51): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#48 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): FireflyIII\Http\Middleware\SecureHeaders->handle()
#49 /var/www/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
#50 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\Pipeline\Pipeline->then()
#51 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(134): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()
#52 /var/www/html/public/index.php(75): Illuminate\Foundation\Http\Kernel->handle()
#53 {main}
The following headers may also be relevant:
- x-authentik-username: zkvvoob
- x-authentik-groups: All apps|authentik Admins
- x-authentik-email: [email protected]
- x-authentik-name: Zkvv Ooob
- x-authentik-uid: 0***2
- x-forwarded-host: firefly.domain.com
- x-forwarded-server: firefly.domain.com
- x-forwarded-proto: https
- x-forwarded-for: 156.XXX.XXX.XXX, 172.68.50.214
- host: firefly.domain.com
- connection: close
- cf-ipcountry: XX
- cdn-loop: cloudflare
- accept-encoding: gzip
- cf-ray: 766c***
- cf-visitor: {"scheme":"https"}
- accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
- user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1
- accept-language: ***;q=0.9
- cf-connecting-ip: 156.XXX.XXX.XXX
Smartphone (please complete the following information):
I'm not sure whether this is the place to ask for help or over at Firefly III's Github page.
Thanks in advance for looking into this!
Describe the bug
The autocompletion on account type and categories not work if the content is not Engish.
This works fine on FireflyIII web.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The autocompletion should work on any language.
Smartphone (please complete the following information):
Hi,
I have made a file to adding the italian translation of APP it is possibile to include into next release?
I have changed the extension of file due impossibility to upload .ts file.
Thanks
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
My expectation was that I can use HTTPS for a more safety call via reverse proxy to use the app everywhere. The normal call of firefly via https in my browser is just working fine.
Smartphone (please complete the following information):
Additional Context
Not sure if this is really a bug or just a „missing“ functionality. It would be really great if those calls are possible to let as many ports as possible untouched.
From @hessijames79
I am heavily using Abacus to track my expenses. There are several transactions that occur regularly and I am thus faced with performing repeated tasks to fill the same fields with the same values (except for e. g. the amount) over and over again.
Templates containing all of the fields of a transaction can be created by filling selected fields. By selecting "New transaction of template" a new transaction opens with the fields pre-filled according to the template. After making additions or changes (e. g. amount), the transaction is submitted.
Allow for the triggering of pre-filled transactions from the iOS Shortcuts app.
Introduce extensive uri schemes so that pre-filled transactions can be triggered from outside of Abacus, e. g. by Launch.
When creating a new transaction in the current ui function the title field offers a selection of auto-completes. Upon selecting a title the form should be optionally pre-filled with the (exact) details of the last transaction with this title.
Originally posted by paulcalabro May 7, 2023
It would nice if the four accounts displayed in the charts were not based on Firefly-III settings. In the web UI I like to group accounts in a particular way, but in the app the accounts I'd prefer to display are not necessarily the top four in the groupings.
Originally posted by carvalholeo November 5, 2022
Hello everyone!
Before October 10th, I was an Android user and all apps to manage my Firefly III account it's so bad. So, I started to playing with this app and its source code, to make a version for Android (at that day, my Android phone did die and I bought an iPhone as my main device).
So, I want to know what do you think about an Android version of Abacus.
Clearly, it isn't an easy job or question, but it can be an excellent way of bring this excellent app to Android users.
This app is an absolute game changer on iOS! Recent updates have added such great functionality. I was wondering if it’s possible for search to be incorporated? This works really well with clone transaction in the webUI.
Not actually sure if it’s possible though.
Originally posted by imlonghao February 11, 2023
Usually, most of fields of my daily transaction are same for example the accounts and category, only the amount would be a little different.
It would be easier to add new transaction, I only need to clone an existing transaction, then modify the amount and save.
Instead of typing the same fields everyday.
The clone button/API is existed on the FireFly III web interface, but not in their open API, it may take times to implement it.
Hope to the clone button this in transaction editing page like this.
[RESET]
Describe the bug
I'm trying to use Abacus with Firefly III server v.5.7.9 running on Docker via docker-compose
.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
After clicking on "Authorize" in Firefly III I'd expect the application to log me in and allow to insert information to my Firefly III instance through Abacus for Firefly.
Smartphone (please complete the following information):
Originally posted by Roxas2712 July 21, 2022
Hello :) Would it be possible to have a different valuehelp here that would allow me to enter something new or is doing a „lookup“ within my accounts and making suggestions? Just like firefly is doing it ^^.
i have the problem that I did an import of all my transactions and I’m somehow now not able to use the app anymore because I can’t enter a correct account. :( Don’t now if this is maybe also a bug but if not it would be another idea vor an improvement. Find attached a screenshot. I can just scroll to „F“ - then the list ends.
Describe the bug
My FireFly III instance is protected and running behind Keycloak for sign in. This is accomplished using the Traefik forwardauth middleware which forwards traffic to KeyCloak for auth, then back to FireFly when authenticated, and passes a HTTP header for authentication.
When trying to authenticate via the app, it redirects to KeyCloak as it should, I sign in, and FireFly asks me to authorize Abacus. When I do, Abacus returns the following error: "Failed to get accessToken, JSON Parse error: Unexpected identifier "Authentication""
Not sure if there's anything that can be done app-side to fix by any chance, but my FireFly instance is behind KeyCloak for added security and for SSO, so I don't really want to remove the forwardauth middleware and revert to username/password authentication for web access.
To Reproduce
Type my backend URL into the app, along with the created Oauth Client ID, and tap Sign In.
Expected behavior
It should sign in.
Smartphone (please complete the following information):
When a record has subitems the app is showing only the first subitem title and value. The correct one should show the title of the grouped subitems and the sum of all values inside it.
In the firefly iii website there is the option to attach files to a transaction. In the app it would be nice to be able to do the same. One possible improvement over the website would be to allow the app to open up the camera to take and attach photos directly.
Hi!
This probably goes to the discussion section, but I can't find it.
Just downloaded the app form the app store, but I can't manage to log in.
I get "invalid_client" error. I've just created a new token, copied the secret and read the Client ID from the database, but still it does not work. Do you have any suggestion?
Thanks for the app!
I would like to be able to enter split transactions from within the app. I have searched for an existing ticket and have not found one.
Setting up Abacus to connect to my firefly instance. Here are the server logs when I try to connect:
172.31.0.10 - - [02/Aug/2022:19:38:51 -0500] "POST /login HTTP/1.1" 302 3530 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1"
172.31.0.10 - - [02/Aug/2022:19:38:52 -0500] "GET /oauth/authorize?client_id=43&client_secret=xxx&code_challenge=xxx&code_challenge_method=S256&redirect_uri=abacusiosapp%3A%2F%2Fredirect&response_type=code&state=AHlE11up1y HTTP/1.1" 200 3578 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1"
172.31.0.10 - - [02/Aug/2022:19:38:58 -0500] "POST /oauth/authorize HTTP/1.1" 302 2598 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1"
172.31.0.10 - - [02/Aug/2022:19:38:59 -0500] "POST /oauth/token HTTP/1.1" 200 2733 "-" "Abacus/0.1.0 CFNetwork/1388 Darwin/22.0.0"
172.31.0.10 - - [02/Aug/2022:19:39:02 -0500] "GET /api/v1/about/user HTTP/1.1" 401 956 "-" "Abacus/0.1.0 CFNetwork/1388 Darwin/22.0.0"
Authentication works correctly. You can see the redirect set right. Last GET request gets a 401.
Firefly Version [5.7.10]
IOS16
Hello,
I have been using Abacus for Firefly III and have found it to be very useful. However, I've noticed that the app currently does not have a feature to reconcile transactions.
This feature is available in the web version of Firefly III, and it would be incredibly helpful if it could be included in Abacus as well. Being able to reconcile transactions directly in the mobile app would make managing my finances on-the-go much easier and more efficient.
Thank you for considering my request.
Best Regards,
Originally posted by Roxas2712 July 21, 2022
Hello :) Would it be possible to have a different valuehelp here that would allow me to enter something new or is doing a „lookup“ within my accounts and making suggestions? Just like firefly is doing it ^^.
i have the problem that I did an import of all my transactions and I’m somehow now not able to use the app anymore because I can’t enter a correct account. :( Don’t now if this is maybe also a bug but if not it would be another idea vor an improvement. Find attached a screenshot. I can just scroll to „F“ - then the list ends.
Describe the bug
The app crashes when Transactions menu is opened. (version 0.2.3
)
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Transactions history should be displayed.
Smartphone (please complete the following information):
15.6.1
Additional context
I have tested version 0.2.2
on another phone (same model, iOS version is 15.6.0
) and it works fine.
Describe the bug
Currently when setting up the app, the redirect URL is not copyable. It would be nice to be able to copy it so we can paste it into the fireflyiii oauth setup.
If I switch from Quarterly View to Monthly View I receive two error messages.
"Something went wrong - Request failed with status code 422".
The heading of the App shows "Invalid date NaN." - Feb 1.2023 - Invalid date
I am using iOS 16.3 and the App-Version is 0.5.0
Will be awesome if the app can store internally transactions when is offline and sync each new transacción when you get online again.
this is important for me because I live in an area with pour internet connection, also is a problem when I travel to a country and I don't have internet plan there.
Describe the bug
In June Month July is standing as headline. For July August is standing in headline
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I would expect that the Intervall of month and the headline are the same.
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
All icons (except the pencil and transactions) don't appear when you use a different language in the system. So, the interface could be broken for non-English iDevices users.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
As a non-English user of the app, I expect that icons must appear, to guide me and myself experience across the app on how to use.
Screenshots
Navigation bar when using in Portuguese
Navigation bar when using in English
Smartphone:
Additional context
Probably this bug it was generated by me. It occurs because on routes screen, the object for icons expect receive for a name in English. While the app didn't translate, this wasn't a problem.
But, when I made the last PR (#48), I introduced this bug for translating navigation bar names, that were used to access object with icons names. Sorry for this.
I'm working right now at a bugfix for this. I'm sorry for neither report nor see this bug before, I don't have an Apple setup (any Mac, it's too much expensive in Brazil) to debug iOS apps.
Likewise, I believe that between today and Friday, I'm going to open a new PR, solving this bug.
Describe the bug
On the settings screen, the lower toolbar overlaps with the main screen. Hides the debug row
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The main screen is fully visible
Smartphone:
Describe the bug
A clear and concise description of what the bug is.
When entering the firefly address without http(s) the app crashes without error when continuing.
To Reproduce
Steps to reproduce the behavior:
Go to '...'
Click on '....'
Scroll down to '....'
See error
Start freshly installed app.
Enter address without http(s):// e.g. firefly.domain.com
Expected behavior
A clear and concise description of what you expected to happen.
Request to fix address, auto adding of http(s).
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
When a budget has limits with different currencies, the limit value shown in the app can be wrong. For example, I have a 1000 EUR limit and a 40000 RUB limit for the same budget, but the app shows 40000 EUR as the limit for this budget when I choose EUR as currency.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
With the example provided, the limit should be displayed as 1000 EUR.
Smartphone (please complete the following information):
Describe the bug
My Firefly III instance is reachable at firefly.mydomain.com and is protected by Cloudflare ZTNA (https://www.cloudflare.com/products/zero-trust/zero-trust-network-access/).
Basically, Cloudflare adds a 2FA protection (mail TOTP code) on top of the domain. Once you pass the challenge, you are forwarded to the service.
I managed to login via Abacus only by reaching the domain locally. If I try the domain firefly.mydomain.com, I'm asked for the 2FA challenge, I log into Firefly III and I got an error message.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Remote login.
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):
Is it possible to use Abacus via Cloudlfare ZTNA protection?
Thank you!
Describe the bug
Not a bug, but missing feature - application is currently unavailable on European App Store.
To Reproduce
Expected behavior
Download and install the application.
Screenshots
/
Smartphone (please complete the following information):
Additional context
Is there any plan to release the app on EU App Store ? Is there any way to install the app without App Store in EU ?
Originally posted by s4w4j4 January 15, 2023
Abacus for Firefly III does not have local network permissions, resulting in failure to connect to LAN-IP. Please help repair it thank you
Describe the bug
Pulling down in the app to manually refresh balance data does not update the net worth panel at the top.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
All balance and net worth data is refreshed
Screenshots
Smartphone (please complete the following information):
Additional context
Going to transaction view and selecting monthly report, month shown on the top of the page is one earlier than selected, e.g., when I select July, the text says June.
P.S. Hey! I really appreciate you working on this app, I love it. Thanks and keep up the good work. I just installed the latest version and started using it, there are unfortunately a few bugs, so I'll report them separately.
Describe the bug
The problem I face is that our German use of decimal keyboard has , instead of . for separating the decimal area. For example: If I need to add 8,41€ we would do that with , sperating the Euro and the Cents. The systems is expecting a . - That means 8.41€ instead.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
i would expect the system to accept also , as separator for decimals depending on the used keyboard.
Even a switch of the keyboard has no improvements. Maybe this will be fixed with the languages coming.
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Describe the bug
Double url encode when querying account name, resulting autocomplete failed.
To Reproduce
饭卡
饭
饭卡
"GET /api/v1/autocomplete/accounts?types=Asset%2520account,Revenue%2520account,Loan,Debt,Mortgage&limit=9&query=%E9%A5%AD HTTP/1.1" 200 920 "-" "Abacus/0.5.0 CFNetwork/1404.0.5 Darwin/22.3.0"
You can see the original %20
become %2520
Expected behavior
Able to search the Asset Account 饭卡
Screenshots
N/A
Smartphone (please complete the following information):
Additional context
I think we can fix this issue by change the %20
to a simple space
in this file, somewhere in axios will auto do the url encode job.
Lines 166 to 168 in 5ce522b
Hi,
I've just seen, that the PB from another user wasn't edited. So I made one language file on my own:
export default {
configuration_app_version: 'App Version',
configuration_about: 'Über',
configuration_clear_option: 'Inhalte löschen und zurücksetzen',
configuration_clear_confirm_button: 'Jetzt löschen',
configuration_clear_alert_title: 'Sind Sie sicher?',
configuration_clear_alert_text: 'Durch das Löschen des Cache wird Folgendes entfernt:\n'
+ 'lokale Konfigurationen\n'
+ 'Oauth Client ID & Secret\n'
+ 'URL Ihrer Instanz',
configuration_clear_cancel_button: 'Abbrechen',
configuration_security: 'Sicherheit',
configuration_biometry: 'Face ID Sperre',
configuration_share_feedback: 'Feedback teilen',
configuration_report_issue: 'Problem melden',
configuration_sources: 'Quellen',
configuration_debug: 'Debuggen',
configuration_get_help: 'Hilfe',
assetsHistoryCharts_chart_works: 'Dieses Diagramm funktioniert am besten mit bis zu 4 Konten,',
assetsHistoryCharts_change_preferences: 'Hier Klicken',
assetsHistoryCharts_choose_preferences_text: 'um Ihre bevorzugten Konten in den Firefly III Einstellungen zu wählen:',
assetsHistoryCharts_home_screen: 'Startbildschirm',
transaction_form_description_required: 'Beschreibung ist erforderlich.',
transaction_form_description_short: 'Die Beschreibung ist zu kurz.',
transaction_form_amount_required: 'Betrag ist erforderlich.',
transaction_form_description_label: 'Beschreibung',
transaction_form_sourceAccount_label: 'Quellkonto',
transaction_form_destinationAccount_label: 'Zielkonto',
transaction_form_date_label: 'Datum',
transaction_form_amount_label: 'Betrag',
transaction_form_category_label: 'Kategorie',
transaction_form_budget_label: 'Budget',
transaction_form_reset_button: 'Zurücksetzen',
transaction_form_submit_button: 'Absenden',
transaction_list_alert_title: 'Sind Sie sicher?',
transaction_list_alert_text: 'Diese Transaktion wird dauerhaft entfernt:',
transaction_list_delete_button: 'Löschen',
transaction_list_cancel_button: 'Abbrechen',
auth_form_url_label: 'Firefly III Backend URL',
auth_form_url_help: "ohne '/' am Ende.",
auth_form_url_placeholder: "Firefly III Backend URL (ohne '/' am Ende)",
auth_form_oauth_clientId: 'Oauth Client ID',
auth_form_oauth_client_secret: 'Oauth Client Secret',
auth_form_secrets_help_message: 'Alle Secrets werden in Android/iOS sicher aufbewahrt.',
auth_form_set_redirect: 'Umleitungs-URI setzen auf:',
auth_form_need_help: 'Brauchen Sie Hilfe?',
auth_form_submit_button_initial: 'Anmelden',
auth_form_submit_button_loading: 'Senden...',
auth_form_faceID: 'Face ID',
home_accounts: 'Konten',
layout_new_update_header: 'Neue Aktualisierung verfügbar',
layout_new_update_body_text: 'Sie können später jederzeit unter Einstellungen aktualisieren.',
layout_new_update_cancel_button: 'Abbrechen',
layout_new_update_update_button: 'Jetzt aktualisieren',
// from version 0.31
transaction_screen_title: 'Neue Transaktion',
navigation_home_tab: 'Startseite',
navigation_chart_tab: 'Diagramm',
navigation_create_tab: 'Erstellen',
navigation_transactions_tab: 'Vorgänge',
navigation_settings_tab: 'Einstellungen',
transaction_form_type_withdraw: 'Ausgabe',
transaction_form_type_deposit: 'Einnahme',
transaction_form_type_transfer: 'Überweisung',
// from 0.4.1
period_switcher_monthly: 'Monatlich',
period_switcher_quarterly: 'Quartalsweise',
period_switcher_semiannually: 'Halbjährlich',
period_switcher_yearly: 'Jährlich',
error_widget_title: 'Etwas ist schief gelaufen',
home_container_error_title: 'Etwas ist schief gelaufen',
home_container_error_description: 'AccessToken konnte nicht abgerufen werden',
oauth_token_error_title: 'Etwas ist schief gelaufen',
oauth_token_error_description: 'AccessToken konnte nicht abgerufen werden',
oauth_token_info_title: 'Info',
oauth_token_info_description: 'Authentifizierung abgebrochen, Client-ID und Backend-URL prüfen.',
oauth_token_success_title: 'Erfolgreich',
oauth_token_success_description: 'Sichere Verbindung mit Ihrer Firefly III-Instanz hergestellt.',
transaction_form_success_title: 'Erfolgreich',
transaction_form_success_description: 'Transaktion erstellt. Tippen Sie hier, um zur Transaktionsliste zu gelangen.',
transaction_form_error_title: 'Fehler',
home_header_time_range_year: 'Jahr',
home_header_time_range_q: 'Q', // Geben Sie eine Abkürzung ein, die ein Quartal am besten repräsentiert
home_header_time_range_s: 'H', // Setzen Sie eine Abkürzung ein, die am besten ein Halbjahresdatum repräsentiert
// from 0.6.0
balance: 'Bilanz',
history: 'Historie',
home_categories: 'Kategorien',
home_net_worth: 'Nettowert',
// from 0.7.0
home_budgets: 'Budgets',
configuration_ui: 'Benutzeroberfläche',
configuration_color_mode: 'Dark Mode',
auth_form_personal_access_token_label: 'Persönliches Zugangstoken',
auth_use_personal_access_token: 'Persönliches Zugangstoken verwenden',
auth_external_heads_up: '❗️ Wenn Sie einen externen Authentifizierungsanbieter wie Authelia, Keycloak, Cloudflare Tunnels, etc. verwenden werden diese Clients nicht funktionieren. Sie können nur Personal Access Tokens verwenden.',
auth_create_new_oauth_client: 'Erstellen Sie einen neuen OAuth-Client auf der Registerkarte OAuth, hier:',
auth_create_new_personal_access_token: 'Erstellen Sie ein neues Personal Access Token auf der Registerkarte OAuth, hier:',
oauth_wrong_token_error_description: 'AccessToken konnte nicht validiert werden, bitte überprüfen Sie Ihr Token oder Ihre Backend-URL erneut.',
transaction_screen_edit_title: 'Transaktion bearbeiten',
};
Describe the bug
I had previously set up the app with my Firefly instance, when I installed the new version of the app, the url, client id and secret were reset.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Those details are saved
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
The bug
When installing the app for the first time and trying to help a friend to authenticate, after login in on the authorization page we got the message:
{"error":"unsupported_grant_type","error_description":"The authorization grant type is not supported by the authorization server.","hint":"Check that all required parameters have been provided","message":"The authorization grant type is not supported by the authorization server."}
To Reproduce
Steps to reproduce the behavior:
abacusiosapp://redirect
as the redirection URLhttps://firefly.domain.name
){"error":"unsupported_grant_type","error_description":"The authorization grant type is not supported by the authorization server.","hint":"Check that all required parameters have been provided","message":"The authorization grant type is not supported by the authorization server."}
Expected behavior
Step 6 should be: successful connection to the server
Smartphone (please complete the following information):
Please let me know if there is anything i did wrong. Thanks!
Is your feature request related to a problem? Please describe.
I know that FireflyIII web interface does not allow to enter the time of transaction, but i know it is possible because other app (Waterfly) can do it.
Describe the solution you'd like
Activate a date/time widget instead of date transaction.
Describe alternatives you've considered
I don't know.
Additional context
Congratulations for the excellent app, I hope it grows more and more.
When I enter a split transaction on the web app, it does not show the complete transaction in the mobile app. It shows only one record from the split transaction
I think the title is self-explanatory. I believe these would be very convenient to have while creating transactions.
P.S. Sorry, I was not sure how to create a feature request in any other way.
Originally posted by Roxas2712 July 25, 2022
Hello,
as I already mentioned I would like to use abacus to log all my purchases etc. remotely :)
therefore it would be great to also label my transactions or add them to a specificity budget directly within the app.
Do you think this would be possible?
Describe the bug
In the main screen when selecting the currency, it only shows the first 20-25 currencies. I have more currencies in the app and I cannot see other currencies than the first 20 or 25 of them.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The list should show all the currencies created in the website
Smartphone (please complete the following information):
Show only active account on home page.
Describe the bug
Opening the app and clicking the add transaction button, the app immediately crashes.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I guess a new window should open
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Originally posted by Roxas2712 July 21, 2022
Hello:) As for now the app is just working great - would it be feasible to add a few more languages? Like German? I could help with that if help is needed ^^.
Best regards
Please pretty please dark mode support :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.