Git Product home page Git Product logo

fireflymobile's People

Contributors

apollo13 avatar arnyminerz avatar bestlibre avatar dependabot-preview[bot] avatar ditti4 avatar emansih avatar fgnix avatar leander091 avatar luifermoron avatar mconway avatar poussinou avatar still34 avatar sugavanas avatar teldosas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fireflymobile's Issues

[Feature Request] Specify budget in new transaction

Firefly III Mobile Version: 1.2.6

Hi,
It would be great if it was possible to specify the budget when adding a new transaction. I don't need a full budget support in the app but adding a box, similar to the "Tag" section, to specify already existing budget could be helpful.

Thank you for this project !

Unable to connect using PAT on non-standard port

Firefly III Server Version:
Version 4.7.9

Firefly III Mobile Version:
1.2.1

Android Version:
6

Expected Behavior

Login to my account

Current Behavior

Authentication failure when trying to connect to my local server on non-standard port 8777 using PAT.

What URL should I give? Should I add http:// or just firefly:8777?

New Transaction Page- hard to see options

Firefly III Server Version:

Firefly III Mobile Version:

Android Version:

Device Information:

  • BRAND:
  • MODEL:

Expected Behavior

Current Behavior

Steps to Reproduce

Hi!
On the new Transaction page, would it be possible to shorten the space at the top for the description to allow more space to see the options when the keyboard is up?

Thanks!
Screenshot_20190527-190942

Crash loops after upgrading to v1.2.2 (IllegalArgumentException: Unable to find GlideModule implementation)

Firefly III Server Version:
4.7.10

Firefly III Mobile Version:
1.2.2 (from F-Droid)

Android Version:
9

Device Information:

  • BRAND: Xiaomi
  • MODEL: A1

Expected Behavior

App would start ;)

Current Behavior

App crashes immediately after starting, cleaning app cache and/or data does not help.

Steps to Reproduce

Install v1.2.2, watch the world burn.

Crash log:

REPORT_ID=aaf004d5-1bba-48b0-ae75-9d4590da11da
APP_VERSION_NAME=1.2.2
PHONE_MODEL=Mi A1
BRAND=xiaomi
PRODUCT=tissot
ANDROID_VERSION=9
BUILD_CONFIG=
STACK_TRACE=java.lang.RuntimeException: Unable to start activity ComponentInfo{xyz.hisname.fireflyiii/xyz.hisname.fireflyiii.ui.HomeActivity}: java.lang.IllegalArgumentException: Unable to find GlideModule implementation
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2925)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3060)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1818)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:193)
	at android.app.ActivityThread.main(ActivityThread.java:6762)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.IllegalArgumentException: Unable to find GlideModule implementation
	at com.a.a.f.e.a(ManifestParser.java:69)
	at com.a.a.f.e.a(ManifestParser.java:47)
	at com.a.a.e.a(Glide.java:230)
	at com.a.a.e.d(Glide.java:221)
	at com.a.a.e.c(Glide.java:182)
	at com.a.a.e.a(Glide.java:166)
	at com.a.a.e.e(Glide.java:680)
	at com.a.a.e.b(Glide.java:707)
	at xyz.hisname.fireflyiii.ui.HomeActivity$c.a(HomeActivity.kt:136)
	at com.mikepenz.materialdrawer.e.b.a(DrawerImageLoader.java:65)
	at com.mikepenz.materialdrawer.b.a(AccountHeaderBuilder.java:1184)
	at com.mikepenz.materialdrawer.b.c(AccountHeaderBuilder.java:1079)
	at com.mikepenz.materialdrawer.b.a(AccountHeaderBuilder.java:862)
	at xyz.hisname.fireflyiii.ui.HomeActivity.a(HomeActivity.kt:120)
	at xyz.hisname.fireflyiii.ui.HomeActivity.onCreate(HomeActivity.kt:70)
	at android.app.Activity.performCreate(Activity.java:7136)
	at android.app.Activity.performCreate(Activity.java:7127)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2905)
	... 11 more
Caused by: java.lang.ClassNotFoundException: com.bumptech.glide.integration.okhttp3.OkHttpGlideModule
	at java.lang.Class.classForName(Native Method)
	at java.lang.Class.forName(Class.java:453)
	at java.lang.Class.forName(Class.java:378)
	at com.a.a.f.e.a(ManifestParser.java:67)
	... 29 more
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.bumptech.glide.integration.okhttp3.OkHttpGlideModule" on path: DexPathList[[zip file "/data/app/xyz.hisname.fireflyiii-i7r7FIdvkOZLHBqvFobLpQ==/base.apk"],nativeLibraryDirectories=[/data/app/xyz.hisname.fireflyiii-i7r7FIdvkOZLHBqvFobLpQ==/lib/arm64, /system/lib64, /system/vendor/lib64]]
	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
	... 33 more

LOGCAT=02-07 10:59:22.476 I/OpenGLRenderer(21312): Initialized EGL, version 1.4
02-07 10:59:22.476 D/OpenGLRenderer(21312): Swap behavior 2
02-07 10:59:22.512 D/vndksupport(21312): Loading /vendor/lib64/hw/[email protected] from current namespace instead of sphal namespace.
02-07 10:59:22.515 D/vndksupport(21312): Loading /vendor/lib64/hw/gralloc.msm8953.so from current namespace instead of sphal namespace.
02-07 10:59:22.966 W/ActivityThread(21312): handleWindowVisibility: no activity for token android.os.BinderProxy@c179085
02-07 10:59:22.989 I/FloatingActionButton(21312): Setting a custom background is not supported.
02-07 10:59:23.032 D/AndroidRuntime(21312): Shutting down VM
02-07 10:59:23.033 E/AndroidRuntime(21312): FATAL EXCEPTION: main
02-07 10:59:23.033 E/AndroidRuntime(21312): Process: xyz.hisname.fireflyiii, PID: 21312
02-07 10:59:23.033 E/AndroidRuntime(21312): java.lang.RuntimeException: Unable to start activity ComponentInfo{xyz.hisname.fireflyiii/xyz.hisname.fireflyiii.ui.HomeActivity}: java.lang.IllegalArgumentException: Unable to find GlideModule implementation
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2925)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3060)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1818)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.os.Handler.dispatchMessage(Handler.java:106)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.os.Looper.loop(Looper.java:193)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.app.ActivityThread.main(ActivityThread.java:6762)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at java.lang.reflect.Method.invoke(Native Method)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
02-07 10:59:23.033 E/AndroidRuntime(21312): Caused by: java.lang.IllegalArgumentException: Unable to find GlideModule implementation
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.a.a.f.e.a(ManifestParser.java:69)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.a.a.f.e.a(ManifestParser.java:47)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.a.a.e.a(Glide.java:230)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.a.a.e.d(Glide.java:221)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.a.a.e.c(Glide.java:182)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.a.a.e.a(Glide.java:166)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.a.a.e.e(Glide.java:680)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.a.a.e.b(Glide.java:707)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at xyz.hisname.fireflyiii.ui.HomeActivity$c.a(HomeActivity.kt:136)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.mikepenz.materialdrawer.e.b.a(DrawerImageLoader.java:65)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.mikepenz.materialdrawer.b.a(AccountHeaderBuilder.java:1184)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.mikepenz.materialdrawer.b.c(AccountHeaderBuilder.java:1079)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.mikepenz.materialdrawer.b.a(AccountHeaderBuilder.java:862)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at xyz.hisname.fireflyiii.ui.HomeActivity.a(HomeActivity.kt:120)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at xyz.hisname.fireflyiii.ui.HomeActivity.onCreate(HomeActivity.kt:70)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.app.Activity.performCreate(Activity.java:7136)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.app.Activity.performCreate(Activity.java:7127)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2905)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	... 11 more
02-07 10:59:23.033 E/AndroidRuntime(21312): Caused by: java.lang.ClassNotFoundException: com.bumptech.glide.integration.okhttp3.OkHttpGlideModule
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at java.lang.Class.classForName(Native Method)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at java.lang.Class.forName(Class.java:453)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at java.lang.Class.forName(Class.java:378)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at com.a.a.f.e.a(ManifestParser.java:67)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	... 29 more
02-07 10:59:23.033 E/AndroidRuntime(21312): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.bumptech.glide.integration.okhttp3.OkHttpGlideModule" on path: DexPathList[[zip file "/data/app/xyz.hisname.fireflyiii-i7r7FIdvkOZLHBqvFobLpQ==/base.apk"],nativeLibraryDirectories=[/data/app/xyz.hisname.fireflyiii-i7r7FIdvkOZLHBqvFobLpQ==/lib/arm64, /system/lib64, /system/vendor/lib64]]
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
02-07 10:59:23.033 E/AndroidRuntime(21312): 	... 33 more
02-07 10:59:23.034 E/ACRA    (21312): ACRA caught a RuntimeException for xyz.hisname.fireflyiii
02-07 10:59:23.034 E/ACRA    (21312): java.lang.RuntimeException: Unable to start activity ComponentInfo{xyz.hisname.fireflyiii/xyz.hisname.fireflyiii.ui.HomeActivity}: java.lang.IllegalArgumentException: Unable to find GlideModule implementation
02-07 10:59:23.034 E/ACRA    (21312): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2925)
02-07 10:59:23.034 E/ACRA    (21312): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3060)
02-07 10:59:23.034 E/ACRA    (21312): 	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
02-07 10:59:23.034 E/ACRA    (21312): 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
02-07 10:59:23.034 E/ACRA    (21312): 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
02-07 10:59:23.034 E/ACRA    (21312): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1818)
02-07 10:59:23.034 E/ACRA    (21312): 	at android.os.Handler.dispatchMessage(Handler.java:106)
02-07 10:59:23.034 E/ACRA    (21312): 	at android.os.Looper.loop(Looper.java:193)
02-07 10:59:23.034 E/ACRA    (21312): 	at android.app.ActivityThread.main(ActivityThread.java:6762)
02-07 10:59:23.034 E/ACRA    (21312): 	at java.lang.reflect.Method.invoke(Native Method)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
02-07 10:59:23.034 E/ACRA    (21312): Caused by: java.lang.IllegalArgumentException: Unable to find GlideModule implementation
02-07 10:59:23.034 E/ACRA    (21312): 	at com.a.a.f.e.a(ManifestParser.java:69)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.a.a.f.e.a(ManifestParser.java:47)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.a.a.e.a(Glide.java:230)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.a.a.e.d(Glide.java:221)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.a.a.e.c(Glide.java:182)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.a.a.e.a(Glide.java:166)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.a.a.e.e(Glide.java:680)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.a.a.e.b(Glide.java:707)
02-07 10:59:23.034 E/ACRA    (21312): 	at xyz.hisname.fireflyiii.ui.HomeActivity$c.a(HomeActivity.kt:136)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.mikepenz.materialdrawer.e.b.a(DrawerImageLoader.java:65)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.mikepenz.materialdrawer.b.a(AccountHeaderBuilder.java:1184)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.mikepenz.materialdrawer.b.c(AccountHeaderBuilder.java:1079)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.mikepenz.materialdrawer.b.a(AccountHeaderBuilder.java:862)
02-07 10:59:23.034 E/ACRA    (21312): 	at xyz.hisname.fireflyiii.ui.HomeActivity.a(HomeActivity.kt:120)
02-07 10:59:23.034 E/ACRA    (21312): 	at xyz.hisname.fireflyiii.ui.HomeActivity.onCreate(HomeActivity.kt:70)
02-07 10:59:23.034 E/ACRA    (21312): 	at android.app.Activity.performCreate(Activity.java:7136)
02-07 10:59:23.034 E/ACRA    (21312): 	at android.app.Activity.performCreate(Activity.java:7127)
02-07 10:59:23.034 E/ACRA    (21312): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
02-07 10:59:23.034 E/ACRA    (21312): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2905)
02-07 10:59:23.034 E/ACRA    (21312): 	... 11 more
02-07 10:59:23.034 E/ACRA    (21312): Caused by: java.lang.ClassNotFoundException: com.bumptech.glide.integration.okhttp3.OkHttpGlideModule
02-07 10:59:23.034 E/ACRA    (21312): 	at java.lang.Class.classForName(Native Method)
02-07 10:59:23.034 E/ACRA    (21312): 	at java.lang.Class.forName(Class.java:453)
02-07 10:59:23.034 E/ACRA    (21312): 	at java.lang.Class.forName(Class.java:378)
02-07 10:59:23.034 E/ACRA    (21312): 	at com.a.a.f.e.a(ManifestParser.java:67)
02-07 10:59:23.034 E/ACRA    (21312): 	... 29 more
02-07 10:59:23.034 E/ACRA    (21312): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.bumptech.glide.integration.okhttp3.OkHttpGlideModule" on path: DexPathList[[zip file "/data/app/xyz.hisname.fireflyiii-i7r7FIdvkOZLHBqvFobLpQ==/base.apk"],nativeLibraryDirectories=[/data/app/xyz.hisname.fireflyiii-i7r7FIdvkOZLHBqvFobLpQ==/lib/arm64, /system/lib64, /system/vendor/lib64]]
02-07 10:59:23.034 E/ACRA    (21312): 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
02-07 10:59:23.034 E/ACRA    (21312): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
02-07 10:59:23.034 E/ACRA    (21312): 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
02-07 10:59:23.034 E/ACRA    (21312): 	... 33 more
IS_SILENT=false
USER_CRASH_DATE=2019-02-07T10:59:23.037+01:00

