Changelog

2017-09-22 (e8e24bf)

Fix JS error when editing / creating accounts

2017-09-22 (1a7606f)

Show subtotals for income and expenses in Income and Expenses by Category report

2017-09-13 (465e279)

Fixing some issues with currencyfield and large numbers

2017-09-12 (5eba9ea)

Fix some bugs with budget category, and add totals to average income and expenses report

2017-09-08 (ff01a7b)

Fix legend position on line charts

2017-09-08 (b8f36d2)

Fix bug where previous transaction was not auto populating fields

2017-09-08 (991cda5)

Added timeout logout after 15 min of inactivity

2017-09-08 (e20abd2)

Add average budgeted and difference columns to the new report

2017-09-07 (8190a52)

Added a new report type "Average Income and Expenses by Category"

2017-09-07 (b784480)

Deleted dedicated model classes in favour of inline fields for stores

2017-09-07 (40a74cc)

Fixed some issues where we were accessing .raw instead of .data (upgrade issue)

2017-09-06 (3d93467)

When backing up scheduled transactions, decrypt the name prior to exporting.

2017-09-06 (40567bc)

Working on charts. Charts seem to be working now. Scheduled transactions do not appear to be working; start looking at the editor, and then verify operation.

2017-04-10 (2859f02)

A bunch of updates to Ext JS 6.2.0. Charts don't work yet, but most everything else seems to (although more testing is definitely needed)

2014-08-29 (d0b7c4d)

Prevent backspace from going back in history

2014-08-21 (9aceaa6)

Fix percentage calculation bug in pie graphs

2014-08-21 (34aa59f)

Added option to turn off registration dialog

2014-04-19 (1bbd2f1)

Fixed bug preventing the modification of budget categories

2014-03-17 (fbcd909)

Updated to use new Moss Restlet library, to allow Callable key generator instead of cookie key which is read once at startup.

2014-03-16 (d13d06e)

Fixed bug which didn't show the proper from address on activation sent emails

2014-03-15 (9d2d801)

Fixed bug in Users.xml which prevented new registrations from being processed

2014-02-28 (407da83)

Split out activation keys into its own table, to better track activation key expiry. Fixed some bugs in registration and password reset. WARNING: if you apply this change to a production system, you will need to manually modify the database by either dropping all tables and re-creating automatically (and then restoring the data), or by manually changing the liquibase migration tables (databasechangelog) to only see the new change log IDs and MD5 hashes, and then remove the activation_key column from users table.

2014-02-28 (9eed7e4)

Upgrade moss restlet

2014-01-30 (c9b0852)

Re-adding shadow to login dialog, this time working on IE all the way back to 7, as well as modern browsers

2014-01-30 (b8d16a2)

changing skin on login form

2014-01-29 (465a3fc)

Fixed bug on scheduled transactions where the amount would not load properly

2014-01-29 (edc7486)

Changed colors on the chart icons to better match Buddi color scheme

2014-01-29 (bf9b7ec)

Completed i18n for Net Worth over Time and Account Balances over Time

2014-01-29 (9d2ed93)

Got net worth graph working properly.

2014-01-29 (aa78514)

Account Balances over Time is now more or less working properly.

2014-01-28 (570b22b)

Convert fonts in logo to paths

2014-01-28 (eb96b3b)

More work on balances report
Starting out as "Account balances over time"; this will later be expanded to 'net worth over time' as well.

2014-01-28 (3ed5d4f)

WIP for net worth over time report. GUI is more or less functional; need to write resource / DB access now.

2014-01-28 (7d21ed3)

When using Derby, if you connect without a db.url it will auto generate the database in the user's application data folder (~/.buddilive/derby on Linux, etc). Updated docs on how to run in standalone mode.

2014-01-28 (e77dd36)

Consolidate liquibase migrations into the original create statements. WARNING: if you apply this change to a production system, you will need to manually modify the database by either dropping all tables and re-creating automatically (and then restoring the data), or by manually changing the liquibase migration tables (databasechangelog) to only see the new change log IDs and MD5 hashes.

2014-01-27 (f6e9c7c)

Updated logo SVG source

2014-01-27 (51dd4d4)

Insert ads using https to avoid mixed content messages

2014-01-27 (428dbf7)

Fix position of header logo in IE7

2014-01-27 (d05b5e4)

Working on look and feel for login page and banner
Added SVG logo, with pinstripe + gradient background for login page and associated info pages (copyright, terms and conditions, encryption, etc). Added smaller version of logo in the main application on the right of the ad bar.

2014-01-25 (0a6dbc4)

Show date range in report title
Show the date range (either human readable 'This month', 'Last year', etc or the actual date range like '2013-04-01 - 2013-09-05' if they picked 'Other') in the title of the report.

2014-01-25 (3a110b3)

fix bug in date formatting
use the user specified date format for date fields

2014-01-25 (c6b16d7)

new users are at encryption level 2

2014-01-24 (21988d5)

Improve efficiency of categories resource by selecting all transactions in one go, rather than using separate queries for each iteration over categories.

2014-01-24 (eac0cc7)

Fix bugs in turnOnEncryption / turnOffEncryption

2014-01-24 (c6211cc)

Remove unused mappers

2014-01-24 (7ceed0a)

fix potential NPE bug by using the cryptoutil wrapper

2014-01-24 (b94eacd)

Improve efficiency in DataUpdater.updateBalances()

2014-01-24 (75a040d)

Remove from_balance and to_balance from scheduledsplits table (balances do not make sense for scheduled transactions). Fixed mapper to no longer update the removed columns

