comment on detached block
Only poll the transaction log for webhooks when there are active hooks.

Also set min_processed_id more intelligently, and only fire hooks on messages
with received_date after the webhook's updated_at timestamp (so we don't fire
hooks when syncing old messages).
Check that webhook callback_url is https at registration time.

And return 400 from the API if it isn't. We still just have a
not-too-informative catch-all error message, but this is at least better than
accepting the webhook and later refusing to post to it.
Fix typo in previous commit.
Remove stray debugging code.
Bump crispin connection pool size.

I think we were using up all the connections now that we're syncing the
Trash/Spam/Inbox and All folders. This caused execution of
mailsync.backends.gmail.download_queued_threads to hang at line 347 when
getting a new crispin client, and lead to new messages not being processed
promptly by a running sync.

Since we need to revisit this pooling anyways (T29), simply bump the connection
pool size for now. Note that it can't be made arbitrarily large, or imaplib may
fail with 'too many simultaneous connections'.
Use our fork of requests, needed for EAS gunks error fix.
Sync runs, tests pass as before.
(Empty commit)
Use our fork of requests which implements a custom exception that wraps urllib3's MaxRetryError (previously wrapped by request's ConnectionError),
the custom exception is implemented as a subclass of request's ConnectionError so as to be compatible with any dependant code.

We do this so we can implement our own HTTP transport adapter to specify max_retries, delay interval between HTTP request retries
for EAS requests (see inbox-eas repo). This in turn is an attempt to fix an ActiveSyncException('Could not connect to EAS server') error on
the testing box.

Sync runs, tests pass as before.
truncate email_address instead of setting column collation
File-based config system

Summary:
The Python module thing with a command-line arg was nice, but broke with the various scripts and alembic.

These config files won't be changing often, so I feel OK putting them in a file on disk.

Obviously the hardcoded paths can in the future be pulled from environment variables or something, but this works for now and is important to move forward.

Test Plan: Tests pass. You need a test config

Reviewers: emfree

Reviewed By: emfree

Differential Revision: https://review.inboxapp.com/D177
Set content-type for webhooks post request.

Also add missing call to db_session.commit() on stopping a webhook.
Support for attachments in drafts

Summary: This adds support for attachments in drafts and sent messages. We pass around block_public_ids (externally known as file ids) until we create the MIME representation of the message. The function `gen_attachments` in inbox/server/sendmail/base.py converts a list of Block public_ids to a dicionary containing attachment metadata and the actual data as a bytestring.

Test Plan: Tests have been modified and pass

Reviewers: kav-ya, emfree

Reviewed By: emfree

CC: emfree

Differential Revision: https://review.inboxapp.com/D176
Update from Ubuntu 12.0.4 to 14.04 (Python 2.7.6)

New Python for great good!

How to update your VM:

sudo apt-get update
sudo apt-get install update-manager-core
sudo do-release-upgrade -d
sudo reboot

By default, Ubuntu LTS release won't offer to upgrade to the next LTS until the first point release has been made. So `do-release-upgrade` won't show anything until Ubuntu 14.04.1 is released, which is scheduled for July 24th. Hence the `-d` flag.


You can also just erase your existing VM and start over by running `vagrant destroy`.
Copy default config to /etc/inboxapp before setting up databases
Changes to support EAS drafts, sending too.
test_drafts, test_drafts_syncback pass again.
temporarily disable VMware fusion provider because we need a 14.04 box
Remove inbox.server module, moving everything up one level
revert back to 12.04 because trusty causes gevent to segfault :(
Filter on g_msgids in Python instead of sending huge list to MySQL

Closes #T53
git rebase config