emansih / FireflyMobile

Mobile Application for Firefly III written in Kotlin
GNU General Public License v3.0
323 stars 48 forks source link

Multiple logins to different user accounts/Firefly instances #174

Closed tomasz-lasko closed 2 years ago

tomasz-lasko commented 3 years ago

Hello, nice app, but is it planned to support having multiple users and/or Firefly servers instances logged in and switching between them?

For example: if I have Alice on https://some.example.com and Bob on https://other.example.com, then I would like to have them both logged in and switch between them, and even use them offline.

From what I see in the app UI, the email address of my user seems to be a UI widget that can be switched, but there is no option to add another account. So it looks like it is planned to be implemented in the future. Am I correct? If yes then what is its priority in feature backlog? :) Thanks!

emansih commented 3 years ago

Hello. I did thought of implementing such a feature but

If such a feature is in hot demand, I can implement it but it will probably take half a month due to my current life commitments

tomasz-lasko commented 3 years ago

Yes, exactly - one mobile device application and inside this application I switch between different Firefly III user accounts. These accounts can be on same Firefly III server installation, and/or can be on separate server installation - actually nobody cares on which server they are, because indeed they are completely separate on the server. So Firefly III server supports multiple accounts, they are just completely separated from each other.

So this feature is exactly the same as having multiple accounts in any email client application. If you have three mails (alice@mydomain.net, bob@gmail.com, charlie@gmail.com) and they can be completely separate email accounts, isolated from each other (even if bob and charlie are on the same GMail server), then you can still have three totally separate mail accounts in one mail client application and switch between those accounts and use them normally. This is instead of having three different mail client applications that each could have only one email account configured.

I am not sure if this is a hot demand for everybody in the world, but people that I know do use multiple accounts in Firefly III, so that they can have e.g. one private account for their personal money, and other accounts to track shared expenses with other people - in e.g. an organization they are part of, or if they have some small shared activity project that two or more people are participating in.

This is important to have it in your mobile app (Photuris III) because it can be more secure than using a mobile browser and it can have operations offline from a mobile phone. Because currently when there is no such multi-account feature in the Photuris III mobile app, then one has to login to Firefly III server from the mobile web browser to one account. And in order to quickly switch to another account in a mobile browser, one has to: 1) either use multiple mobile browsers (e.f. Firefox for one account, Brave for another, etc - where you have to trust each browser's manufacturer to login to your Firefly), 2) or stick to one browser but then logout and login to another account by entering password each time in the mobile keyboard or having the passwords remembered in the browser. This is not too safe, and convenient altogether. And anyway this mobile browser usage would need to be online, without offline functionality. Although perhaps offline access is not such an important issue, I think quick switching is most important here, so mobile app could help a lot).

I do not dare to ask you to implement this multi-account right now, but you can on your own think for how many users of your application this would be important. But people I know that use Firefly III will definitely wait patiently, hoping very much to see this multi-account feature implemented in your mobile app.

emansih commented 3 years ago

@tomasz-lasko Hello. Just an update on this issue. I am still working on this feature. If you look at dev branch, there is some early work on it.

emansih commented 2 years ago

Hello @tomasz-lasko . I can finally close this. This feature will be available in the next release. I am currently pushing a new build via Google Play.

tomasz-lasko commented 2 years ago

Thank @emansih you very much, looking forward to seeing this :) Actually I am using F-Droid repo for your app, but I guess it will be there in near future too :)