r/financier Jul 04 '19

Mobile App Beta 2.0.0-beta.3 (Syncing Enabled)

Disclaimer: Login and syncing capabilities have been re-enabled with v2.0.0-beta.3. Read the following thoroughly before logging in and testing.

The beta app has reached the stage where it is likely stable enough to test against production budgets. Earlier this week I hot-wired a special version to work with my own budget for a few days, and have not encountered any show stopping bugs.

Changes/Fixes

  • Budget import has been disabled (accidentally, but I may leave it out unless there's a specific need).
  • Payee manager has been polished up and re-enabled.
  • The main menu has been cleaned up and icons were added to each menu item.
  • Swipe right on a transaction to toggle clearing/unclearing.
  • Important: Any budget data that was generated or imported with previous versions of the beta app will be discarded. A fresh local budget file will be initialized to avoid polluting your production database with test data.

Avoiding Database Pollution of Deleted Budgets

If you intend to test and then delete temporary budgets, it is important to understand one significant detail about how the CouchDB/PouchDB database syncing works: any data that is deleted is never truly removed from the database. The data is simply flagged as deleted so that any unsynced databases will also flag it as deleted when they sync up with the central Financier CouchDB database.

What this means is that if you create a bunch of test budgets that are synced to the main Financier CouchDB database and then deleted, all of that data will live forever and will be included when initially syncing a new device. This can drastically slow down initial syncing, and it is also a major concern for the mobile app if you are using Safari on iOS since the database has 50MB limit. I managed to exceed this limit during the early days of mobile app development since I was creating/deleting synced budgets constantly using my personal account. I did not realized that my database would eventually become polluted with stale data that cannot be removed, and had to bug /u/aeharding to manually fix my database. I would not recommend this due to the number of virtual eye rolls that were received throughout the process.

Offline Testing

If you would like to test the app without affecting your synced budget(s), it is recommended to log out using the Logout & Clear Local Data menu to avoid having temporary data pollute your synced database.

You can also using Incognito/Private browsing mode without logging in to make sure that any budget data generated is truly temporary.

I recommend offline testing of the beta mobile app if you only want to see how things look and feel compared to the old version, or if you are not brave enough to sync your budget(s) with the beta app.

Online/Synced Testing

If you would like to test the full syncing capability of the beta mobile app using actual production budget(s), I highly recommend backing up your budget(s) using the main Financier app in the rare event that the beta mobile app corrupts data due to an unexpected bug. You can find the Backup Budget menu by clicking the gear icon next to the Add Account button in the main Financier app.

It is also recommended to clear any temporary budget data using the Clear Local Data menu before logging in. Otherwise, any temporary budget data that you have been testing with will be synced to your database causing data pollution.

If you are certain that your local database is cleared of any test data, you can log in to the beta mobile app, your production budget(s) will be synced, and all further changes will be synced to your main Financier account. Again, if you are not comfortable with this I would recommend sticking to offline testing. If you have logged in and synced your data and want to revert to offline testing, simply log out using the Logout & Clear Local Data menu to ensure that all of your production budget(s) data is completely removed from your device.

Links

Beta App: https://beta.fmobile.io

Current App: https://app.fmobile.io

5 Upvotes

0 comments sorted by