prevent some session deadlock errors.
* Fixed some bugs with the new auto-resizing toolbar:
* In IE 6/7, when you click on a formatting button such as italics, it
doesn't visibly depress, because update_toolbar() is causing it to
unpress until you start typing the italic text. Fixed by only calling
update_toolbar() in focused_editor() if focused_editor is null.
* When downing or upping a toolbar button, now calling
resize_toolbar_button() unconditionally.
* new toolbar button for attaching a file
* button opens new Upload_pulldown() for uploading a file
* began controller.Notebooks.upload_file() to process the upload
* Modified Wiki.js to include invite_id parameter when necessary.
* Increased storage quota (and price) for premium rate plan.
* Added a note displayed when redeeming an invite, with links to signup and login.
* Fixed Invite.sql_update() to have SQL params in proper order.
* Fixed bug where email addresses containing "-" were considered invalid.
* Made UI for inviting other people to your notebook.
* Tweaked the rate plans and added a new one.
* Each model.User now has a current storage bytes and a rate plan.
* model.User.to_dict() updated accordingly.
* Minor Scheduler.add() change to bail of the given thread is None.
* controller.Users.current() returns current user's rate plan details.
* controller.Users.update_storage() now takes an optional callback.
* Various methods in controller.Notebooks responsible for calling controller.Users.update_storage().
* Added rate plan details to config/Common.py.
* Added quota utilization colors to style.css.
* Implemented quota utilization calculation and display in Wiki.js.
Still to-do: Return updated storage bytes where appropriate in controller.Notebook and update the
client accordingly.
request simply didn't work. Apache doesn't forward that information. So
instead, I'm now using a hacky work-around that looks at the proxy IP to
determine whether it was an http or https request.
Still need to fix unit tests for this.
* changed controller.Users and controller.Root constructor arguments to support this.
* Updated INSTALL document accordingly.
* Client now will prepend this new http_url variable to the logout link.
* both tools/initdb.py and tools/updatedb.py set link ids appropriately, rather than just leaving them all as "new"
* both tools/initdb.py and tools/updatedb.py set certain links to use https if configured as such in config/Common.py
* tools/initdb.py no longer creates a default "witten" user
* Added target="_top" to links that should replace the top-level window, and updated client code to ignore links with targets.
* Removed form_base_url from Editor.js, as https URL is now tacked on by initdb.py/updatedb.py instead.