2014-01-24 (498fc7a)

Use (readonly) caching in certain mappers

2014-01-24 (3e145d0)

Fix NPE in crypto

2014-01-24 (73ec374)

Deleted some unused model objects

2014-01-24 (e38a0ce)

Upgrade moss restlet + crypto

2014-01-24 (75d3ac4)

Greatly improve the performance of Category.getAmount(), especially for large date ranges. Instead of selecting an entry for each category / each date, we select all entries for the requested date range and insert them into a map for lookup, and pass the map do recursive calls. This reduces the number of DB accesses from * to just . For a query covering 40 monthly categories over 8 years, for instance, this reduces the number of queries from 3840 to 40. Time-wise, the entire getAmount() operation is more efficient by an order of magnitude.

2014-01-24 (4d3747e)

Updated queries, reports, and resources to properly account for encrypted amounts. Fixed some bugs from the last commit (most notably that the data updater was not properly encrypting the new amounts on splits).

2014-01-24 (66e66c1)

Converting to encryption level 2: all amounts are now also encrypted. In this commit, we have adjusted the DB schema (varchars instead of numbers), changed the model objects, encrypt on CU and decrypt on D (of CRUD) operations, and implemented the upgrade from level 1 to 2. Next step will be to change queries to account for the encrypted values (notably, no summing of amounts in the DB anymore).

2014-01-20 (0ff67a8)

Figured out how to properly do AJAX changes to a tree node; budget updates are now handled without the need to refresh the entire tree.

2014-01-17 (2b37257)