support for keywords

Firefly III Server Version:
4.8.7

Firefly III Mobile Version:
1.0.2

Android Version:
LineageOS 14.1

Device Information:
Nexus 5X


It would be nice to support adding keywords to transactions, which is a feature i use quite often in firefly-iii

Current Behavior

Keywords cannot be assigned to new transactions from within the app.

[Feature request] adding photos for a withdrawl

I would like to add receipts (a photo or maybe multiple document types, just attachments as in firefly-iii) to my payments (withdrawals), pls add that I am able to do so in the app.

Thank you and great project btw!

[Feature Request] Make transactions changeable

Firefly III Server Version:
4.7.8

Firefly III Mobile Version:
1.1.0
Android Version:
LineageOS 14.1

Device Information:
Nexus 5X


It would be nice to be able to change/update existing transactions

Expected Behavior

Make a transaction view where already existing transactions can be changed and viewed

Current Behavior

Already existing transactions cannot be changed, updated or deleted

Withdrawal Page

Firefly III Server Version:
4.7.17
Firefly III Mobile Version:
1.2.15.1
Android Version:

Device Information:

  • BRAND:
  • MODEL:

Is there a way to make the Withdrawal page look more like screenshot2 here: https://github.com/emansih/FireflyMobile/blob/master/art/screenshot2.png ?

Where all transactions are shown in a list format.

Currently the Withdrawal page shows a calendar that takes up most of the screen leaving very little room to see transactions. Also, it is difficult to know the exact date of the transaction you want to view. Having a list view of all transactions for the current month would be great.

Thanks.

unable to sign in

**Firefly III Server Version:4.7.9

**Firefly III Mobile Version:1.0.2

**Android Version:8.1.0

**Device Information:

  • BRAND: Huawei
  • MODEL: Nexus 6P

Expected Behavior

Able to login succesfully

Current Behavior

I followed the steps.
On firefly-III I Created a new client under OAuth Clients.
Name: I picked a name
Redirected URL: http://empty
I got an id and a secret key

Back on the android smartphone I choose Oauth Auth and filled in the URL Client ID and Secret fields with the same values as the one in firefly-iii. After pressing Sign in I get

Authentication Failed
Therer was an issue retrieving access token from your Firefly III instance. Ensure you are using http://empty as your redirected URL in your Firefly III config

I am doing this on the same internal network. Firefly III is running on mac os High Sierra, under Docker

Steps to Reproduce

App crashes if server returns 500

Firefly III Server Version:
4.7.17
Firefly III Mobile Version:
1.3.2
Android Version:
7.0
Device Information:

  • BRAND: Motorola
  • MODEL: G (4)

Expected Behavior

App should open and display error message e.g. (server down)

Current Behavior

App crashes

Steps to Reproduce

  • break your ff iii instance so it returns 500
  • open app

Notes

  • i am aware this is impropper and i should fix my instance
  • this is consistent (10+ times even after reboot)
  • instance access is possible

Crash log from app

APP_VERSION_NAME=1.3.2
PHONE_MODEL=Moto G (4)
BRAND=motorola
PRODUCT=athene
ANDROID_VERSION=7.0
BUILD_CONFIG=
STACK_TRACE=java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String xyz.hisname.fireflyiii.repository.models.error.ErrorModel.getMessage()' on a null object reference
	at xyz.hisname.fireflyiii.b.g.t.a(CurrencyViewModel.kt:15)
	at xyz.hisname.fireflyiii.b.g.t.a(CurrencyViewModel.kt:1)
	at xyz.hisname.fireflyiii.util.c.a.a(CallbackUtil.kt:1)
	at j.n.run(ExecutorCallAdapterFactory.java:3)
	at android.os.Handler.handleCallback(Handler.java:751)
	at android.os.Handler.dispatchMessage(Handler.java:95)
	at android.os.Looper.loop(Looper.java:154)
	at android.app.ActivityThread.main(ActivityThread.java:6123)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)

LOGCAT=--------- beginning of main
06-07 17:06:55.712 I/art     (19522): Starting a blocking GC AddRemoveAppImageSpace
06-07 17:06:55.718 W/System  (19522): ClassLoader referenced unknown path: /data/app/xyz.hisname.fireflyiii-2/lib/arm
06-07 17:06:55.753 I/MultiDex(19522): VM with version 2.1.0 has multidex support
06-07 17:06:55.753 I/MultiDex(19522): Installing application
06-07 17:06:55.753 I/MultiDex(19522): VM has multidex support, MultiDex support library is disabled.
06-07 17:06:55.854 I/FloatingActionButton(19522): Setting a custom background is not supported.
06-07 17:06:55.933 I/ACRA    (19522): ACRA is enabled for xyz.hisname.fireflyiii, initializing...
06-07 17:06:55.940 D/NetworkSecurityConfig(19522): No Network Security Config specified, using platform default
06-07 17:06:55.948 I/MaterialDrawer(19522): You have not specified a ImageLoader implementation through the DrawerImageLoader.init() method, or you are still overriding the deprecated method set(ImageView iv, Uri u, Drawable d) instead of set(ImageView iv, Uri u, Drawable d, String tag)
06-07 17:06:56.055 W/art     (19522): Before Android 4.1, method double java.util.concurrent.ThreadLocalRandom.internalNextDouble(double, double) would have incorrectly overridden the package-private method in java.util.Random
06-07 17:06:56.055 W/art     (19522): Before Android 4.1, method int java.util.concurrent.ThreadLocalRandom.internalNextInt(int, int) would have incorrectly overridden the package-private method in java.util.Random
06-07 17:06:56.055 W/art     (19522): Before Android 4.1, method long java.util.concurrent.ThreadLocalRandom.internalNextLong(long, long) would have incorrectly overridden the package-private method in java.util.Random
06-07 17:06:56.141 I/FloatingActionButton(19522): Setting a custom background is not supported.
06-07 17:06:56.154 I/MaterialDrawer(19522): You have not specified a ImageLoader implementation through the DrawerImageLoader.init() method, or you are still overriding the deprecated method set(ImageView iv, Uri u, Drawable d) instead of set(ImageView iv, Uri u, Drawable d, String tag)
06-07 17:06:56.333 I/Adreno  (19522): QUALCOMM build                   : 7d18700, I8ee426a9a2
06-07 17:06:56.333 I/Adreno  (19522): Build Date                       : 10/07/16
06-07 17:06:56.333 I/Adreno  (19522): OpenGL ES Shader Compiler Version: XE031.09.00.03
06-07 17:06:56.333 I/Adreno  (19522): Local Branch                     : mybranch22308589
06-07 17:06:56.333 I/Adreno  (19522): Remote Branch                    : quic/LA.BR.1.3.6_rb1.6
06-07 17:06:56.333 I/Adreno  (19522): Remote Branch                    : NONE
06-07 17:06:56.333 I/Adreno  (19522): Reconstruct Branch               : NOTHING
06-07 17:06:56.346 I/OpenGLRenderer(19522): Initialized EGL, version 1.4
06-07 17:06:56.346 D/OpenGLRenderer(19522): Swap behavior 1
06-07 17:06:56.370 E/RecyclerView(19522): No adapter attached; skipping layout
06-07 17:06:56.638 D/AndroidRuntime(19522): Shutting down VM
06-07 17:06:56.641 E/ACRA    (19522): ACRA caught a NullPointerException for xyz.hisname.fireflyiii
06-07 17:06:56.641 E/ACRA    (19522): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String xyz.hisname.fireflyiii.repository.models.error.ErrorModel.getMessage()' on a null object reference
06-07 17:06:56.641 E/ACRA    (19522): 	at xyz.hisname.fireflyiii.b.g.t.a(CurrencyViewModel.kt:15)
06-07 17:06:56.641 E/ACRA    (19522): 	at xyz.hisname.fireflyiii.b.g.t.a(CurrencyViewModel.kt:1)
06-07 17:06:56.641 E/ACRA    (19522): 	at xyz.hisname.fireflyiii.util.c.a.a(CallbackUtil.kt:1)
06-07 17:06:56.641 E/ACRA    (19522): 	at j.n.run(ExecutorCallAdapterFactory.java:3)
06-07 17:06:56.641 E/ACRA    (19522): 	at android.os.Handler.handleCallback(Handler.java:751)
06-07 17:06:56.641 E/ACRA    (19522): 	at android.os.Handler.dispatchMessage(Handler.java:95)
06-07 17:06:56.641 E/ACRA    (19522): 	at android.os.Looper.loop(Looper.java:154)
06-07 17:06:56.641 E/ACRA    (19522): 	at android.app.ActivityThread.main(ActivityThread.java:6123)
06-07 17:06:56.641 E/ACRA    (19522): 	at java.lang.reflect.Method.invoke(Native Method)
06-07 17:06:56.641 E/ACRA    (19522): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
06-07 17:06:56.641 E/ACRA    (19522): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)
06-07 17:06:56.726 I/Process (19522): Sending signal. PID: 19522 SIG: 9
06-07 17:06:56.842 I/art     (19575): Starting a blocking GC AddRemoveAppImageSpace
06-07 17:06:56.845 W/System  (19575): ClassLoader referenced unknown path: /data/app/xyz.hisname.fireflyiii-2/lib/arm
06-07 17:06:56.874 I/MultiDex(19575): VM with version 2.1.0 has multidex support
06-07 17:06:56.874 I/MultiDex(19575): Installing application
06-07 17:06:56.874 I/MultiDex(19575): VM has multidex support, MultiDex support library is disabled.
06-07 17:06:56.925 I/ACRA    (19575): Sending report /data/user/0/xyz.hisname.fireflyiii/app_ACRA-approved/2019-06-07T17:06:56.651+03:00.stacktrace
06-07 17:08:51.326 I/art     (20258): Starting a blocking GC AddRemoveAppImageSpace
06-07 17:08:51.334 W/System  (20258): ClassLoader referenced unknown path: /data/app/xyz.hisname.fireflyiii-2/lib/arm
06-07 17:08:51.358 I/MultiDex(20258): VM with version 2.1.0 has multidex support
06-07 17:08:51.358 I/MultiDex(20258): Installing application
06-07 17:08:51.358 I/MultiDex(20258): VM has multidex support, MultiDex support library is disabled.
06-07 17:08:51.443 I/FloatingActionButton(20258): Setting a custom background is not supported.
06-07 17:08:51.513 D/NetworkSecurityConfig(20258): No Network Security Config specified, using platform default
06-07 17:08:51.529 I/MaterialDrawer(20258): You have not specified a ImageLoader implementation through the DrawerImageLoader.init() method, or you are still overriding the deprecated method set(ImageView iv, Uri u, Drawable d) instead of set(ImageView iv, Uri u, Drawable d, String tag)
06-07 17:08:51.562 I/ACRA    (20258): ACRA is enabled for xyz.hisname.fireflyiii, initializing...
06-07 17:08:51.651 W/art     (20258): Before Android 4.1, method double java.util.concurrent.ThreadLocalRandom.internalNextDouble(double, double) would have incorrectly overridden the package-private method in java.util.Random
06-07 17:08:51.651 W/art     (20258): Before Android 4.1, method int java.util.concurrent.ThreadLocalRandom.internalNextInt(int, int) would have incorrectly overridden the package-private method in java.util.Random
06-07 17:08:51.651 W/art     (20258): Before Android 4.1, method long java.util.concurrent.ThreadLocalRandom.internalNextLong(long, long) would have incorrectly overridden the package-private method in java.util.Random
06-07 17:08:51.731 I/FloatingActionButton(20258): Setting a custom background is not supported.
06-07 17:08:51.746 I/MaterialDrawer(20258): You have not specified a ImageLoader implementation through the DrawerImageLoader.init() method, or you are still overriding the deprecated method set(ImageView iv, Uri u, Drawable d) instead of set(ImageView iv, Uri u, Drawable d, String tag)
06-07 17:08:51.925 I/Adreno  (20258): QUALCOMM build                   : 7d18700, I8ee426a9a2
06-07 17:08:51.925 I/Adreno  (20258): Build Date                       : 10/07/16
06-07 17:08:51.925 I/Adreno  (20258): OpenGL ES Shader Compiler Version: XE031.09.00.03
06-07 17:08:51.925 I/Adreno  (20258): Local Branch                     : mybranch22308589
06-07 17:08:51.925 I/Adreno  (20258): Remote Branch                    : quic/LA.BR.1.3.6_rb1.6
06-07 17:08:51.925 I/Adreno  (20258): Remote Branch                    : NONE
06-07 17:08:51.925 I/Adreno  (20258): Reconstruct Branch               : NOTHING
06-07 17:08:51.940 I/OpenGLRenderer(20258): Initialized EGL, version 1.4
06-07 17:08:51.940 D/OpenGLRenderer(20258): Swap behavior 1
06-07 17:08:51.966 E/RecyclerView(20258): No adapter attached; skipping layout
06-07 17:08:52.081 D/AndroidRuntime(20258): Shutting down VM
06-07 17:08:52.082 E/ACRA    (20258): ACRA caught a NullPointerException for xyz.hisname.fireflyiii
06-07 17:08:52.082 E/ACRA    (20258): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String xyz.hisname.fireflyiii.repository.models.error.ErrorModel.getMessage()' on a null object reference
06-07 17:08:52.082 E/ACRA    (20258): 	at xyz.hisname.fireflyiii.b.g.t.a(CurrencyViewModel.kt:15)
06-07 17:08:52.082 E/ACRA    (20258): 	at xyz.hisname.fireflyiii.b.g.t.a(CurrencyViewModel.kt:1)
06-07 17:08:52.082 E/ACRA    (20258): 	at xyz.hisname.fireflyiii.util.c.a.a(CallbackUtil.kt:1)
06-07 17:08:52.082 E/ACRA    (20258): 	at j.n.run(ExecutorCallAdapterFactory.java:3)
06-07 17:08:52.082 E/ACRA    (20258): 	at android.os.Handler.handleCallback(Handler.java:751)
06-07 17:08:52.082 E/ACRA    (20258): 	at android.os.Handler.dispatchMessage(Handler.java:95)
06-07 17:08:52.082 E/ACRA    (20258): 	at android.os.Looper.loop(Looper.java:154)
06-07 17:08:52.082 E/ACRA    (20258): 	at android.app.ActivityThread.main(ActivityThread.java:6123)
06-07 17:08:52.082 E/ACRA    (20258): 	at java.lang.reflect.Method.invoke(Native Method)
06-07 17:08:52.082 E/ACRA    (20258): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
06-07 17:08:52.082 E/ACRA    (20258): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)

