Q42/TrelloScrum — pull request #57 by SeanColombo (2013-08-14 23:01:15+00:00)
Title: Modified the code from pull-request 55 to integrate the changes that wer...

Main improvements:
* Single code-base will now work in both Chrome and Firefox.
* Made creation of DOM nodes slightly safer (no unescaped strings, uses more jQuery templating).
* Performance improvements: removed DOM modification listeners and replaced them with MutationObservers. More info here: https://developer.mozilla.org/en-US/docs/XUL/School_tutorial/Appendix_F:_Monitoring_DOM_changes?redirectlocale=en-US&redirectslug=XUL_School%2FAppendix_F%3A_Monitoring_DOM_changes - this isn't just important for performance: DOM-mod listeners are also deprecated & may stop working soon.
* Integrated optional Burndown Charts.
* Added debouncing of refreshList so that it never gets called too-frequently which could occasionally cause performance slowdowns.
* Made ListCard.refresh() debounced and more resilient to being called repeatedly (extra calls won't break the badges anymore).

Updates to this change, since Pull-Request 55 include:
* Pulling in all of master's changes (such as updating the cards immediately after the card-title is estimated).
* This also includes the regex fix from pull-request 56 since master is getting a little behind.
* Furthermore, this includes performance improvements to the MutationObserver usage from Pull-request 55 (CPU usage is now 0% in Chrome and pretty low in Firefox).

Useful tests:
* Editing the estimate or time-spent on a card will update the badges immediately, just as in the most recent version of master.
* After page is loaded, look at the tab's CPU usage (and/or Extension's CPU usage, depending on how you're testing it), it should hover around 0% when page isn't being used.
* Clicking the "Burndown Chart" button should open a Trello-style dialog with the option to connect via Trello API.