More work on the Budget tree panel updates. I could not get this working using a purely AJAX approach (the saves are fine, but I can't seem to reload a single node in the tree properly). Reverting some of the previous changes, so that it works... I may still look at this in the future, if I can figure out how to load a single node in the tree.

2014-01-13 (3aa643e)

WIP to improve the budget editing to use AJAX techniques.
Work in progress of improving the budget editing to use AJAX techniques. Rather than reloading the entire tree, I should be reloading an individual node as it is edited / committed. I started this by adding support for it in the backend; the GUI is not there yet (and is actually currently broken completely).

2013-12-11 (2a17470)

Added the ability for users to completely delete their own account.

2013-12-11 (e7306e6)

Merge branch 'master' of ssh://digitalcave.ca/~/java/ca.digitalcave.buddilive

2013-12-10 (274ed28)

Do not include a default development config.properties file, but include a sample instead. Update application to display helpful error message if the config file could not be loaded.

2013-12-10 (4892d8c)

Fix bug in data updater which does not decrypt scheduled transaction messages prior to showing them

2013-12-10 (2cc40d9)

Updated sample config file DB url

2013-12-10 (6574e74)

Fixed bug in scheduled transactions, where editing a scheduled transaction would result in it being re-applied from the beginning.

2013-12-10 (cb6c7e2)

Remove moss.crypto and moss.restlet project links from eclipse

2013-12-08 (6783e98)

Remove the mybatis re-generation of sql session factory every time (for debugging purposes)

2013-12-05 (82fbbba)

Updated logging.properties to show access logs but not SQL logs

2013-12-05 (819ff31)

Added delete transaction confirmation dialog

2013-12-05 (1acfaf5)

Don't show all the SQL debug logs

2013-12-05 (5419dc3)

Changed the unique constraints on sources, transactions, and scheduled transaction UUIDs to include the user_id column as well. This way, users can save their data from one account and restore it to another without triggering a unique constraint violation.

2013-12-05 (70598d0)

Added a logging.properties file

2013-12-05 (8ee13e1)

UI and validation fixes to scheduled transactions

2013-12-05 (cbe2f56)

Change -> to → in i18n

2013-12-05 (20a04d1)

Code cleanup (js)

2013-12-05 (1d73dd9)

Add a warning message when loading a transaction which references deleted accounts / categories

2013-12-05 (ab4482d)

Fix bug where a category could be set such that it was its own grandpa

2013-12-05 (57ee195)

Removed obsolete TODO

2013-12-04 (52105f2)

Updated TODOs based on current status

2013-12-04 (64699a8)

Fixed all the i18n TODOs

2013-12-04 (3812fb0)

Code cleanup

2013-12-04 (bee4db4)

Use browser locale when user is not logged in

2013-12-04 (a309dec)

Adding checks if existing transactions are changing

2013-12-04 (1e0a7fd)

Adding more i18n

2013-12-04 (8990904)

Change i18n key for date validation

2013-12-04 (10a7168)

Upgraded rest let version

2013-12-04 (3fe7a07)

If the date is before 1 year ago or more than 1 month in the future, confirm that the user actually wants that date. (Rationale for this being that dates far away from today may be a typo).

2013-12-01 (b3edf2a)

Stream (sort of) the Description store. (The 'sort of' is because we need to post process the list of transactions into a description:transaction map, containing only the most recent of each transaction. This is done in memory, but we no longer construct another in-memory JSONObject containing all the values again).

2013-12-01 (40d8ab9)

Fix the DataUpdater.updateBalances() function to be much more efficient. Remove unused DB access from Transactions mapper.

2013-11-29 (d564e8a)

Fixed bug when loading a previous entry's amount when selecting a previous description

2013-11-29 (86d4d8a)

Fix bug in constraints checker which still encrypted values using the old v0 method rather than v1

2013-11-29 (0176770)

Lazy load the decrypted encryption keys, rather than doing it every time in the validator.

2013-11-29 (b5ae32a)

Upgrade to lastest moss libs

2013-11-28 (06facd9)

Refactoring isEncryptedValue() to be in ConstraintsChecker, as it is only used there.

2013-11-28 (8d41d2b)

Change the store URLs for public resources so that anyone can access them.

2013-11-28 (fc1c451)

Tons of somewhat related changes, to crypto and such: -Add user column 'encryption_version' to keep track of which version of encryption a given user is currently on. -Encryption version 1: Convert to key based encryption rather than password based encryption. When a user enables encryption, there is a new random secret key generated. This key is encoded, and encrypted using their login password. On each request, the key is decrypted and used for decrypting data. (Compare this to previous, version 0, encryption, where there was a random 128 bit password created for the user, which was encrypted with their own password. Security-wise this should be about the same, but creating a single key per request should speed things up). Added a DataUpdater method to convert from version 0 to 1. -Added a buddi_system table, with a cookie encryption key in it. On first execution, a random key is generated and stored. This key is used to encrypt cookies. On subsequent executions, the stored key is used (so server restarts will not invalidate cookies). Delete the entry in the table to invalidate all cookies (for instance if a DB breach was detected). Because of this, config property verifier.encryptionKey is no longer needed and has been deleted from sample config file.

2013-11-28 (d1ee8dc)

Fix routing bug introduced with new cookie auth system

2013-11-28 (8ee9520)

Fix bug with currency field when entering values greater than 999,999.99

2013-11-28 (b439cb1)

cleanup

2013-11-28 (6091a50)

Fix bug with backup URL

2013-11-27 (66fd2cb)

Fixed another bug where the arguments for encryption were backwards

2013-11-27 (061d583)

Fix to NPE

2013-11-27 (0691b40)

Fixed bug which destroyed encryption key when encrypting data

2013-11-27 (5fa5ad6)

Re-added new user messages

2013-11-27 (efea1df)

Removed invalid favicon

2013-11-27 (999acbf)

Working on changing password. Found a bug where enabling encryption (possibly after first disabling it) corrupts the encryption key.

2013-11-26 (0f8735f)

Preference changes: -Added 'change password' option on the menu -Added 'store email' preference in the preferences editor

2013-11-26 (63a5e5e)

Sort accounts and categories on (decrypted) name, rather than letting DB sort on encrypted name

2013-11-26 (82aec97)

More work on the Income and Expenses by Category report. -Added rowexpander with transaction data to show how the totals were calculated -Added totals row with sums for actual, budget, and difference.

2013-11-26 (2f94a78)

WIP to get Income and Expenses by Category report to work. Starting to get there...

2013-11-26 (83ccca8)

Switch to Sencha-hosted HTTPS CDN

2013-11-26 (a05e01e)

Code clean up for some tabs

2013-11-26 (182b5d1)

Change from loading scheduled transactions at index load to having an hourly executing job which checks for new scheduled transactions, and updates accordingly. This also gives us the option of having the user send their date, rather than relying on server time.

2013-11-26 (90b2d8e)

Upgrade crypto and restlet libs

2013-11-25 (ed37ebd)

Partial conversion from built in CryptoUtil to Moss Crypto. Some of the CryptoUtil stubs are still present, but they just delegate to Moss Crypto. Eventually we may add a Moss Crypto object to the application.

2013-11-22 (d2fe8e1)

WIP on new moss.restlet

2013-11-22 (6dbe472)

Use system date instead of user's date. This is wrong, but is better than throwing NPEs. We need to figure out a way to get the user's actual date… perhaps execute the data updater in an ajax call?

2013-11-22 (99c8b68)

Write the raw value ('amountNumber') to the splits as well as the formatted number string. This lets us properly fill in the editor.

2013-11-22 (370553a)

Upgrading moss.restlet

2013-11-20 (48ca19b)

Starting to integrate the /login router (WIP as we develop the moss.restlet implementation providing it)

2013-11-20 (a93149b)

Added password reset

2013-11-19 (d3242c5)

Working on converting auth to use the moss.restlet framework; getting closer, but still a WIP.

2013-11-19 (e18775c)

Upgrade jars

2013-11-19 (7eab9db)

Deleting all local ext / sencha touch components; use CDN from now on

2013-09-27 (8c79d46)

Fixed bug which had broken pie charts

2013-07-23 (f81ccdd)

(Temporarily) force the 'forceAll' flag when updating transaction balances, to ensure proper addition is performed.

2013-07-04 (0e3fecb)

WIP to fix totals bug. So far I have added a sql statement which clears all transaction balances after a given date; now I need to call it appropriately.

2013-07-03 (f0b1446)

Fixed a bug where an unencrypted empty string would cause a crypto exception when decrypting

2013-07-03 (29496ce)

Fixed bug where deleting a transaction would not refresh the list properly

2013-06-16 (729f592)

Updated build script to use proper names; removed standalone build option for the time being, as it is not used or working

2013-06-07 (90ecb18)

We now have a real SSL cert! Yay!

2013-06-07 (ee8019e)

Since Sencha is taking too long, we are now just serving our own CDN content from Apache… eventually we can change to Sencha's CDN if it ever adds 4.2.1.

2013-05-31 (036f0d4)

Adjust C3P0 validation settings

2013-05-30 (cd10948)

Fixed bug when there was an error sending email (copy / paste bug)

2013-05-29 (85eda2c)

Merge branch 'master' of ssh://digitalcave.ca/~/java/ca.digitalcave.buddi.live

2013-05-29 (949f984)

Hopefully fix a bug when reloading transaction lists sometimes.

2013-05-27 (800190d)

Added links to HTTPS version (self signed)

2013-05-27 (8f4b60e)

Fix bug which prevented new user signup after moving to proxy pass system

2013-05-22 (b4540a1)

Added an icon for the copy budget entries button, and improved the i18n description for this button.

2013-05-22 (d6e7902)

Use HTTPS for the CDN. Once the CDN is updated to include 4.2.1 we need to update this again.

2013-05-22 (ae0fc9b)

Updated to EXT 4.2.1. It appears that this is not yet on the CDN, so we can't deploy until it is there (or, alternatively, we re-add serving EXT from the web app itself, although I would prefer not to do this for efficiency reasons).

2013-05-22 (66b532e)

Added 'copy budget amount from last period' button

2013-05-17 (5e13f3f)

Working on the income / expenses by category. This is going to be a bar graph, with two series, showing actual and budgeted values. (Possibly add another series for difference? Or make it stacked bar, and have positive / negative differences as third and fourth series, in different colours?) Anyway, this is not completed yet, although the actual / budgeted values are now obtained from the DB (albeit in a very inefficient manner…)

2013-05-04 (62fd248)

Removed POST handler for pie report

2013-05-04 (15d1a8f)

Check for localhost in both IPV4 and IPV6 when adding new users

2013-05-04 (69d34d1)

WIP for Income and Expenses by Category report

2013-05-04 (7163a7b)

fixing indent

2013-04-23 (8e0502b)

Shutdown the datasource on application restart

2013-04-20 (86fe2af)

Added some TODOs for sanity checks

2013-04-20 (4f1dcd1)

Updated tooltips for delete / clear / record transactions. Clear now deselects transaction too.

2013-04-20 (0f4a6d7)

Changed 'record transaction' shortcut to Ctrl+Enter to prevent spurious entries.

2013-04-20 (fff6264)

Added a 'getting started' message.
Automatically displays on startup when there are no accounts, and can be accessed via System -> Getting Started. Describes how to import data from Buddi Desktop. Links to a tutorial, which is not yet populated.

2013-04-20 (a041678)

Added a 'doc' folder in WebContent, and moved encryption and terms and conditions there.

2013-04-20 (b8e4a5f)

Added a 'doc' folder in WebContent, and moved encryption and terms and conditions there.

2013-04-20 (e4c0550)

Added logic to try to figure out the right source assignments when loading from descriptions.
The objective here is twofold: 1) ensure that one of the sources for splits is always the selected source 2) if we override a source to set it to this one, that we preferentially try to keep budget categories (and lesser, credit accounts). This should allow people to load previous transactions by decription and not need to override the source assignment manually, even if there was a previous source last time.