IS_SILENT=false
USER_CRASH_DATE=2019-06-07T17:08:52.108+03:00```

Availabilty via F-Droid?

Hello,

just asking if you are planning to make this app available via the f-droid store (Store for Open Source Apps)? I'm interested in Firefly and would like to use it with an app.
(I'm aware it's possible to download the .apk via /releases)

Greetings

Edit: This seems to be a relatively fresh app. Nice!

Transaction Listing bugs

Some transactions are not being listed if user is running Firefly 4.7.11, this is due to a change in API returned by Firefly III. Previously the API returns 2018-06-30, now it returns 2018-06-30T00:00:00+08:00(ISO 8601). This causes my database parsing logic to fail.

Crashing if Transaction has attachments

Firefly III Server Version:
4.7.17

Firefly III Mobile Version:
1.2.10
Android Version:
7.1.1
Device Information:

  • BRAND:LG
  • MODEL: Stylo 3 Plus

Expected Behavior

Current Behavior

App crashes when attempting to view a transaction that has attachments

Steps to Reproduce

Add attachment to a transaction. View transaction.

Fireflyiii-mobile.txt

Trying oauth (works in another app), get error message

Firefly III Server Version:
4.7.7

Firefly III Mobile Version:
0.1.0

When I try to log in, it opens chrome, but it gives me this message after I logged in: {"error": "invalid_client", "message": "Client authentication failed"}

I tried updating the http://empty to https, and it still doesn't work. I get to the part where I'm allowed to log in, however after that I get this message.

When I try the other login option, the client just keeps on loading forever, but never actually logging in.

I managed to find my other issue here: mconway/firefly-app#12 If that would help in anyway.

OAuth login fails with invalid_client error

Firefly III Server Version:
4.7.17

Firefly III Mobile Version:
1.3.0

Android Version:

9


  1. When using OAuth for authentication I am successfully redirected to my instance.
  2. I login with my normal credentials.
  3. The error is displayed.

Expected Behavior

Being redirected back to the app once authentication is successful.

Current Behavior

Error {"error":"invalid_client","message":"Client authentication failed"}

Steps to Reproduce

See above

I try to attach server logs ASAP

Using transaction shortcut results in exception

I'm running the latest release 0.04 on Android 6.0.1.

When I enable "Add transactions anytime anywhere" and try to use one of the transaction shortcuts, this exception is thrown:

java.lang.RuntimeException: Unable to start receiver xyz.hisname.fireflyiii.GenericReceiver: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
	at android.app.ActivityThread.handleReceiver(ActivityThread.java:2771)
	at android.app.ActivityThread.access$1900(ActivityThread.java:154)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1458)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loop(Looper.java:157)
	at android.app.ActivityThread.main(ActivityThread.java:5571)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
	at android.app.ContextImpl.startActivity(ContextImpl.java:682)
	at android.app.ContextImpl.startActivity(ContextImpl.java:669)
	at android.content.ContextWrapper.startActivity(ContextWrapper.java:341)
	at android.content.ContextWrapper.startActivity(ContextWrapper.java:341)
	at xyz.hisname.fireflyiii.GenericReceiver.onReceive(:81)
	at android.app.ActivityThread.handleReceiver(ActivityThread.java:2764)
	... 8 more

App crashes after setup

Firefly III Server Version: 4.7.8

Firefly III Mobile Version:: 0.1.4 from f-droid

Device Information: Oneplus 3T using LineageOS 15.1 (Android 8.1.0) microG without Google Play Services


After successfully setting up, the app crashes on every start

Steps to Reproduce

When setting up via oauth key I was at first confused because it opened http://empty/?somestring in Firefox until I noticed that you are using this to get the oauth key. Firefox has a button to open the current URL in the correct app and this opens FireflyMobile and I again see the start screen. When I click on oauth a loading screen comes and a "welcome" toast appears. And in this moment the app crashes. On every restart the app immediatly crashes with the following error:

11-28 20:59:46.971  1032  8783 I ActivityManager: Start proc 1472:xyz.hisname.fireflyiii/u0a111 for activity xyz.hisname.fireflyiii/.ui.onboarding.OnboardingActivity
11-28 20:59:47.069  1032  6710 W ActivityManager: Slow operation: 64ms so far, now at attachApplicationLocked: after mServices.attachApplicationLocked
11-28 20:59:47.105  1032  1068 E NotificationService: Suppressing notification from package by user request.
11-28 20:59:47.241  1472  1472 D AndroidRuntime: Shutting down VM
11-28 20:59:47.242  1472  1472 E AndroidRuntime: FATAL EXCEPTION: main
11-28 20:59:47.242  1472  1472 E AndroidRuntime: Process: xyz.hisname.fireflyiii, PID: 1472
11-28 20:59:47.242  1472  1472 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{xyz.hisname.fireflyiii/xyz.hisname.fireflyiii.ui.onboarding.OnboardingActivity}: java.lang.IllegalStateException: Module with the Main dispatcher is missing. Add dependency providing the Main dispatcher, e.g. 'kotlinx-coroutines-android'
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at android.app.ActivityThread.-wrap11(Unknown Source:0)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:106)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:164)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6494)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
11-28 20:59:47.242  1472  1472 E AndroidRuntime: Caused by: java.lang.IllegalStateException: Module with the Main dispatcher is missing. Add dependency providing the Main dispatcher, e.g. 'kotlinx-coroutines-android'
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at kotlinx.coroutines.bt.a(Unknown Source:8)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at kotlinx.coroutines.bt.a(Unknown Source:10)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at kotlinx.coroutines.aq.a(Unknown Source:37)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at kotlinx.coroutines.c.a.a(Unknown Source:20)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at kotlinx.coroutines.ae.a(Unknown Source:35)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at kotlinx.coroutines.c.a(Unknown Source:16)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at kotlinx.coroutines.f.a(Unknown Source:44)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at kotlinx.coroutines.e.b(Unknown Source:0)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at xyz.hisname.fireflyiii.ui.onboarding.OnboardingActivity.onCreate(Unknown Source:292)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at android.app.Activity.performCreate(Activity.java:7009)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at android.app.Activity.performCreate(Activity.java:7000)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2731)
11-28 20:59:47.242  1472  1472 E AndroidRuntime:        ... 9 more
11-28 20:59:47.246  1032  1724 W ActivityManager:   Force finishing activity xyz.hisname.fireflyiii/.ui.onboarding.OnboardingActivity
11-28 20:59:47.269  1032  1069 I ActivityManager: Showing crash dialog for package xyz.hisname.fireflyiii u0
11-28 20:59:47.314  1032  3898 I OpenGLRenderer: Initialized EGL, version 1.4
11-28 20:59:47.314  1032  3898 D OpenGLRenderer: Swap behavior 2
11-28 20:59:47.759  1032  1068 W ActivityManager: Activity pause timeout for ActivityRecord{140a41f u0 xyz.hisname.fireflyiii/.ui.onboarding.OnboardingActivity t3941 f}
11-28 20:59:48.091  1032  1068 E NotificationService: Suppressing notification from package by user request.
11-28 20:59:48.345  2877  2988 W OpenGLRenderer: Incorrectly called buildLayer on View: ShortcutAndWidgetContainer, destroying layer...

When you need more information, just mention it.

When making a new withdrawal I only see my income accounts in the dropdown menu

Firefly III Server Version:
4.7.8

Firefly III Mobile Version:
0.14

Android Version:
7.1.5

Device Information:

  • BRAND: OnePlus
  • MODEL: 3

Not sure if this a bug or just me not understanding the app.

When I make a new withdrawal I can write destination account, is that where I should write the store I was in or the account I payed from (Eg. Bank, cash, kredit, etc.)

Also when making a new withdrawal in the dropdown menu I only see my income accounts, not any expense accounts.

https://cloud.postnow.eu/index.php/s/Haai5nLN5C8jPPb

The one in that menu is my employer. So that is for me an income account.

cross platform

Any thoughts to build this out cross platform. Such as flutter/dart or react native?

Accounts are vanished since update from 1.0.2 to 1.1.0

Firefly III Server Version:
4.8.7

Firefly III Mobile Version:
1.1.0

Android Version:
LineageOS 14.1

Device Information:
Nexus 5X


When I updated the app from version 1.0.2 to version 1.1.0 all my accounts are not viewable anymore.
The apps just says No ... Accounts found.
But all my transactions are there.

Expected Behavior

All Accounts should be there

Current Behavior

Accounts vanished

Steps to Reproduce

Update from 1.0.2 to 1.1.0

Cannot login via PAT

Firefly III Server Version:
4.7.17

Firefly III Mobile Version:
1.3.3

Android Version:
7.0
Device Information:

  • BRAND: Motorola
  • MODEL: Moto G (4)

Expected Behavior

After configuring PAT to be able to see my current data

Current Behavior

App says "No asset accounts found, do you want to add" If ok -> crash if no-> closes

Steps to Reproduce

  • Have a FF3 instance with at least 2 pages of accounts.
  • Have used the instance for at least 2 months (mine is at 4 mo usage)
  • Open app
  • Connect via PAT (Oauth is not working for me)

Nginx logs

That is all i see in the logs

==> /var/log/nginx/money-ssl-access.log <==
[11/Jun/2019:12:48:56 +0000] "GET /api/v1/accounts?type=all&page=1 HTTP/1.1" 200 43617 "-" "xyz.hisname.fireflyiii"
[11/Jun/2019:12:48:57 +0000] "GET /api/v1/accounts?type=all&page=2 HTTP/1.1" 200 32818 "-" "xyz.hisname.fireflyiii"

Oauth does not work

Firefly III Server Version:
4.7.9
Firefly III Mobile Version:
1.1.0
Android Version:
8.10
Device Information:

  • BRAND: Motorola
  • MODEL: Moto G5

When attempting authentication from the mobile, I get through all the steps as described in this link (https://github.com/emansih/FireflyMobile/wiki/Authentication) until step 7, when the auth returns the application, I get a message stating that authentication failed.

Expected Behavior

After authorisation, I would expect to gain access to my server through mobile client.

Current Behavior

Login process does not get passed the login screen (see screenshot)

Steps to Reproduce

Extra details :

  • Server is served through a proxy on the main server.
  • URL is in form of https://hostname.of.server/firefly
  • Issue happens independently whether on http or https
  • Clicking on authorize is the last entry which appears in any of the apache server log.

screenshot_20181230-165118

Default Currency

Firefly III Server Version:
4.8.7

Firefly III Mobile Version:
1.0.2

Expected Behavior

It would be nice to have a default currency, such that it is not always necessary to pick the currency when doing a new transaction

Current Behavior

The currency needs to be picked when doing a transaction.

Can't sign in with OAuth or Access token

Firefly III Server Version:
4.7.14
Firefly III Mobile Version:
1.2.6
Android Version:
8.1.0
Device Information:

  • BRAND: OnePlus
  • MODEL: dumpling

Expected Behavior

I should be able to sign in to my firefly III server.

Current Behavior

When trying to login via OAuth I get an error: {"error": "invalid_client", "message": "Client authentication failed"}.

And when trying to login via access token I get an error: use jsonreader.setlenient(true) to accept malformed json at line 2 column 1 path $.

Additional Information

My Firefly III server is under an OAuth2 authentication (Google OAuth).

App crashes : NumberFormatException

Firefly III Server Version: 4.7.17

Firefly III Mobile Version:1.2.14

Android Version:9


Expected Behavior

The app should launch and show transactions

Current Behavior

After adding my account, the app tries to download transactions and then crashes.
The app worked well before, I upgraded from android 8 to 9 in the meantime (but I can't tell you that it's the root cause because I didn't use the app for a while)

Fireflyiii-mobile.txt

I had a previous log with the value "270,0" instead of ",0"

No login button on personal access token screen

Firefly III Server Version: 4.7.17

Firefly III Mobile Version: 1.3.0

Android Version: 7.1.2

Device Information:

Fairphone 2
with Fairphone Open
Screen resolution : 1080*1920

Expected Behavior

There is a login button under the login with personal access token form

Current Behavior

There is not and. See screenshot: (I can't scroll either)
Screenshot_20190508-201656
I can't use Oauth because I have the same issue as #48

Steps to Reproduce

Unable to complete oAuth

Unable to get oAuth completed.
Tried using external URL of FireFly which is behind a reverse proxy using SSL but unable to get past the "Authorize" prompt (nothing happens).
When I tried on my internal network when clicking the Authorize button it prompts me to open in FireFly mobile or Chrome. If i choose FireFly mobile i just get prompted with the login screen again but all fields are blank.

P.S. To confirm I was able to complete oAuth internally with the other Android client, but not externally.

OAuth Login - CLEARTEXT communication not permitted

Firefly III Server Version:
4.7.9
Firefly III Mobile Version:

1.1.2 via f droid

Android Version:

9

Device Information:

Pixel 2


Expected Behavior

Correct oauth login

Current Behavior

When attempting to log-in via oauth I am redirected back from chrome to the app and get the error
"CLEARTEXT communication to {MY-FIREFLY-IP} not permitted by network security policy"

Steps to Reproduce

Input Oauth info in app then click sign in. After re-direction to chrome click Authorize. It then re-directs back to the app and produces the error.

screenshot_20190111-000541

Unable to Login via PAT or OAUTH

Firefly III Server Version: 4.7.17

Firefly III Mobile Version: 1.3.5

Android Version: 9

Device Information:

  • BRAND: Xiaomi
  • MODEL: Redmi Note 5

Expected Behavior

App logs in to Firefly after entering the correct credentials.

Current Behavior

Firefly is running via Docker on default Port 9001 and on Port 443 via Nginx Reverse Proxy to have SSL/TLS Support.

I am able to access Firefly with the following URLs:

I have configured Oauth and PAT.

PAT

When I enter the URL and the PAT, and click Login, the App is just showing the loading animation. Nothing else happens.
grafik

OAUTH

When I enter URL, Client-ID and Secret, my Browser opens and I have to login to Firefly. After successful login, I can click "Authorize" or "Cancel".
When I click "Authorize", the Browser opens the URL "http://emtpy/?code=XXX. This is the URL I entered as Callback_URL in the OAUTH Settings in Firefly.
Afterwards I switch back to the App and I am just seeing the loading animation. Nothing else happens.
grafik
grafik

I first thought it might be a problem caused by the reverse proxy, therefore I tried these steps with the non https URL... but no difference.

Am I doing something wrong?

Hope there is someone who can help me.
Sorry for those big screenshots, I did not find a way to resize them. Simple markdown does not work.

Thanks

Regards Dieler

Authentication issues

Firefly III Server Version:
4.8.7

Firefly III Mobile Version:
1.0.2

Android Version:
LineageOs 14.1

Device Information:
Nexus 5X


I tried logging in using OAuth, but when I need to click on the "authorize" button, nothing happens.
When I use a Personal Access Token, I can get past the login screen in FireflyMobile, but cannot see any data. When I try to refresh something, I get an AuthenticationException.
I would realy love to use your App, but currently I am not able to log into my firefly account.

Expected Behavior

OAuth should work.
When using a Personal Access Token it should only possible to get past the login screen, if the token is valid.
Aside from that I dont know why my Personal Access Token didnt work.

Current Behavior

OAuth doent work at all with the default LineageOS nor the lightning browser and FireflyMobile 1.0.2.
Personal Access Token should work.
When using a wrong Personal Access Token FireflyMobile should tell and stay at the login screen.

Steps to Reproduce

Trying OAuth with thy LineageOS or lightning browser.
Trying any Personal Access Token which does not exist.
Trying Personal Access Token which was produced by Firefly-iii does not work, too.

App crashes after setup

Firefly III Server Version: 4.7.9

Firefly III Mobile Version: 1.1.2 (crashes) / 1.1.1 (works fine)

Android Version: 6.0 / 7.1.1 (Bluestacks)

Device Information:

  • BRAND: LG / Bluestacks (to verify bug)
  • MODEL: G3

Expected Behavior

Can log in via OAuth or Token.

Current Behavior

App crashes after entering Token or redirecting back to app from browser-OAuth.

Steps to Reproduce

  • Install Firefly III Mobile version 1.1.2 via F-Droid or apk
  • Start app and enter credentials (OAuth or Token)
  • Witness crash
  • Restart app to try (and fail) logging in again

Alternate:

  • Install Firefly III Mobile version 1.1.1 via F-Droid or apk
  • Start app and enter credentials (OAuth or Token)
  • Begin using app normally
  • Install update to version 1.1.2
  • Witness crash on start (every time)

logcat shows nothing special:

01-12 18:05:15.649 12086 12086 W IInputConnectionWrapper: reportFullscreenMode on inexistent InputConnection
01-12 18:05:15.649 12086 12086 W IInputConnectionWrapper: finishComposingText on inactive InputConnection
01-12 18:05:43.857 12086 12086 I Term    : Bound to TermService
01-12 18:05:43.857 12086 12086 I TermService: Activity binding to service

Shortcut not working

When I add the shortcut to create a transaction on my home screen the form open directly. Afterward when I click on the shortcut a toast notification appears saying that the application is not installed.

I'm using the last version from f droid (1.2.5).

I'm on Android 9

App Crash: Open PDF Attachement

Firefly III Server Version: 4.7.1.7

Firefly III Mobile Version: 1.3.5

Android Version: Android 9

Device Information:

  • BRAND: Xiaomi
  • MODEL: Redmi Note 5

Expected Behavior

Open the attached PDF

Current Behavior

When I try to open a PDF attached to a booking, the App constantly crashes. I was not able to open a PDF.

Steps to Reproduce

Use the Webinterface and attach a PDF to a booking or upload it via App. Afterwards open this booking inside the App and try to open the attachement.

REPORT_ID=c139c1b5-48c6-4521-8f6e-6bf208435a09
APP_VERSION_NAME=1.3.5
PHONE_MODEL=Redmi Note 5
BRAND=Xiaomi
PRODUCT=whyred
ANDROID_VERSION=9
BUILD_CONFIG=
STACK_TRACE=kotlinx.coroutines.A: Exception in completion handler InvokeOnCompletion[na@6145f6] for Ga{Completed}@effedf7
	at kotlinx.coroutines.va.a(JobSupport.kt:52)
	at kotlinx.coroutines.va.b(JobSupport.kt:6)
	at kotlinx.coroutines.va.a(JobSupport.kt:95)
	at kotlinx.coroutines.va.b(JobSupport.kt:38)
	at kotlinx.coroutines.a.a(AbstractCoroutine.kt:2)
	at d.c.b.a.a.a(ContinuationImpl.kt:10)
	at kotlinx.coroutines.X.run(Dispatched.kt:15)
	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:31)
	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:4)
	at kotlinx.coroutines.c.a$b.run(CoroutineScheduler.kt:9)
Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
	at android.app.ContextImpl.startActivity(ContextImpl.java:912)
	at android.app.ContextImpl.startActivity(ContextImpl.java:888)
	at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
	at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
	at xyz.hisname.fireflyiii.util.f.a(FileUtils.kt:20)
	at xyz.hisname.fireflyiii.b.b.d.a(AttachmentViewModel.kt:4)
	at xyz.hisname.fireflyiii.b.b.d.a(AttachmentViewModel.kt:1)
	at kotlinx.coroutines.na.b(JobSupport.kt:1)
	at kotlinx.coroutines.va.a(JobSupport.kt:51)
	... 9 more

LOGCAT=07-12 22:45:31.360 E/RecyclerView(28331): No adapter attached; skipping layout
07-12 22:45:32.768 D/OpenGLRenderer(28331): endAllActiveAnimators on 0x778b874800 (RippleDrawable) with handle 0x778dd65a00
07-12 22:45:32.776 I/ViewRootImpl(28331): CPU Rendering VSync enable = true
07-12 22:45:33.302 D/OpenGLRenderer(28331): endAllActiveAnimators on 0x778b873900 (RippleDrawable) with handle 0x778dc57380
07-12 22:45:33.328 I/ViewRootImpl(28331): CPU Rendering VSync enable = true
07-12 22:45:33.707 D/OpenGLRenderer(28331): endAllActiveAnimators on 0x778b81cb00 (RippleDrawable) with handle 0x778dcf3840
07-12 22:45:33.723 I/ViewRootImpl(28331): CPU Rendering VSync enable = true
07-12 22:45:35.222 E/RecyclerView(28331): No adapter attached; skipping layout
07-12 22:45:43.145 E/RecyclerView(28331): No adapter attached; skipping layout
07-12 22:45:43.145 E/RecyclerView(28331): No adapter attached; skipping layout
07-12 22:45:44.938 E/RecyclerView(28331): No adapter attached; skipping layout
07-12 22:54:34.048 W/ActivityThread(28331): handleWindowVisibility: no activity for token android.os.BinderProxy@4cdfdd5
07-12 22:54:34.106 I/MaterialDrawer(28331): You have not specified a ImageLoader implementation through the DrawerImageLoader.init() method, or you are still overriding the deprecated method set(ImageView iv, Uri u, Drawable d) instead of set(ImageView iv, Uri u, Drawable d, String tag)
07-12 22:54:34.168 I/ViewRootImpl(28331): CPU Rendering VSync enable = true
07-12 22:54:34.230 E/RecyclerView(28331): No adapter attached; skipping layout
07-12 22:54:50.857 E/name.fireflyii(29297): Not starting debugger since process cannot load the jdwp agent.
07-12 22:54:50.902 I/MultiDex(29297): VM with version 2.1.0 has multidex support
07-12 22:54:50.902 I/MultiDex(29297): Installing application
07-12 22:54:50.902 I/MultiDex(29297): VM has multidex support, MultiDex support library is disabled.
07-12 22:54:50.965 I/ACRA    (29297): ACRA is enabled for xyz.hisname.fireflyiii, initializing...
07-12 22:54:51.044 D/NetworkSecurityConfig(29297): No Network Security Config specified, using platform default
07-12 22:54:51.052 I/MaterialDrawer(29297): You have not specified a ImageLoader implementation through the DrawerImageLoader.init() method, or you are still overriding the deprecated method set(ImageView iv, Uri u, Drawable d) instead of set(ImageView iv, Uri u, Drawable d, String tag)
07-12 22:54:51.273 D/OpenGLRenderer(29297): Skia GL Pipeline
07-12 22:54:51.275 I/ViewRootImpl(29297): CPU Rendering VSync enable = true
07-12 22:54:51.432 I/Adreno  (29297): QUALCOMM build                   : 9128d71, Ib33d3e8e13
07-12 22:54:51.432 I/Adreno  (29297): Build Date                       : 10/23/18
07-12 22:54:51.432 I/Adreno  (29297): OpenGL ES Shader Compiler Version: EV031.25.03.01
07-12 22:54:51.432 I/Adreno  (29297): Local Branch                     : 
07-12 22:54:51.432 I/Adreno  (29297): Remote Branch                    : 
07-12 22:54:51.432 I/Adreno  (29297): Remote Branch                    : 
07-12 22:54:51.432 I/Adreno  (29297): Reconstruct Branch               : 
07-12 22:54:51.432 I/Adreno  (29297): Build Config                     : S L 6.0.7 AArch64
07-12 22:54:51.438 I/Adreno  (29297): PFP: 0x005ff087, ME: 0x005ff063
07-12 22:54:51.443 I/ConfigStore(29297): android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
07-12 22:54:51.443 I/ConfigStore(29297): android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
07-12 22:54:51.445 I/OpenGLRenderer(29297): Initialized EGL, version 1.4
07-12 22:54:51.445 D/OpenGLRenderer(29297): Swap behavior 2
07-12 22:54:51.497 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:51.647 I/MaterialDrawer(29297): You have not specified a ImageLoader implementation through the DrawerImageLoader.init() method, or you are still overriding the deprecated method set(ImageView iv, Uri u, Drawable d) instead of set(ImageView iv, Uri u, Drawable d, String tag)
07-12 22:54:51.757 I/ViewRootImpl(29297): CPU Rendering VSync enable = true
07-12 22:54:51.809 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:52.527 W/PropertyValuesHolder(29297): Method setPhaseY() with type float not found on target class class b.c.a.a.a.a
07-12 22:54:56.970 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:57.059 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:57.242 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:58.021 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:58.044 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:58.060 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:58.077 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:58.210 I/chatty  (29297): uid=10274(xyz.hisname.fireflyiii) identical 8 lines
07-12 22:54:58.226 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:58.259 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:58.375 I/chatty  (29297): uid=10274(xyz.hisname.fireflyiii) identical 7 lines
07-12 22:54:58.393 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:58.409 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:58.425 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:58.442 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:58.459 I/chatty  (29297): uid=10274(xyz.hisname.fireflyiii) identical 1 line
07-12 22:54:58.475 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:58.742 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:54:59.292 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:55:00.359 I/chatty  (29297): uid=10274(xyz.hisname.fireflyiii) identical 44 lines
07-12 22:55:00.376 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:55:01.778 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:55:01.859 I/chatty  (29297): uid=10274(xyz.hisname.fireflyiii) identical 1 line
07-12 22:55:02.042 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:55:02.820 I/TextInputLayout(29297): EditText added is not a TextInputEditText. Please switch to using that class instead.
07-12 22:55:02.868 I/chatty  (29297): uid=10274(xyz.hisname.fireflyiii) identical 4 lines
07-12 22:55:02.871 I/TextInputLayout(29297): EditText added is not a TextInputEditText. Please switch to using that class instead.
07-12 22:55:12.901 I/ViewRootImpl(29297): CPU Rendering VSync enable = true
07-12 22:55:14.050 D/OpenGLRenderer(29297): endAllActiveAnimators on 0x77a5959000 (DropDownListView) with handle 0x778a543ea0
07-12 22:55:15.328 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:55:15.333 I/ViewRootImpl(29297): CPU Rendering VSync enable = true
07-12 22:55:17.998 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:55:24.555 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:55:30.224 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:55:30.224 E/RecyclerView(29297): No adapter attached; skipping layout
07-12 22:55:32.101 E/ACRA    (29297): ACRA caught a A for xyz.hisname.fireflyiii
07-12 22:55:32.101 E/ACRA    (29297): kotlinx.coroutines.A: Exception in completion handler InvokeOnCompletion[na@6145f6] for Ga{Completed}@effedf7
07-12 22:55:32.101 E/ACRA    (29297): 	at kotlinx.coroutines.va.a(JobSupport.kt:52)
07-12 22:55:32.101 E/ACRA    (29297): 	at kotlinx.coroutines.va.b(JobSupport.kt:6)
07-12 22:55:32.101 E/ACRA    (29297): 	at kotlinx.coroutines.va.a(JobSupport.kt:95)
07-12 22:55:32.101 E/ACRA    (29297): 	at kotlinx.coroutines.va.b(JobSupport.kt:38)
07-12 22:55:32.101 E/ACRA    (29297): 	at kotlinx.coroutines.a.a(AbstractCoroutine.kt:2)
07-12 22:55:32.101 E/ACRA    (29297): 	at d.c.b.a.a.a(ContinuationImpl.kt:10)
07-12 22:55:32.101 E/ACRA    (29297): 	at kotlinx.coroutines.X.run(Dispatched.kt:15)
07-12 22:55:32.101 E/ACRA    (29297): 	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:31)
07-12 22:55:32.101 E/ACRA    (29297): 	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:4)
07-12 22:55:32.101 E/ACRA    (29297): 	at kotlinx.coroutines.c.a$b.run(CoroutineScheduler.kt:9)
07-12 22:55:32.101 E/ACRA    (29297): Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
07-12 22:55:32.101 E/ACRA    (29297): 	at android.app.ContextImpl.startActivity(ContextImpl.java:912)
07-12 22:55:32.101 E/ACRA    (29297): 	at android.app.ContextImpl.startActivity(ContextImpl.java:888)
07-12 22:55:32.101 E/ACRA    (29297): 	at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
07-12 22:55:32.101 E/ACRA    (29297): 	at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
07-12 22:55:32.101 E/ACRA    (29297): 	at xyz.hisname.fireflyiii.util.f.a(FileUtils.kt:20)
07-12 22:55:32.101 E/ACRA    (29297): 	at xyz.hisname.fireflyiii.b.b.d.a(AttachmentViewModel.kt:4)
07-12 22:55:32.101 E/ACRA    (29297): 	at xyz.hisname.fireflyiii.b.b.d.a(AttachmentViewModel.kt:1)
07-12 22:55:32.101 E/ACRA    (29297): 	at kotlinx.coroutines.na.b(JobSupport.kt:1)
07-12 22:55:32.101 E/ACRA    (29297): 	at kotlinx.coroutines.va.a(JobSupport.kt:51)
07-12 22:55:32.101 E/ACRA    (29297): 	... 9 more
IS_SILENT=false
USER_CRASH_DATE=2019-07-12T22:55:32.105+02:00

Another crash. This time the attachement was an image uploaded via app.

REPORT_ID=1ea838dc-9e98-496d-9b16-63e67a7ad59c
APP_VERSION_NAME=1.3.5
PHONE_MODEL=Redmi Note 5
BRAND=Xiaomi
PRODUCT=whyred
ANDROID_VERSION=9
BUILD_CONFIG=
STACK_TRACE=kotlinx.coroutines.A: Exception in completion handler InvokeOnCompletion[na@adb3366] for Ga{Completed}@fe226a7
	at kotlinx.coroutines.va.a(JobSupport.kt:52)
	at kotlinx.coroutines.va.b(JobSupport.kt:6)
	at kotlinx.coroutines.va.a(JobSupport.kt:95)
	at kotlinx.coroutines.va.b(JobSupport.kt:38)
	at kotlinx.coroutines.a.a(AbstractCoroutine.kt:2)
	at d.c.b.a.a.a(ContinuationImpl.kt:10)
	at kotlinx.coroutines.X.run(Dispatched.kt:15)
	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:31)
	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:4)
	at kotlinx.coroutines.c.a$b.run(CoroutineScheduler.kt:9)
Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
	at android.app.ContextImpl.startActivity(ContextImpl.java:912)
	at android.app.ContextImpl.startActivity(ContextImpl.java:888)
	at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
	at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
	at xyz.hisname.fireflyiii.util.f.a(FileUtils.kt:20)
	at xyz.hisname.fireflyiii.b.b.d.a(AttachmentViewModel.kt:4)
	at xyz.hisname.fireflyiii.b.b.d.a(AttachmentViewModel.kt:1)
	at kotlinx.coroutines.na.b(JobSupport.kt:1)
	at kotlinx.coroutines.va.a(JobSupport.kt:51)
	... 9 more

LOGCAT=07-12 23:01:57.912 E/ACRA    (29721): 	at kotlinx.coroutines.va.b(JobSupport.kt:6)
07-12 23:01:57.912 E/ACRA    (29721): 	at kotlinx.coroutines.va.a(JobSupport.kt:95)
07-12 23:01:57.912 E/ACRA    (29721): 	at kotlinx.coroutines.va.b(JobSupport.kt:38)
07-12 23:01:57.912 E/ACRA    (29721): 	at kotlinx.coroutines.a.a(AbstractCoroutine.kt:2)
07-12 23:01:57.912 E/ACRA    (29721): 	at d.c.b.a.a.a(ContinuationImpl.kt:10)
07-12 23:01:57.912 E/ACRA    (29721): 	at kotlinx.coroutines.X.run(Dispatched.kt:15)
07-12 23:01:57.912 E/ACRA    (29721): 	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:31)
07-12 23:01:57.912 E/ACRA    (29721): 	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:4)
07-12 23:01:57.912 E/ACRA    (29721): 	at kotlinx.coroutines.c.a$b.run(CoroutineScheduler.kt:9)
07-12 23:01:57.912 E/ACRA    (29721): Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
07-12 23:01:57.912 E/ACRA    (29721): 	at android.app.ContextImpl.startActivity(ContextImpl.java:912)
07-12 23:01:57.912 E/ACRA    (29721): 	at android.app.ContextImpl.startActivity(ContextImpl.java:888)
07-12 23:01:57.912 E/ACRA    (29721): 	at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
07-12 23:01:57.912 E/ACRA    (29721): 	at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
07-12 23:01:57.912 E/ACRA    (29721): 	at xyz.hisname.fireflyiii.util.f.a(FileUtils.kt:20)
07-12 23:01:57.912 E/ACRA    (29721): 	at xyz.hisname.fireflyiii.b.b.d.a(AttachmentViewModel.kt:4)
07-12 23:01:57.912 E/ACRA    (29721): 	at xyz.hisname.fireflyiii.b.b.d.a(AttachmentViewModel.kt:1)
07-12 23:01:57.912 E/ACRA    (29721): 	at kotlinx.coroutines.na.b(JobSupport.kt:1)
07-12 23:01:57.912 E/ACRA    (29721): 	at kotlinx.coroutines.va.a(JobSupport.kt:51)
07-12 23:01:57.912 E/ACRA    (29721): 	... 9 more
07-12 23:01:58.050 I/ACRA    (29721): Sending report /data/user/0/xyz.hisname.fireflyiii/app_ACRA-approved/2019-07-12T23:01:57.918+02:00.stacktrace
07-12 23:01:58.085 I/Process (29721): Sending signal. PID: 29721 SIG: 9
07-12 23:03:43.482 E/name.fireflyii(30177): Not starting debugger since process cannot load the jdwp agent.
07-12 23:03:43.530 I/MultiDex(30177): VM with version 2.1.0 has multidex support
07-12 23:03:43.530 I/MultiDex(30177): Installing application
07-12 23:03:43.530 I/MultiDex(30177): VM has multidex support, MultiDex support library is disabled.
07-12 23:03:43.609 I/ACRA    (30177): ACRA is enabled for xyz.hisname.fireflyiii, initializing...
07-12 23:03:43.689 D/NetworkSecurityConfig(30177): No Network Security Config specified, using platform default
07-12 23:03:43.697 I/MaterialDrawer(30177): You have not specified a ImageLoader implementation through the DrawerImageLoader.init() method, or you are still overriding the deprecated method set(ImageView iv, Uri u, Drawable d) instead of set(ImageView iv, Uri u, Drawable d, String tag)
07-12 23:03:43.906 D/OpenGLRenderer(30177): Skia GL Pipeline
07-12 23:03:43.908 I/ViewRootImpl(30177): CPU Rendering VSync enable = true
07-12 23:03:44.060 I/Adreno  (30177): QUALCOMM build                   : 9128d71, Ib33d3e8e13
07-12 23:03:44.060 I/Adreno  (30177): Build Date                       : 10/23/18
07-12 23:03:44.060 I/Adreno  (30177): OpenGL ES Shader Compiler Version: EV031.25.03.01
07-12 23:03:44.060 I/Adreno  (30177): Local Branch                     : 
07-12 23:03:44.060 I/Adreno  (30177): Remote Branch                    : 
07-12 23:03:44.060 I/Adreno  (30177): Remote Branch                    : 
07-12 23:03:44.060 I/Adreno  (30177): Reconstruct Branch               : 
07-12 23:03:44.061 I/Adreno  (30177): Build Config                     : S L 6.0.7 AArch64
07-12 23:03:44.070 I/Adreno  (30177): PFP: 0x005ff087, ME: 0x005ff063
07-12 23:03:44.074 I/ConfigStore(30177): android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
07-12 23:03:44.074 I/ConfigStore(30177): android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
07-12 23:03:44.078 I/OpenGLRenderer(30177): Initialized EGL, version 1.4
07-12 23:03:44.079 D/OpenGLRenderer(30177): Swap behavior 2
07-12 23:03:44.123 E/RecyclerView(30177): No adapter attached; skipping layout
07-12 23:03:44.255 I/MaterialDrawer(30177): You have not specified a ImageLoader implementation through the DrawerImageLoader.init() method, or you are still overriding the deprecated method set(ImageView iv, Uri u, Drawable d) instead of set(ImageView iv, Uri u, Drawable d, String tag)
07-12 23:03:44.383 I/ViewRootImpl(30177): CPU Rendering VSync enable = true
07-12 23:03:44.443 E/RecyclerView(30177): No adapter attached; skipping layout
07-12 23:03:45.606 W/PropertyValuesHolder(30177): Method setPhaseY() with type float not found on target class class b.c.a.a.a.a
07-12 23:03:46.512 E/RecyclerView(30177): No adapter attached; skipping layout
07-12 23:03:48.465 W/ActivityThread(30177): handleWindowVisibility: no activity for token android.os.BinderProxy@18112cc
07-12 23:03:48.549 I/TextInputLayout(30177): EditText added is not a TextInputEditText. Please switch to using that class instead.
07-12 23:03:48.604 I/chatty  (30177): uid=10274(xyz.hisname.fireflyiii) identical 4 lines
07-12 23:03:48.609 I/TextInputLayout(30177): EditText added is not a TextInputEditText. Please switch to using that class instead.
07-12 23:03:48.641 I/ViewRootImpl(30177): CPU Rendering VSync enable = true
07-12 23:03:55.850 I/TextInputLayout(30177): EditText added is not a TextInputEditText. Please switch to using that class instead.
07-12 23:03:58.551 I/chatty  (30177): uid=10274(xyz.hisname.fireflyiii) identical 10 lines
07-12 23:03:58.556 I/TextInputLayout(30177): EditText added is not a TextInputEditText. Please switch to using that class instead.
07-12 23:04:01.564 I/TextInputLayout(30177): EditText added is not a TextInputEditText. Please switch to using that class instead.
07-12 23:04:03.287 I/chatty  (30177): uid=10274(xyz.hisname.fireflyiii) identical 10 lines
07-12 23:04:03.290 I/TextInputLayout(30177): EditText added is not a TextInputEditText. Please switch to using that class instead.
07-12 23:04:12.230 E/RecyclerView(30177): No adapter attached; skipping layout
07-12 23:04:13.649 E/RecyclerView(30177): No adapter attached; skipping layout
07-12 23:04:13.649 E/RecyclerView(30177): No adapter attached; skipping layout
07-12 23:04:16.104 I/ViewRootImpl(30177): CPU Rendering VSync enable = true
07-12 23:04:16.857 I/TextInputLayout(30177): EditText added is not a TextInputEditText. Please switch to using that class instead.
07-12 23:04:16.882 I/chatty  (30177): uid=10274(xyz.hisname.fireflyiii) identical 4 lines
07-12 23:04:16.885 I/TextInputLayout(30177): EditText added is not a TextInputEditText. Please switch to using that class instead.
07-12 23:04:27.434 I/ViewRootImpl(30177): CPU Rendering VSync enable = true
07-12 23:04:27.456 E/RecyclerView(30177): No adapter attached; skipping layout
07-12 23:04:28.710 W/InputEventReceiver(30177): Attempted to finish an input event but the input event receiver has already been disposed.
07-12 23:04:33.928 I/ViewRootImpl(30177): CPU Rendering VSync enable = true
07-12 23:04:33.995 I/WM-WorkerWrapper(30177): Worker result SUCCESS for Work [ id=67f06307-43cb-4660-8ede-c56938df4f8b, tags={ attachment_worker, xyz.hisname.fireflyiii.workers.transaction.AttachmentWorker } ]
07-12 23:04:39.304 I/ViewRootImpl(30177): CPU Rendering VSync enable = true
07-12 23:04:39.347 E/RecyclerView(30177): No adapter attached; skipping layout
07-12 23:04:40.999 E/RecyclerView(30177): No adapter attached; skipping layout
07-12 23:04:40.999 E/RecyclerView(30177): No adapter attached; skipping layout
07-12 23:04:42.954 E/ACRA    (30177): ACRA caught a A for xyz.hisname.fireflyiii
07-12 23:04:42.954 E/ACRA    (30177): kotlinx.coroutines.A: Exception in completion handler InvokeOnCompletion[na@adb3366] for Ga{Completed}@fe226a7
07-12 23:04:42.954 E/ACRA    (30177): 	at kotlinx.coroutines.va.a(JobSupport.kt:52)
07-12 23:04:42.954 E/ACRA    (30177): 	at kotlinx.coroutines.va.b(JobSupport.kt:6)
07-12 23:04:42.954 E/ACRA    (30177): 	at kotlinx.coroutines.va.a(JobSupport.kt:95)
07-12 23:04:42.954 E/ACRA    (30177): 	at kotlinx.coroutines.va.b(JobSupport.kt:38)
07-12 23:04:42.954 E/ACRA    (30177): 	at kotlinx.coroutines.a.a(AbstractCoroutine.kt:2)
07-12 23:04:42.954 E/ACRA    (30177): 	at d.c.b.a.a.a(ContinuationImpl.kt:10)
07-12 23:04:42.954 E/ACRA    (30177): 	at kotlinx.coroutines.X.run(Dispatched.kt:15)
07-12 23:04:42.954 E/ACRA    (30177): 	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:31)
07-12 23:04:42.954 E/ACRA    (30177): 	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:4)
07-12 23:04:42.954 E/ACRA    (30177): 	at kotlinx.coroutines.c.a$b.run(CoroutineScheduler.kt:9)
07-12 23:04:42.954 E/ACRA    (30177): Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
07-12 23:04:42.954 E/ACRA    (30177): 	at android.app.ContextImpl.startActivity(ContextImpl.java:912)
07-12 23:04:42.954 E/ACRA    (30177): 	at android.app.ContextImpl.startActivity(ContextImpl.java:888)
07-12 23:04:42.954 E/ACRA    (30177): 	at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
07-12 23:04:42.954 E/ACRA    (30177): 	at android.content.ContextWrapper.startActivity(ContextWrapper.java:379)
07-12 23:04:42.954 E/ACRA    (30177): 	at xyz.hisname.fireflyiii.util.f.a(FileUtils.kt:20)
07-12 23:04:42.954 E/ACRA    (30177): 	at xyz.hisname.fireflyiii.b.b.d.a(AttachmentViewModel.kt:4)
07-12 23:04:42.954 E/ACRA    (30177): 	at xyz.hisname.fireflyiii.b.b.d.a(AttachmentViewModel.kt:1)
07-12 23:04:42.954 E/ACRA    (30177): 	at kotlinx.coroutines.na.b(JobSupport.kt:1)
07-12 23:04:42.954 E/ACRA    (30177): 	at kotlinx.coroutines.va.a(JobSupport.kt:51)
07-12 23:04:42.954 E/ACRA    (30177): 	... 9 more
IS_SILENT=false
USER_CRASH_DATE=2019-07-12T23:04:42.958+02:00

I hope those infos help. If you need any further information, just let me know.

Thanks

IllegalArgumentException during entering of access token

Firefly III Server Version:
4.7.17

Firefly III Mobile Version:
2.1.15

Android Version:
7 (LineagesOS 14.1)

Device Information:

  • BRAND: Motorola
  • MODEL: Moto G 2014

Expected Behavior

Login with access token should succeed or fail with an intuitive error message also if the user behaves erroneously.

Current Behavior

The application crashes and opens the mail application with a draft containing the following stacktrace:

REPORT_ID=99bb3881-9396-42dd-b776-39175425a52b
APP_VERSION_NAME=1.2.15
PHONE_MODEL=Moto G 2014
BRAND=motorola
PRODUCT=lineage_titan
ANDROID_VERSION=7.1.2
BUILD_CONFIG=
STACK_TRACE=java.lang.IllegalArgumentException: Unexpected char 0xfeff at 7 in Authorization value: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImRlOGU3YzIzNjhkYTJkNTEwNTQzOWI5MzhkODhjOTFkMmY1MGRlZDhlNTgwMWFkMzMyMjJlNmFkYjIxYWU0OTRkYzUyOGY3MDJjYTQwNzU3In0.eyJhdWQiOiIxIiwianRpIjoiZGU4ZTdjMjM2OGRhMmQ1MTA1NDM5YjkzOGQ4OGM5MWQyZjUwZGVkOGU1ODAxYWQzMzIyMmU2YWRiMjFhZTQ5NGRjNTI4ZjcwMmNhNDA3NTciLCJpYXQiOjE1NTUxNzA2NjcsIm5iZiI6MTU1NTE3MDY2NywiZXhwIjoxNTg2NzkzMDY3LCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.ZDVDJBYo5utRIaDDKqNHN6KYSinpHQAp-8LbUl0SJrf54W3JOL1kJafLBDy_Psx66vwqw1wUHnspUIPSgTnUD9_jyfGonVuf45lZ_Z2O7HF_amwYE27eDtMZKxis48cFhcJOMBjMYO2jRwkaZPhQSTyIM7DdeKBWTftykkm9nhF0-BylFCf2vMqLJgOekOLLOjlgp8-a4HBgQCjfz9nmcMxnwRv_AYu1-TSNqFwYBkH1yfK9JkkrLirgOijbgj6sOE0Ut98iTvE-ORWhmgAVoNjA7CarXGXQfI6lbBOZ8-bncpCO78XKCEljXirJ7dHG6vvFSQVYTqKEctkp8w9YO8Z-u7dmPWZx7KBV26Q092q70x6rA4wfoRTEkAWUC052NsCPWv3YdWqOIk4Df5S8XjrfiCkxjBR-9U-PU8BSLl3xtIjcf34JUzU-_DpGQx__Wlc1ibwgJInmI-XhGbDCryqJG5vNSZCY9Axlnn5MLpQbGMiJYf_qxTskv0uO0lOYmrKJXsu7gIn7uYX25axAnciYSxYomiWn1jbPHJcQ_KdUvrgqpGJAopbQHepSSXjBBSuo_nDzupmRaud6H4HXrJjRU1yS8qpAFc8FaibBwqNyZTVEI0dFDDxlYqStheYiy_AFeNGzpYo4zOrMalgiDpLT5JzP7Ut4AXGc5crmCz4
	at okhttp3.s.a(Headers.java:272)
	at okhttp3.s$a.c(Headers.java:384)
	at okhttp3.aa$a.a(Request.java:184)
	at xyz.hisname.fireflyiii.util.c.c.a(HeaderInterceptor.kt:12)
	at okhttp3.internal.c.g.a(RealInterceptorChain.java:147)
	at okhttp3.internal.c.g.a(RealInterceptorChain.java:121)
	at okhttp3.z.g(RealCall.java:254)
	at okhttp3.z$a.c(RealCall.java:200)
	at okhttp3.internal.b.run(NamedRunnable.java:32)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
	at java.lang.Thread.run(Thread.java:761)

LOGCAT=04-13 17:50:25.076 I/MultiDex(29103): VM with version 2.1.0 has multidex support
04-13 17:50:25.076 I/MultiDex(29103): Installing application
04-13 17:50:25.076 I/MultiDex(29103): VM has multidex support, MultiDex support library is disabled.
04-13 17:50:25.389 I/art     (29103): Background partial concurrent mark sweep GC freed 15933(727KB) AllocSpace objects, 2(40KB) LOS objects, 53% free, 3MB/7MB, paused 5.685ms total 72.657ms
04-13 17:50:25.607 I/ACRA    (29103): ACRA is enabled for xyz.hisname.fireflyiii, initializing...
04-13 17:50:26.129 I/Adreno-EGL(29103): <qeglDrvAPI_eglInitialize:379>: QUALCOMM Build: 10/09/15, 6cbbf7d, I3193f6e94a
04-13 17:50:26.142 I/OpenGLRenderer(29103): Initialized EGL, version 1.4
04-13 17:50:26.142 D/OpenGLRenderer(29103): Swap behavior 1
04-13 17:50:26.149 W/RenderThread(29130): type=1400 audit(0.0:434): avc: denied { read } for uid=10101 name="gpuclk" dev="sysfs" ino=16842 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
04-13 17:50:26.155 W/Adreno-ES20(29103): <get_gpu_clk:229>: open failed: errno 13
04-13 17:50:27.361 I/art     (29103): Do partial code cache collection, code=12KB, data=31KB
04-13 17:50:27.364 I/art     (29103): After code cache collection, code=8KB, data=27KB
04-13 17:50:27.364 I/art     (29103): Increasing code cache capacity to 128KB
04-13 17:50:30.190 I/art     (29103): Do partial code cache collection, code=54KB, data=62KB
04-13 17:50:30.193 I/art     (29103): After code cache collection, code=54KB, data=62KB
04-13 17:50:30.193 I/art     (29103): Increasing code cache capacity to 256KB
04-13 17:51:00.176 W/IInputConnectionWrapper(29103): finishComposingText on inactive InputConnection
04-13 17:51:15.284 W/IInputConnectionWrapper(29103): finishComposingText on inactive InputConnection
04-13 17:51:15.299 W/IInputConnectionWrapper(29103): reportFullscreenMode on inexistent InputConnection
04-13 17:51:15.300 W/IInputConnectionWrapper(29103): finishComposingText on inactive InputConnection
04-13 17:51:49.049 W/RenderThread(29130): type=1400 audit(0.0:436): avc: denied { read } for uid=10101 name="gpuclk" dev="sysfs" ino=16842 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
04-13 17:51:49.049 I/Adreno-EGL(29103): <qeglDrvAPI_eglInitialize:379>: QUALCOMM Build: 10/09/15, 6cbbf7d, I3193f6e94a
04-13 17:51:49.049 I/OpenGLRenderer(29103): Initialized EGL, version 1.4
04-13 17:51:49.049 D/OpenGLRenderer(29103): Swap behavior 1
04-13 17:51:49.052 W/Adreno-ES20(29103): <get_gpu_clk:229>: open failed: errno 13
04-13 17:51:54.098 W/art     (29103): Suspending all threads took: 10.590ms
04-13 17:51:54.109 I/art     (29103): Background sticky concurrent mark sweep GC freed 10891(631KB) AllocSpace objects, 5(260KB) LOS objects, 14% free, 5MB/6MB, paused 11.487ms total 118.253ms
04-13 17:51:54.231 D/NetworkSecurityConfig(29103): No Network Security Config specified, using platform default
04-13 17:51:54.594 I/Choreographer(29103): Skipped 68 frames!  The application may be doing too much work on its main thread.
04-13 17:51:54.648 E/ACRA    (29103): ACRA caught a IllegalArgumentException for xyz.hisname.fireflyiii
04-13 17:51:54.648 E/ACRA    (29103): java.lang.IllegalArgumentException: Unexpected char 0xfeff at 7 in Authorization value: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImRlOGU3YzIzNjhkYTJkNTEwNTQzOWI5MzhkODhjOTFkMmY1MGRlZDhlNTgwMWFkMzMyMjJlNmFkYjIxYWU0OTRkYzUyOGY3MDJjYTQwNzU3In0.eyJhdWQiOiIxIiwianRpIjoiZGU4ZTdjMjM2OGRhMmQ1MTA1NDM5YjkzOGQ4OGM5MWQyZjUwZGVkOGU1ODAxYWQzMzIyMmU2YWRiMjFhZTQ5NGRjNTI4ZjcwMmNhNDA3NTciLCJpYXQiOjE1NTUxNzA2NjcsIm5iZiI6MTU1NTE3MDY2NywiZXhwIjoxNTg2NzkzMDY3LCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.ZDVDJBYo5utRIaDDKqNHN6KYSinpHQAp-8LbUl0SJrf54W3JOL1kJafLBDy_Psx66vwqw1wUHnspUIPSgTnUD9_jyfGonVuf45lZ_Z2O7HF_amwYE27eDtMZKxis48cFhcJOMBjMYO2jRwkaZPhQSTyIM7DdeKBWTftykkm9nhF0-BylFCf2vMqLJgOekOLLOjlgp8-a4HBgQCjfz9nmcMxnwRv_AYu1-TSNqFwYBkH1yfK9JkkrLirgOijbgj6sOE0Ut98iTvE-ORWhmgAVoNjA7CarXGXQfI6lbBOZ8-bncpCO78XKCEljXirJ7dHG6vvFSQVYTqKEctkp8w9YO8Z-u7dmPWZx7KBV26Q092q70x6rA4wfoRTEkAWUC052NsCPWv3YdWqOIk4Df5S8XjrfiCkxjBR-9U-PU8BSLl3xtIjcf34JUzU-_DpGQx__Wlc1ibwgJInmI-XhGbDCryqJG5vNSZCY9Axlnn5MLpQbGMiJYf_qxTskv0uO0lOYmrKJXsu7gIn7uYX25axAnciYSxYomiWn1jbPHJcQ_KdUvrgqpGJAopbQHepSSXjBBSuo_nDzupmRaud6H4HXrJjRU1yS8qpAFc8FaibBwqNyZTVEI0dFDDxlYqStheYiy_AFeNGzpYo4zOrMalgiDpLT5JzP7Ut4AXGc5crmCz4
04-13 17:51:54.648 E/ACRA    (29103): 	at okhttp3.s.a(Headers.java:272)
04-13 17:51:54.648 E/ACRA    (29103): 	at okhttp3.s$a.c(Headers.java:384)
04-13 17:51:54.648 E/ACRA    (29103): 	at okhttp3.aa$a.a(Request.java:184)
04-13 17:51:54.648 E/ACRA    (29103): 	at xyz.hisname.fireflyiii.util.c.c.a(HeaderInterceptor.kt:12)
04-13 17:51:54.648 E/ACRA    (29103): 	at okhttp3.internal.c.g.a(RealInterceptorChain.java:147)
04-13 17:51:54.648 E/ACRA    (29103): 	at okhttp3.internal.c.g.a(RealInterceptorChain.java:121)
04-13 17:51:54.648 E/ACRA    (29103): 	at okhttp3.z.g(RealCall.java:254)
04-13 17:51:54.648 E/ACRA    (29103): 	at okhttp3.z$a.c(RealCall.java:200)
04-13 17:51:54.648 E/ACRA    (29103): 	at okhttp3.internal.b.run(NamedRunnable.java:32)
04-13 17:51:54.648 E/ACRA    (29103): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
04-13 17:51:54.648 E/ACRA    (29103): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
04-13 17:51:54.648 E/ACRA    (29103): 	at java.lang.Thread.run(Thread.java:761)
04-13 17:51:55.068 I/art     (29103): Background partial concurrent mark sweep GC freed 20119(1123KB) AllocSpace objects, 5(220KB) LOS objects, 46% free, 4MB/8MB, paused 12.046ms total 112.907ms
04-13 17:51:55.457 I/Process (29103): Sending signal. PID: 29103 SIG: 9
04-13 17:51:55.616 W/System  (29797): ClassLoader referenced unknown path: /mnt/expand/b32ddf81-96df-41c5-8325-c800da2115a1/app/xyz.hisname.fireflyiii-2/lib/arm
04-13 17:51:55.718 I/MultiDex(29797): VM with version 2.1.0 has multidex support
04-13 17:51:55.718 I/MultiDex(29797): Installing application
04-13 17:51:55.718 I/MultiDex(29797): VM has multidex support, MultiDex support library is disabled.
04-13 17:51:56.335 W/art     (29797): Suspending all threads took: 7.823ms
04-13 17:51:56.878 I/ACRA    (29797): Sending report /mnt/expand/b32ddf81-96df-41c5-8325-c800da2115a1/user/0/xyz.hisname.fireflyiii/app_ACRA-approved/2019-04-13T17:51:54.692+02:00-IS_SILENT.stacktrace
04-13 17:52:01.490 W/System  (29954): ClassLoader referenced unknown path: /mnt/expand/b32ddf81-96df-41c5-8325-c800da2115a1/app/xyz.hisname.fireflyiii-2/lib/arm
04-13 17:52:01.877 I/art     (29954): Background partial concurrent mark sweep GC freed 15706(672KB) AllocSpace objects, 1(20KB) LOS objects, 57% free, 2MB/6MB, paused 10.392ms total 80.922ms
04-13 17:52:01.883 I/MultiDex(29954): VM with version 2.1.0 has multidex support
04-13 17:52:01.884 I/MultiDex(29954): Installing application
04-13 17:52:01.884 I/MultiDex(29954): VM has multidex support, MultiDex support library is disabled.
04-13 17:52:02.832 I/ACRA    (29954): ACRA is enabled for xyz.hisname.fireflyiii, initializing...
04-13 17:52:03.716 I/Adreno-EGL(29954): <qeglDrvAPI_eglInitialize:379>: QUALCOMM Build: 10/09/15, 6cbbf7d, I3193f6e94a
04-13 17:52:03.722 I/OpenGLRenderer(29954): Initialized EGL, version 1.4
04-13 17:52:03.722 D/OpenGLRenderer(29954): Swap behavior 1
04-13 17:52:03.729 W/RenderThread(30016): type=1400 audit(0.0:437): avc: denied { read } for uid=10101 name="gpuclk" dev="sysfs" ino=16842 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
04-13 17:52:03.733 W/Adreno-ES20(29954): <get_gpu_clk:229>: open failed: errno 13
04-13 17:52:05.064 I/art     (29954): Do partial code cache collection, code=12KB, data=30KB
04-13 17:52:05.067 I/art     (29954): After code cache collection, code=8KB, data=26KB
04-13 17:52:05.067 I/art     (29954): Increasing code cache capacity to 128KB
04-13 17:52:18.759 W/RenderThread(30016): type=1400 audit(0.0:438): avc: denied { read } for uid=10101 name="gpuclk" dev="sysfs" ino=16842 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
04-13 17:52:18.760 I/Adreno-EGL(29954): <qeglDrvAPI_eglInitialize:379>: QUALCOMM Build: 10/09/15, 6cbbf7d, I3193f6e94a
04-13 17:52:18.760 I/OpenGLRenderer(29954): Initialized EGL, version 1.4
04-13 17:52:18.761 D/OpenGLRenderer(29954): Swap behavior 1
04-13 17:52:18.764 W/Adreno-ES20(29954): <get_gpu_clk:229>: open failed: errno 13
04-13 17:52:22.928 I/art     (29954): Do partial code cache collection, code=52KB, data=62KB
04-13 17:52:22.929 I/art     (29954): After code cache collection, code=52KB, data=62KB
04-13 17:52:22.929 I/art     (29954): Increasing code cache capacity to 256KB
04-13 17:52:29.356 W/IInputConnectionWrapper(29954): finishComposingText on inactive InputConnection
04-13 17:52:29.359 W/IInputConnectionWrapper(29954): finishComposingText on inactive InputConnection
04-13 17:52:29.359 W/IInputConnectionWrapper(29954): reportFullscreenMode on inexistent InputConnection
04-13 17:52:29.359 W/IInputConnectionWrapper(29954): finishComposingText on inactive InputConnection
04-13 17:53:58.522 W/RenderThread(30016): type=1400 audit(0.0:439): avc: denied { read } for uid=10101 name="gpuclk" dev="sysfs" ino=16842 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0
04-13 17:53:58.525 I/Adreno-EGL(29954): <qeglDrvAPI_eglInitialize:379>: QUALCOMM Build: 10/09/15, 6cbbf7d, I3193f6e94a
04-13 17:53:58.526 I/OpenGLRenderer(29954): Initialized EGL, version 1.4
04-13 17:53:58.526 D/OpenGLRenderer(29954): Swap behavior 1
04-13 17:53:58.528 W/Adreno-ES20(29954): <get_gpu_clk:229>: open failed: errno 13
04-13 17:54:19.406 W/IInputConnectionWrapper(29954): finishComposingText on inactive InputConnection
04-13 17:54:30.909 I/art     (29954): Background sticky concurrent mark sweep GC freed 15622(973KB) AllocSpace objects, 4(240KB) LOS objects, 15% free, 5MB/6MB, paused 720us total 152.906ms
04-13 17:54:31.095 D/NetworkSecurityConfig(29954): No Network Security Config specified, using platform default
04-13 17:54:31.459 I/Choreographer(29954): Skipped 78 frames!  The application may be doing too much work on its main thread.
04-13 17:54:31.482 E/ACRA    (29954): ACRA caught a IllegalArgumentException for xyz.hisname.fireflyiii
04-13 17:54:31.482 E/ACRA    (29954): java.lang.IllegalArgumentException: Unexpected char 0xfeff at 7 in Authorization value: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImRlOGU3YzIzNjhkYTJkNTEwNTQzOWI5MzhkODhjOTFkMmY1MGRlZDhlNTgwMWFkMzMyMjJlNmFkYjIxYWU0OTRkYzUyOGY3MDJjYTQwNzU3In0.eyJhdWQiOiIxIiwianRpIjoiZGU4ZTdjMjM2OGRhMmQ1MTA1NDM5YjkzOGQ4OGM5MWQyZjUwZGVkOGU1ODAxYWQzMzIyMmU2YWRiMjFhZTQ5NGRjNTI4ZjcwMmNhNDA3NTciLCJpYXQiOjE1NTUxNzA2NjcsIm5iZiI6MTU1NTE3MDY2NywiZXhwIjoxNTg2NzkzMDY3LCJzdWIiOiIxIiwic2NvcGVzIjpbXX0.ZDVDJBYo5utRIaDDKqNHN6KYSinpHQAp-8LbUl0SJrf54W3JOL1kJafLBDy_Psx66vwqw1wUHnspUIPSgTnUD9_jyfGonVuf45lZ_Z2O7HF_amwYE27eDtMZKxis48cFhcJOMBjMYO2jRwkaZPhQSTyIM7DdeKBWTftykkm9nhF0-BylFCf2vMqLJgOekOLLOjlgp8-a4HBgQCjfz9nmcMxnwRv_AYu1-TSNqFwYBkH1yfK9JkkrLirgOijbgj6sOE0Ut98iTvE-ORWhmgAVoNjA7CarXGXQfI6lbBOZ8-bncpCO78XKCEljXirJ7dHG6vvFSQVYTqKEctkp8w9YO8Z-u7dmPWZx7KBV26Q092q70x6rA4wfoRTEkAWUC052NsCPWv3YdWqOIk4Df5S8XjrfiCkxjBR-9U-PU8BSLl3xtIjcf34JUzU-_DpGQx__Wlc1ibwgJInmI-XhGbDCryqJG5vNSZCY9Axlnn5MLpQbGMiJYf_qxTskv0uO0lOYmrKJXsu7gIn7uYX25axAnciYSxYomiWn1jbPHJcQ_KdUvrgqpGJAopbQHepSSXjBBSuo_nDzupmRaud6H4HXrJjRU1yS8qpAFc8FaibBwqNyZTVEI0dFDDxlYqStheYiy_AFeNGzpYo4zOrMalgiDpLT5JzP7Ut4AXGc5crmCz4
04-13 17:54:31.482 E/ACRA    (29954): 	at okhttp3.s.a(Headers.java:272)
04-13 17:54:31.482 E/ACRA    (29954): 	at okhttp3.s$a.c(Headers.java:384)
04-13 17:54:31.482 E/ACRA    (29954): 	at okhttp3.aa$a.a(Request.java:184)
04-13 17:54:31.482 E/ACRA    (29954): 	at xyz.hisname.fireflyiii.util.c.c.a(HeaderInterceptor.kt:12)
04-13 17:54:31.482 E/ACRA    (29954): 	at okhttp3.internal.c.g.a(RealInterceptorChain.java:147)
04-13 17:54:31.482 E/ACRA    (29954): 	at okhttp3.internal.c.g.a(RealInterceptorChain.java:121)
04-13 17:54:31.482 E/ACRA    (29954): 	at okhttp3.z.g(RealCall.java:254)
04-13 17:54:31.482 E/ACRA    (29954): 	at okhttp3.z$a.c(RealCall.java:200)
04-13 17:54:31.482 E/ACRA    (29954): 	at okhttp3.internal.b.run(NamedRunnable.java:32)
04-13 17:54:31.482 E/ACRA    (29954): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
04-13 17:54:31.482 E/ACRA    (29954): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
04-13 17:54:31.482 E/ACRA    (29954): 	at java.lang.Thread.run(Thread.java:761)
IS_SILENT=false
USER_CRASH_DATE=2019-04-13T17:54:31.505+02:00

Steps to Reproduce

  • Start server with docker-compose up and generate access token
  • Open application and choose login with access token
  • specify address, e.g. http://192.168.1.2:8090 and enter the access token (copied from server in order to avoid typos)

Source and destination account have same content for withdrawals and deposits

Firefly III Server Version: 4.7.7

Firefly III Mobile Version: 0.06

Android Version: 6.0.1

Device Information:

  • BRAND: Xiaomi
  • MODEL: Redmi 3s Prime

Expected Behavior

When creating a withdrawal, the destination account shouldn't be one of my asset accounts, but rather an expense account like "Netflix" or "Amazon". Same goes for deposits and their source accounts. The easiest way to do that would be to have those fields auto-completed text fields.

Current Behavior

Currently, withdrawals and deposits have the same spinner content for the source and destination account, making it impossible to create anything but transfers.

Steps to Reproduce

Go to "Expenses" or "Revenue/Income" and create a transaction using the FAB. You can find a screenshot here: https://i.imgur.com/qS2CpKf.png

Unable to do certain actions on Android 9 due to network policy

Firefly III Server Version:
4.7.12
Firefly III Mobile Version:
1.2.6
Android Version:
9, latest one
Device Information:

  • BRAND: Mobile
  • MODEL: Mi A2

In Android 9 there's a opt-out blockade while limiting to clear-text servers, but it also hits edge cases(f.e. self-hosted firefly that is behind traefik which deals with lets-encrypt certs) for self-hosting apps. Similar open-source app for wallabag also had that issue and there's on-going easy PR that fixes it( wallabag/android-app#762 ). However, while in WB app it denied loging in, in FM it allows to login, allows to add new transaction, but error as in-app notification bubble/cloud appears("CLEARTEXT communication to not permitted by network security policy") while loading transactions.

Expected Behavior

Application loads content from server in all available scenarios.

Current Behavior

Android refuses to connect to server, in detail - to do certain actions.

Steps to Reproduce

  1. Install and configure application on Android 9 and above
  2. Enter into transactions submenu

Unable to select Source Account when creating transaction

Firefly III Server Version:
4.8.7

Firefly III Mobile Version:
1.1.0

Android Version:
LineageOS 14

Device Information:
Nexus 5X

Since version 1.1.0 I am unable to create new transactions.
I am not able to select a Source Account and if I try to complete a transaction nevertheless, the app crashes

Expected Behavior

App should not crash with wrong things in the fields when creating a transaction.
Source Account should be selectable.
Maybe a default account could be selected.

Current Behavior

App crashes when creating a new transaction and fields are left emtpy.
Source Account is empty and not selectable

image

"X null" Error on accounts

Firefly III Server Version: 4.7.12

Firefly III Mobile Version: 1.2.6

Android Version: 9

Device Information:

  • BRAND: POCOPHONE
  • MODEL: F1

Expected Behavior

When I navigate to either Asset Accounts, Expense Account, Revenue Accounts or Liability accounts, they should display without an error.

Current Behavior

"X null" is displayed as an error

photo_2019-02-23_10-03-28

Detail view isn't hidden while editing transaction

Firefly III Server Version:
4.7.12
Firefly III Mobile Version:
1.2.6
Android Version:
9, latest one
Device Information:

  • BRAND: Mobile
  • MODEL: Mi A2

When editing an transaction, new widgets appears while old one don't hide - maybe new Android again broken something.

Expected Behavior

Editing transactions looks nice

Current Behavior

Absolutely mess while editing a transaction

Steps to Reproduce

  1. create a transaction
  2. view one in mobile application
  3. from dot menu select edit

https://imgur.com/a/zlDSkx4

lateinit property fireflyUrl has not been initialized

Hi! I just tried setting up the app on my phone running Android 6.0.1.

I was able to finish the authorization process and when I got back to the app, I got to the screen that says "Retrieving your data" (or something along those lines). There, I was stuck at around 30% for probably five minutes, so I tried to quit the app using the back button and reopen it. Upon reopening the app, this exception occurred:

java.lang.RuntimeException: Unable to start activity ComponentInfo{xyz.hisname.fireflyiii/xyz.hisname.fireflyiii.ui.onboarding.OnboardingActivity}: e.r: lateinit property fireflyUrl has not been initialized
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2455)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2515)
	at android.app.ActivityThread.access$1000(ActivityThread.java:154)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1379)
	at android.os.Handler.dispatchMessage(Handler.java:102)
	at android.os.Looper.loop(Looper.java:157)
	at android.app.ActivityThread.main(ActivityThread.java:5571)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
Caused by: e.r: lateinit property fireflyUrl has not been initialized
	at xyz.hisname.fireflyiii.ui.onboarding.f.ja(:4)
	at xyz.hisname.fireflyiii.ui.onboarding.f.a(:12)
	at b.k.a.u.a(:237)
	at b.k.a.u.e(:11)
	at b.k.a.u.b(:17)
	at b.k.a.a.d(:24)
	at b.k.a.u.b(:47)
	at b.k.a.u.a(:412)
	at b.k.a.u.b(:39)
	at b.k.a.u.i(:8)
	at b.k.a.u.e(:38)
	at b.k.a.u.q(:3)
	at b.k.a.l.f(:1)
	at b.k.a.j.onStart(:5)
	at androidx.appcompat.app.o.onStart(:1)
	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1238)
	at android.app.Activity.performStart(Activity.java:6374)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2418)
	... 9 more

App chrashes when trying to pick Currency

Firefly III Server Version:
4.7.8

Firefly III Mobile Version:
0.13

Android Version:
15

Device Information:

  • BRAND: OnePlus
  • MODEL: OnePlus 3

Expected Behavior

Not chrashing but letting me choose currency

Current Behavior

Chrashing

Steps to Reproduce

  1. Add a new withdrawal
  2. Click on currency
  3. Chrash
Where are these saved? I couldn't find them on my phone.

I want to mention that my main currency is EUR if that changes anything.

Logging in via OAUTH returns to login

General:

  • Firefly iii server running docker release-4.7.10
  • server runs behind nginx reverse proxy with SSL
  • App version 1.2.3
  • Galaxy S9 Android 9

Issue:
Logging in via OAUTH returns to app login page after web page authorization

Steps to reproduce:

  • Login with OAUTH
  • Set OAUTH Redirect URL in firefly iii server either to http://emtpy or https://emtpy
  • login via app
  • authorize in chrome (or firefox) browser
  • after authorization, app returns to OAUTH login page (initial state)

Text '2019-xx-xx' could not be parsed at index 10

Firefly III Server Version:
4.7.10

Firefly III Mobile Version:
1.2.6

Android Version:
7.0

Error when opening expenses. It says Text '2019-xx-xx' could not be parsed at index 10

Expected Behavior

Showing the expenses

Current Behavior

Shows nothing, only the error.

Steps to Reproduce

Open the expenses tab

photo5452058071846201707
photo5452058071846201706

Firefly III Server Version:

Firefly III Server Version:

Firefly III Mobile Version:

Android Version:

Device Information:

  • BRAND:
  • MODEL:

Expected Behavior

Current Behavior

Steps to Reproduce

Dashboard shows wrong amounts for "Overview" and "List of Accounts"

Firefly III Server Version: 4.7.7

Firefly III Mobile Version: 0.1.0

Android Version: 8.1

Device Information:

  • BRAND: Xiaomi
  • MODEL: Redmi 3s Prime

Expected Behavior

The "Cash" and "Credit Card" cards on the dashboard should show the correct amount, in my case 0 as I don't use the built-in cash wallet and have no liabilities in my Firefly instance. Additionally, the "Overview" card should also display the correct amounts.

Current Behavior

Currently both of these cards show the exact amount of "10979" on my phone. When connected to the demo instance, all of the three cards show an amount of "5771" and the "Overview" card shows some pretty wild numbers:

image

Based on the Firefly web interface, this is what the overview should show for the demo instance:

image

Steps to Reproduce

Connect the newest version of the app to the official Firefly demo instance and check out the dashboard.

"Expenses" lists transactions of all types

Firefly III Server Version: 4.7.7

Firefly III Mobile Version: 0.06

Android Version: 6.0.1

Device Information:

  • BRAND: Xiaomi
  • MODEL: Redmi 3s Prime

Expected Behavior

The "Expenses" view should list expenses and only expenses.

Current Behavior

Currently the view also lists deposits and transfers as well as expenses including some amusing coloring issues (sometimes deposits and transfers are red, sometimes they're black).

Steps to Reproduce

Go to "Transactions" -> "Expenses". I don't feel too comfortable adding a screenshot here but I think it should be easy enough to reproduce.

Parse Error for transaction in january

Firefly III Server Version:4.7.17

Firefly III Mobile Version:1.2.14.1

Android Version:9

Expected Behavior

I should be able to look at transactions that happened on january

Current Behavior

When looking at transactions from the calendar view (either withdrawal, revenue or transfer), I can correctly pick a date and get associated transactions. However if I do the same for any day in january, the app crashes.

Steps to Reproduce

Pick any day from january (in any year) from the calendar in transactions view.

--------- beginning of crash
04-10 08:50:05.976 E/AndroidRuntime(12625): FATAL EXCEPTION: DefaultDispatcher-worker-3
04-10 08:50:05.976 E/AndroidRuntime(12625): Process: xyz.hisname.fireflyiii, PID: 12625
04-10 08:50:05.976 E/AndroidRuntime(12625): org.b.a.b.e: Text '2019-1-11' could not be parsed at index 5
04-10 08:50:05.976 E/AndroidRuntime(12625): 	at org.b.a.b.b.a(DateTimeFormatter.java:1588)
04-10 08:50:05.976 E/AndroidRuntime(12625): 	at org.b.a.b.b.a(DateTimeFormatter.java:1491)
04-10 08:50:05.976 E/AndroidRuntime(12625): 	at org.b.a.f.a(LocalDate.java:367)
04-10 08:50:05.976 E/AndroidRuntime(12625): 	at org.b.a.f.a(LocalDate.java:352)
04-10 08:50:05.976 E/AndroidRuntime(12625): 	at xyz.hisname.fireflyiii.util.a.b(DateTimeUtil.kt:26)
04-10 08:50:05.976 E/AndroidRuntime(12625): 	at xyz.hisname.fireflyiii.repository.j.a.c(TransactionRepository.kt:103)
04-10 08:50:05.976 E/AndroidRuntime(12625): 	at xyz.hisname.fireflyiii.repository.j.b$ad$1.b(TransactionsViewModel.kt:456)
04-10 08:50:05.976 E/AndroidRuntime(12625): 	at b.c.b.a.a.a(ContinuationImpl.kt:32)
04-10 08:50:05.976 E/AndroidRuntime(12625): 	at kotlinx.coroutines.ar.run(Dispatched.kt:233)
04-10 08:50:05.976 E/AndroidRuntime(12625): 	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:594)
04-10 08:50:05.976 E/AndroidRuntime(12625): 	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:60)
04-10 08:50:05.976 E/AndroidRuntime(12625): 	at kotlinx.coroutines.c.a$b.run(CoroutineScheduler.kt:742)
04-10 08:50:05.977 E/ACRA    (12625): ACRA caught a e for xyz.hisname.fireflyiii
04-10 08:50:05.977 E/ACRA    (12625): org.b.a.b.e: Text '2019-1-11' could not be parsed at index 5
04-10 08:50:05.977 E/ACRA    (12625): 	at org.b.a.b.b.a(DateTimeFormatter.java:1588)
04-10 08:50:05.977 E/ACRA    (12625): 	at org.b.a.b.b.a(DateTimeFormatter.java:1491)
04-10 08:50:05.977 E/ACRA    (12625): 	at org.b.a.f.a(LocalDate.java:367)
04-10 08:50:05.977 E/ACRA    (12625): 	at org.b.a.f.a(LocalDate.java:352)
04-10 08:50:05.977 E/ACRA    (12625): 	at xyz.hisname.fireflyiii.util.a.b(DateTimeUtil.kt:26)
04-10 08:50:05.977 E/ACRA    (12625): 	at xyz.hisname.fireflyiii.repository.j.a.c(TransactionRepository.kt:103)
04-10 08:50:05.977 E/ACRA    (12625): 	at xyz.hisname.fireflyiii.repository.j.b$ad$1.b(TransactionsViewModel.kt:456)
04-10 08:50:05.977 E/ACRA    (12625): 	at b.c.b.a.a.a(ContinuationImpl.kt:32)
04-10 08:50:05.977 E/ACRA    (12625): 	at kotlinx.coroutines.ar.run(Dispatched.kt:233)
04-10 08:50:05.977 E/ACRA    (12625): 	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:594)
04-10 08:50:05.977 E/ACRA    (12625): 	at kotlinx.coroutines.c.a.a(CoroutineScheduler.kt:60)
04-10 08:50:05.977 E/ACRA    (12625): 	at kotlinx.coroutines.c.a$b.run(CoroutineScheduler.kt:742)

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.