2013-04-18 (de18abe)

Added a buddilive-test target, for deploying against my test server

2013-04-18 (418b049)

Scheduled Transaction message was not being encrypted, decrypted, or loaded properly.

2013-04-18 (20bbfac)

WIP change to automated Ext Date format generation from SimpleDateFormat string.

2013-04-18 (8cf1431)

Fix to DB mapper after date schema change

2013-04-18 (a26e899)

Handle server error by showing message instead of just silently failing

2013-04-18 (14f1bac)

Remove paging and filtering parameters from being sent to the server for stores which don't do paging.

2013-04-18 (3a3f8aa)

Re-add 'enter' key listeners on certain fields in transaction editor

2013-04-18 (e041a3e)

Move common transaction reloading code (clear, refresh, load) into a single method on transaction list itself, rather than duplicating it everywhere.

2013-04-18 (47a8c92)

Changed DB schema to rename transactions.date and entries.date (date is a reserved word in most DBs), and to add indices to certain fields (mostly the dates on transactions, since we order by them frequently)

2013-04-18 (88dcdd8)

Increased transaction store page size to 250. This seems to be a happy medium given reasonable bandwidth plus DB access speed

2013-04-17 (01c532a)

Refresh the from / to combo boxes when adding / deleting / updating accounts and categories

2013-04-17 (f78de7d)

Slight cleanup in transaction list

2013-04-17 (3e41b8c)

Fix to the issue where scrollbars are not reset when changing sources

2013-04-17 (7d85b5b)

Enabled streaming of transactions.json, and re-added paging (this time hopefully in such a way that it works)

2013-04-17 (c7eebfe)

Don't hide search bar if encrypted

2013-04-17 (37da165)

stripe rows in accounts / budgets

2013-04-17 (cc44d62)

Don't allow enter (to record) on to / from fields

2013-04-16 (e03acbc)

Increased DB connection timeout limit so that large restores can happen without error

2013-04-16 (7f55623)

Re-added a required i18n key

2013-04-16 (28d9546)

Merge branch 'master' of ssh://digitalcave.ca/~/java/ca.digitalcave.buddi.live

2013-04-16 (ea575fd)

Adding terms and conditions and encryption information pages

2013-04-16 (c2e210e)

Cleaning up translations

2013-04-16 (8850825)

Updated login page warning to be 'beta' instead of alpha, in preparation for public beta announcement

2013-04-16 (fedb5a4)

Implemented 'updateScheduledSplit' mapper, required for enabling / disabling encryption

2013-04-16 (d7c8324)

Set the filename of the backup download to include today's date

2013-04-16 (715685f)

Translated various untranslated strings in transaction / splits

2013-04-16 (7c10ee4)

Cleaning up the formatting code, and fixing some formatting bugs

2013-04-16 (bc01cce)

Added translations from Buddi desktop (not yet modified)

2013-04-16 (0f28744)

Merge branch 'master' of ssh://digitalcave.ca/~/java/ca.digitalcave.buddi.live

2013-04-16 (13c03a0)

Decrypt pie chart label

2013-04-16 (c7eda70)

Added legend to charts

2013-04-15 (11bc1b5)

Added scheduled transactions to backup.json packet

2013-04-15 (fcf45bb)

UI improvements for transaction entry
-Associate a source (the selected account) with an editor panel. This allows us to auto fill the other transaction if we select one of them -Improved filtering on from / to combos

2013-04-15 (4e52858)

Description can now be searched anywhere, not just at the beginning of the line

2013-04-15 (f481e65)

Bit of cleanup and i18n, and getting ready for usability tweaks on combo boxes

2013-04-12 (fba1a1b)

Code cleanup in indexresource

2013-04-12 (9d86547)

Removing more timezone code

2013-04-12 (ac19993)

Strip the challenge response out of the headers once we are authenticated, so user names do not get logged

2013-04-12 (062e13a)

Show currency codes, not localized symbols, in the currency selection list. Eventually we will show the localized names, but that will have to wait until we upgrade server to Java 7

2013-04-12 (f34d7b8)

Pass user's date through to the index page, so that scheduled transactions are relative to their date / timezone

2013-04-12 (997b118)

Tweaks to GenericStoreBackedComboBox, allowing extending classes better options to override.

2013-04-12 (b7f8ca0)

Added missing semicolon

2013-04-12 (726247f)

Fixed bug where hitting 'no' on the delete confirmation didn't work.

2013-04-12 (2ae1863)

Added support for restoring from a file upload.

2013-04-11 (d10496e)

Fixed bug on delete button enabling on transaction list

2013-04-11 (2fffca7)

Changed all amount fields in the DB from 14,2 to 16,4
This allows us to support currencies other than those with 2 fractional digits, as well as giving people more room to play with inflated currencies where 16 digits is not unheard of.

2013-04-11 (700c6ea)

Deleting timezone, show_cleared, show_reconcied from the DB & classes
We are going to use the browser time to calcualte time zones, and will not support reconciliation or clear checks for a while (at least). Keep the schema clean!

2013-04-11 (702a2b4)

Show error message on invalid login, and add mask while the invalid login timeout is waiting.

2013-04-11 (65d553f)

Hopefully fixed the Mybatis problems mapping datetimezones...

2013-04-11 (e8b8fe0)

Correctly pass through the currency and timezone to account creation

2013-04-11 (af47059)

Added comment to change currency names later

2013-04-11 (dd2730b)

Use JVM 6 method for currency name rather than JVM 7

2013-04-11 (318f488)

Prevent anyone other than localhost to POST to users.
POSTint to users resource is the backdoor to add a user account for testing / development. We don't want real servers to have this back door. Eventually we will remove this resource completely, but it is useful for now.

2013-04-11 (dfdbd12)

Fixed report SQL on Postgres

2013-04-11 (fa63060)

Many usability enhancements and GUI polishing changes
Fixed numerous minor bugs, including double-firing of record event for transaction editor, improved handling of transaction editor, and improved focus / selection on many controls when entering transactions. Also added help text (self documenting fields) for account creation and preferences.

2013-04-10 (5faa9e0)

Share a single instance of description store over the entire application, and reload the values on submit.

2013-04-10 (072bc29)

Complete re-work on locale and currency settings. We now use ISO codes, and support just about every locale / currency combination in the world. Users can override their locale's date format string if desired (and eventually may be able to override currency symbol, currency symbol position, decimal / thousands separator, etc). We also record time zone (will be used for scheduled transactions to ensure the transactions trigger on the right days).

2013-04-10 (a696369)

WIP for locale changes. We are hoping to get Java to do more of the heavy lifting for locales, date formatting, etc. Some things are working now, others are not… more work is needed.

2013-04-10 (fd8e7f8)

Now we use the Sencha CDN instead of hosting EXT JS directly ourselves. This should make the web server much more happy...

2013-04-10 (8cee977)

Decrypt backup before sending

2013-04-07 (e57bf84)

Upgraded Restlet to 2.0.15, and added support for Jackson (we will probably start using Jackson for backup, and possibly some of the other larger operations such as transactions.json)

2013-04-07 (eaa6d3d)

Removed untested IE warning message at login (since IE is working properly now, from what I can tell)

2013-04-07 (e7452a6)

Added GUI support for backup / restore. Backup implemented and working; restore is a NOP for now.

2013-04-07 (c8e846b)

Fixed bug in IE where budget trees was not working.

2013-04-07 (87f63ec)

Finished the interval dialog. When launching a report, you now can select the interval for that report to run under, including 'Other' where you are prompted for a start / end date.

2013-04-07 (ea7788e)

Fix bug with budget tree style

2013-04-07 (d1a735b)

All date fields now default the proper selected date format

2013-04-06 (bf06382)

More WIP on reports; most notably working on getting the intervals for a given report. Trying to make this easy to reuse for all reports as needed.

2013-04-06 (bcf0f76)

-Added a new widget, 'currencyfield'. This extends number, has i18n support for different comma / decimal formats, and parses currency symbol. -Working on the two pie charts

2013-04-06 (fe13158)

Split the currency symbol field into two in the DB: symbol and position (before / after). This cleans up the code a bit and allows for _ in currency symbol text.

2013-04-06 (3a73f53)

Two pie graphs are almost working.

2013-03-31 (bc394ba)

Getting ready for reports; added a dummy report with associated controllers, menus, icons, etc. Now just to add the actual report logic.

2013-03-31 (0aa309a)

Fixed scheduled transaction bug; update balances on index refresh now as well (we should verify whether this is required).

2013-03-31 (2427b26)

Disabled transaction list moving / hiding columns

2013-03-31 (0f72e6d)

Finished scheduled transaction editor. Something is still wrong with the data updater which applies the changes at login; working on that...

2013-03-31 (56703a7)

Added a last login column to see when the account has last been used. This can be useful for cleaning out old accounts if needed.

2013-03-26 (d3052e1)

More work on scheduled transactions. The list is now populated, and you can delete them from the list. When loading them to modify, most fields are now opened in the editor.

2013-03-26 (10b724d)

Don't allow tab to stop at the buttons in the self documenting field

2013-03-26 (0d524f6)

Improve transaction editor layout when used in the scheduled transaction dialog

2013-03-26 (c538e4c)

Include transaction validation for enabling the OK button when adding / editing a scheduled transaction

2013-03-26 (6e1e5d9)

Fallback to Cookie storage if local storage is not available in the browser.

2013-03-26 (129df2f)

More work on scheduled transaction editor GUI

2013-03-25 (af316c7)

Cleaning up view a little, and adding help buttons to account / category editors

2013-03-25 (a743547)

Added a delay on invalid usernames / passwords to slow down brute force attempts on the system. We gate the number of concurrent invalid username / password attempts so that you can't just parallelize the attack.

2013-03-25 (bd09aff)

Some (very little) work on scheduled transaction editor.

2013-03-25 (5f7b385)

Fixed typo when loading the verifier encryption key.

2013-03-25 (f04bed5)

Added a new 'self documenting field': a field group which includes a help button that can be used to explain what the field is used for.

2013-03-24 (ded160a)

Use 24 hour format for build timestamp

2013-03-24 (d631cff)

Some usability work on the budget window. Hopefully this makes things a bit more intuitive than it was previously...

2013-03-24 (0806f49)

Fixed sql session leak

2013-03-24 (ac91b3c)

Decrypt category names in parent resource

2013-03-24 (70f2f4a)

Some minor initial work on Scheduled Transaction editor GUI. Very preliminary… this is going to be a big job.

2013-03-24 (87a4f32)

Removed spurious line breaks from 'Currency format' label

2013-03-24 (91d27f7)

Added note about browser compatibility

2013-03-23 (0db9cc6)

Added DB support for scheduled transactions. We can now import from Buddi desktop, and (in theory) the schedules are updated at login (the code was lifted from Buddi desktop, so in theory it works, but it is as yet untested).

2013-03-23 (126e5ad)

Added build date / version to the login screen

2013-03-23 (aef9b5b)

Fixed trailing comma in tree store

2013-03-23 (9b79fbf)

Added built date / git version to login screen

2013-03-22 (438feb3)

Updated postgres docs

2013-03-22 (1ea67aa)

Added a config option 'verifier.encryptionKey' to allow you to set the cookie / nonce encryption key. Defaults to a random string (probably more secure, but will not persist over a server restart).

2013-03-22 (9c28cc1)

Working on build script and reorganizing resources to go in WEB-INF as appropriate.

2013-03-22 (b442e62)

Moved master.xml to WEB-INF folder

2013-03-22 (901cf5b)

Added PostgreSQL install instructions

2013-03-22 (5f1663b)

Styling login page, and added alpha-quality warning banner

2013-03-21 (ed00afa)

A bit more work on build script

2013-03-21 (366b90b)

Focus on username for login screen

2013-03-19 (99ff174)

Started work on making a deployable .war file.

2013-03-19 (8d143b4)

Use formatted dates for printing transaction dates

2013-03-19 (b330d8c)

Default date format to ISO

2013-03-19 (45a37af)

Fixed some minor bugs preventing PostgreSQL from being used as the primary DB

2013-03-17 (6c88ba4)

UI improvements to Viewport actions (add / edit / delete account and category). Added i18n descriptions for deletion, and mask on long running operations.

2013-03-17 (91b416a)

Mark delete buttons as undelete account / category when the source is already deleted.

2013-03-17 (246173f)

Coalesce nulls into zeros for the start balance / current balance for accounts (this especially affects new accounts with no transactions).

2013-03-17 (1d3156b)

Account type was not being properly decrypted.

2013-03-17 (e8ee186)

Usability improvements to account / category editors: start with name selected, and enable OK button on keypress as well as blur. Enter saves.

2013-03-17 (6674c5a)

Mask transaction editor on record

2013-03-17 (b805cbe)

Don't force update all balances on preference modification

2013-03-17 (3c92e3e)

Use user date format in transaction editor

2013-03-17 (13b3bfe)

Added the ability to type into the combo box to select records. Still not perfect (some bugs with selecting records), but much better than nothing.

2013-03-17 (26d483d)

Fixed encryption bug which corrupted the number field

2013-03-17 (a43e111)

Search now applies when you hit enter or on field blur. No more search button.

2013-03-17 (5ffee18)

Focus on the password field when you change encryption preferences

2013-03-17 (8c25325)

Reverted from paged store to loading everything at once. The packet sizes are small enough (especially when gzipped), and with EXT 4.2 the render speed is just about instantaneous, even with multiple thousand transactions. Paging caused various display bugs...

2013-03-17 (e5d09a5)

We now declare that the encrypted version of null is null.

2013-03-17 (7816579)

Focus on date field when store loads

2013-03-17 (7d1306c)

Ads for non-premium users

2013-03-17 (328ec40)

Updated transactions to be more consistent in the sorting. We now sort by two levels only: date, and split ID. This deviates from Buddi desktop, but I think it makes a bit more sense from a UI point of view.

2013-03-17 (4936e54)

Added a 'force' attribute to the balance calculator to recalculate all balances at certain times. For normal transaction adding, this is not needed; for new accounts / categories / preference changes, we do it (it is probably not required, but it is nice).

2013-03-16 (dec2d76)

-Enabled transaction search (only for non-encrypted users) -Changed transaction list to paged mode -Moved transaction list to descending order -Moved transaction editor to the top of the list

2013-03-16 (39ebebd)

Hide deleted categories

2013-03-16 (82d867f)

Decrypt account types in the sources combo boxes

2013-03-16 (e700f3a)

Numerous crypto bug fixes, UI improvements, and general goodness.

2013-03-16 (cad7709)

Just about a complete implementation of encryption. In the process I reworked the cryptoutil to support various iterations and salt lengths for the encryption, changed to base 64 encoding rather than base 16, simplified the API, etc.

2013-03-16 (3e159cd)

I think the formatting colours are now consistent with Buddi Desktop...

2013-03-15 (04153c2)

Added support for writing user preferences.

2013-03-15 (b4848ac)

Added boolean type handler to transactions 'deleted' flag

2013-03-15 (9a2ecea)

Added user preferences to DB, mappers, model objects, resources, and GUI.

2013-03-15 (a682f55)

Changing some i18n keys

2013-03-15 (1774854)

Merge branch 'master' of ssh://digitalcave.ca/~/java/ca.digitalcave.buddi.live

2013-03-15 (e6bff63)

Missing semicolon

2013-03-15 (f2e4f1c)

Improved formatting. Working on the UI feel for entering transactions; still not smooth enough for prime time.

2013-03-14 (dfc4762)

A bit of code cleanup

2013-03-14 (fb34530)

Upgraded to EXT JS 4.2, and added the buffered renderer plugin to the transaction list, which greatly speeds up rendering on large datasets.

2013-03-14 (4980b0e)

Changed budget periods to accordion layout

2013-03-14 (a5118b5)

header = false doesnt do what I want it to do anyway...

2013-03-14 (d5e5a24)

-Cleaning up GUI by reducing the toolbar count -Changing some of the icons

2013-03-14 (f79a442)

Mark certain select statements as "resultOrdered='true'", which is supposeed to help reduce memory when reading from the DB.

2013-03-14 (8415106)

Upgraded to Mybatis 3.2.1

2013-03-14 (a6d3c28)

Implemented nice looking transaction list renderer. It gets slow with many (multiple hundreds, approaching thousands) of transactions; I need to either look into paging, or find some way to speed things up

2013-03-13 (7b17fd8)

A bit of a different approach for transaction display listing… not sure if I will go this route or not yet.

2013-03-13 (fad6dbf)

commit changes before reverting

2013-03-13 (733a122)

SourceComboBox (now split into FromComboBox and ToComboBox) now use named stores. This reduces EXT chatter by only loading the store once, rather than every time it is refreshed.

2013-03-13 (091ae13)

Changed MassUpdater to BalanceUpdater

2013-03-13 (8d695f3)

Specify 1900-01-01 as a date

2013-03-12 (02ca911)

Started making custom renderer for transactions. Very basic at this point.

2013-03-12 (a967198)

Store running balances in splits, with the current total in account. This is updated whenever an insert / update occurs.

2013-03-12 (a570241)

A bit more work on creating new accounts.

2013-03-12 (33b791f)

Added clickable descriptions for store email, encrypt data, and terms and conditions on the create account page

2013-03-12 (62b4909)

Started work on recording balances at the split level. This should reduce the calculations required for most GUI operations.

2013-03-11 (346550f)

Moved transaction editor to the bottom of the screen again

2013-03-11 (fc3705d)

Added test files to help debug account balance addition problems

2013-03-11 (3b4f2bf)

-Send mail via the create user resource, so that we can confirm the email address is valid. -Renamed the resources/gui package to resources/buddilive (the matching mobile version will be resources/buddilive-m). -Found bug in the selectAccountTypes mapper, where the transactions are being counted multiple times and messing up the totals. I am unsure of how to resolve this without using CTEs or full outer joins (neither of which Derby supports, apparently).

2013-03-11 (59ee507)

-Changed login from being form based to being AJAX / JSON POST based. -Added @MapKey to a sources.xml mapper to generate a map of categories (used for looking up parents).

2013-03-11 (10f79f8)

Splitting up login page into multiple .js files for better maintenance

2013-03-11 (ac74a95)

More backup / restore sample scripts

2013-03-11 (f934972)

Further development on login / create account, and added logout button

2013-03-11 (9954e89)

Working on i18n, and starting to get the 'create users' logic working.

2013-03-11 (7eb2728)

Use safe decode in application error handler

2013-03-10 (ddd8caf)

All the architecture is ready for i18n. Started some of the translations. It is now just a matter of copying over the selected i18n keys from Buddi desktop and adding free marker lookups for the given keys.

2013-03-10 (66d7ee9)

Editable combo box for descriptions

2013-03-10 (e51685c)

removed need for ids from backup / restore; we now use UUIDs, and can handle partial imports where some items already exist.

2013-03-10 (deb8857)

removed need for ids from backup / restore; we now use UUIDs, and can handle partial imports where some items already exist.

2013-03-09 (d99105b)

Working on Description combo. Auto load values when selected.

2013-03-08 (88aad06)

I think the actual calculation SQL code is working now...

2013-03-08 (66f574c)

Use elements instead of when running update commands. Either seems to work, but is correct.

2013-03-08 (4d505fc)

Entering a blank value for budget amount gets parsed as a zero.

2013-03-08 (8cf8652)

Properly handle transaction updates

2013-03-08 (d062955)

Fixed incorrect on delete cascade declarations in liquibase config

2013-03-08 (53f873a)

Working further on selectCategories SQL to include the total amounts.

2013-03-08 (3553433)

Fixed bug on CategoryPeriod model object

2013-03-08 (103ee26)

Using fixed point decimal (DECIMAL(12,2)) for the DB, and BigDecimal for Java. This avoids all the decimal point conversion bugs when I try to handle it myself, and still handles decimals properly (unlike float data types).

2013-03-08 (61e37a3)

Improved alignment on split editor by adding a spacer to replace the add button.

2013-03-07 (105d315)

Started to show amount in budget. Not completely working yet, but getting close. Also there are some problems with decimal point inconsistencies (we need to ensure that everything between the server and web client uses 123.45 format, while internally everything else uses 12345 format.)

2013-03-07 (52df421)

WIP i18n framework for GUI

2013-03-06 (12386d7)

Fixed some minor bugs with budget entries.

2013-03-06 (7f40388)

Entries can now be added to the GUI, and a persisted + reloaded.

2013-03-06 (8350d08)

Slight refactoring of freemarker resource to work with HTML and JS files

2013-03-05 (8d6c001)

Sample of how to commit budget edits

2013-03-05 (2cadb25)

Renamed project to buddi live rather than buddi web. Adjusted project names and packages accordingly.

2013-03-05 (9ded001)

Added sencha touch framework. Added freemarker filtering on all content not otherwise matched by a router rule (will allow for i18n server-side). Added budget cell editor.

2013-03-05 (4c66872)

Proved concept of category periods in the DB

2013-03-04 (8e0c3b5)

WIP getting entries to work. Stealing some period logic from original Buddi.

2013-03-04 (3facff9)

More GUI restrictions on creating / modifying budget categories

2013-03-04 (d0b2c82)

A whole lot of work; mostly working on budget category GUI, but some GUI work was done with accounts and transactions as well.

2013-03-03 (7ea17a8)

Starting work on budget categories. Added entries table to the DB. Started work on the GUI layout as well.

2013-03-03 (b4ffac1)

More GUI work

2013-03-02 (d7fb04d)

Transaction loading and inserting is working. Updates are not quite there yet.

2013-03-02 (ca44590)

Loading transactions, including splits, is pretty much working now.

2013-03-01 (cff0430)

Started to add support for displaying transactions

2013-03-01 (d329d6c)

You can now add / remove split lines from the editor

2013-03-01 (0d02997)

Changed transaction editor icons

2013-03-01 (d094b34)

Arrow on splits

2013-03-01 (c5b27bd)

Cleanup and refactoring GUI

2013-02-28 (8a1d5c5)

WIP on transaction editor

2013-02-28 (222755b)

Accont Insert, Update, Delete, Undelete are all working server-side. The GUI is mostly working, although there are a few quirks still.

2013-02-28 (e0b973f)

The delete update worked, but reading back from the DB needs to go through a handler

2013-02-27 (febea29)

You can now add accounts from the GUI; editing and deleting are starting to come along, but are not quite there yet.

2013-02-27 (69ce16d)

Account balances should be working now

2013-02-27 (003938f)

Fixed mapping for transactions / splits hierarchy

2013-02-27 (365c41a)

Removed BD layer, in favour of constraints checking utility class. This gives me more control over DB transaction scope, etc. Transactions live at the resource level; there can be multiple mapper calls in a given transaction.

2013-02-27 (c062c50)

Renamed (incorrectly named) DAO to BusinessDelegates

2013-02-27 (57f7571)

Transaction adding is now working. Reading is not quite there (the collections mapping from transaction to split seems to be messing up MyBatis for some reason...)

2013-02-26 (acdbc98)

Starting EXT GUI for the main application.

2013-02-26 (9dd6a83)

Added DAOs to handle checks for invalid situations which could not be caught in Derby check constraints. Starting to work on transactions / splits.

2013-02-26 (1160e30)

Increased security of password / user hashes, plus added strong crypto for encrypted strings

2013-02-26 (0c0df03)

Moved the to / from JSON logic to the model objects; simplified the data resources

2013-02-25 (0778c02)

Tighter referential integrity of the DB; adding model objects for SQL select / insert; users GET / POST and sources GET / POST now work.

2013-02-25 (4ae0440)

Sources can now be submitted via HTTP POST. Further refactoring of DB tables.

2013-02-25 (818931f)

Changing DB table structure a bit...

2013-02-25 (a607c5e)

identifiers are now hashed in the DB; more work on DB schema; started work on get / post sources

2013-02-24 (22027c9)

Working on DB layer. Defining tables, writing mappers, etc.

2013-02-24 (824e87e)

Adding ext js 4 framework

2013-02-24 (ce356b4)

More work on verifier

2013-02-24 (873ef18)

WIP on verifier

2013-02-24 (6483db2)

Fixed .gitignore to not remove the db package from src folder

2013-02-23 (214a5f5)

Database schema migration is running from liquibase, and is ready to start table design.

2013-02-23 (58dd180)

Added instructions on creating Derby DB for standalone operation

2013-02-23 (1ecca60)

Working on test DB

2013-02-23 (d2ef5f6)

Initial config

Back to main page