Merge commit '6fd77c52a0e2a4d65502f9617a1ddf8c2c12a66c' into floorc_json
Squashed 'plugin/floo/common/' changes from 8568241..bbc7f48

bbc7f48 Python 3 compatible.
8f272f0 move new account popup txt to editor
5f3585c cleanup
48e8b74 fix all references to global editor
598d451 rearrange some logic in create or link.
9626fcf implement open file, use the host in question for linking
38676e1 hook up account creation/linking in emacs
f3db128 remove print
74deaae suggest a sane dir on join and make link work
d466ff4 Bump plugin version. Check floorc.json and migrate if it doesn't exist. Raise ValueError in api.prejoin_workspace if we don't have auth for that workspace URL.
aeb62e6 Merge python common. Fix conflicts.
98cc0cf More floorc.json fixes.
c8ffa8d Always disable account creation after a try. Increase empty read timeout to 3 seconds.
0248d97 Fix bug in link editor behavior when joining.
4cc87f6 Better linking editor. Detect outbound port blocking. Fixes #136.
313dc23 Only send basic auth if we have username and secret.
3efda06 Whoops. Some of these need to start with underscores. Also, never throw when killing off handlers.
7d464d5 fix first join regression
cffa15c Ask to link editor instead of choosing existing auths. Fix some prints.
3a79af6 Merge branch 'master' into floorc_json
a82f8d6 Kill debugging prints. Better behavior with adding subdirs or whole project dir.
7761f60 Fix add to workspace. Use total size instead of immediate dir size in ignores. Fix some annoyances where we were saving bufs to disk instead of saving the views if they existed.
a6b0c0e Merge common python. Fix conflicts (some patches were double-applied). Stop listener factory and log more stuff in reactor stop.
39f8feb Merge branch 'master' into floorc_json
2029f53 s/stalk/follow/g
530ed62 fix api host
168f237 Better phrasing. Write creds back to floorc.json if user chooses to use them.
9c7d51d Better auth picking. Have can_auth() take an optional host.
1cb86cb Start replacing G.USERNAME and G.DEFAULT_HOST all over the place. Fix hangout links.
43b491d Add host to api functions. Start passing auth around. Replace floorc with floorc json.
56692fd Use errno. Put load_floorc into migration.
4f07d83 Progress. Add utils.can_auth(). Start killing off G.USERNAME/G.SECRET/etc
95d254b Migrate floorc to floorc.json.
a583d80 Set it.
6d6d808 Fix crash
9c24e46 unused
ba29517 Ignores should always check from the root.
687816f pop up this dialog on room info.. maybe we don't want this in other editors
9355a2f need @utils.inlined_callbacks
db66209 oops
d099bab fix create workspace (no merge dialog)
467d646 progress
0d746bd Another Python3-ism.
9308958 Fix import.
ee95af7 fix excludes, don't stat 3 billion times
76a0ef7 Support exclude patterns in ignore files.
6922c0c Better ignore handling. Better stomp prompt.
8c08184 Cleanup some prints.
ebd095f progress
4211636 progress
91a4cdb missed import
03e9f4a use str_e everywhere
1440b13 add a real exception strer
2956bd2 Add str_e so we can print exceptions without raising exceptions. Also, random pyflakes cleanup.
1438dee fix stuff
069519d merge master
4e40844 Add floobits-debug command. Clean up handling of log level in python agent.
357c996 If expert mode is enabled, just show a status that the workspace is read-only.
6c2d1ff Possibly fix an exception with unicode stuff in python 2
447d08f add warn
bc6b06d stop uploading on stop
dfbabbb all initial uploads now go through the rate limiter
f22a776 remove debug
7f012ad Merge master. Fix message description in error logging.
b0ce88f fix uploading crashing (fields)
79b8871 added sync command and fixed initial_upload to not reupload everything
6a5efeb many fixes
6504d84 Merge commit '25c0cc884b8b2570b37086d60abb8d1c2e9df8c0' into new_stomp_ui
87e5162 progress
d2d6fa3 progress
eb25743 Merge branch 'master' into share-ignore-option
ecca2d2 Bump max workspace size to 100MB. Mega-bug fixes.
6ad1df0 Underscore-case. Remove last vestiges of on_room_info_waterfall
5b65be6 Minor cleanup. Make MAX_ERROR_REPORTS zero-based, not negative 1 based.
7f156c7 add to recent workspaces and some cleanup
076ddc8 comment
6c98225 cleanup
45c2f39 hook up ignore uploading option
79a6596 fix uploading crashing (fields)
11866fb on_view_load can exist but not have patch key
56ef311 Merge commit '3b144a3f469d3479009361dcdb78e2d77b340cb4' into new_stomp_ui
b9d131c Set a timeout on the user input because emacs doesn't always give us feedback
64fa263 Better prompt. Kill listener factory when stopping handler. Stop ticking if there are no protos or handlers left.

git-subtree-dir: plugin/floo/common
git-subtree-split: bbc7f483a13c82f15e915fa5e5bf5b278957cbcf
Merge commit 'a29b76f83849f96d3bb3c9ed2f5a9db10f943f8a' into floorc_json
Squashed 'plugin/floo/common/' changes from bbc7f48..006863c

006863c Change link editor to sign in. Add a TODO to override this message in editors other than sublime text.
0644804 Merge bug fixes from python common.
e1d33f1 backport delete workspace and take callback.  Fix bug in getting index (ints can be bigger than 1 digit)
35b9a24 UnboundLocalError
272d60b fix reactor select bug
d4c64a8 Always return a bool from utils.can_auth(). Sublime 3 require all WindowCommand.is_enabled() functions return bool.
dfab13c Change msg.error to editor.error_message if we try to connect to a nonexistent workspace.
161964b Fix URL in api.get_workspaces().
d04e321 Add delete workspace command.
e2342e8 Don't die if HTTP response is 204 (no content).
aa71089 Merge pull request #194 from Floobits/kans
d2ce522 Merge python common. Fix conflicts.
f1767ff Return if user cancels share dir. Print size of buf in bytes.
c616191 Don't use %s when formatting file names, since names can contain crazy unicode.
e28a4fd Merge port_block_abstract_ui, fix conflicts.
cbc6e60 copy-paste error
b41a8b4 move prejoin_workspace to UI out of API
9ea6b20 fix multiple selection and cleanup
d978039 legacy emacs urls and cleanup
5de0dca use save-excursion and widen where appropriate.  need a dir selection utility in the abstract ui
fa53e16 Unbreak sharing directories.
4c80f50 make agent needs a context.  Also, move more stuff into common
5496e27 Don't crash if buf is somehow not populated.
3434121 merge
4e2869a made a set_interval.  Unfortunately, when ST reloads, the previous instance keeps on going, but out of reach...
2b2b884 Merge python common. Fix conflicts.
5ed2b15 Cleanup. Show port blocked message if we're linking to not-floobits.com.
d107ab8 Add reset_retries. Call it on room_info.
81ea9ae Only use outbound filtering workaround for floobits.com
e8c1a99 No need to remove self from reactor protos. Emit stop when stopping. Don't throw if self.fd is None and reactor tries to read.
36a13db Better detection of outbound filtering. Don't reset connection error counters if in proxy mode.
36820b5 Don't die when the first argument to log is not a string.
b577736 Disable auto-account creation in constructor for account creation handler.
c3e62d9 Log tracebacks of file descriptor read/write exceptions when in debug mode.
4a6a215 Call connect instead of reconnect.
3b827f7 Try to work around blocked outbound ports.
567ab04 Try connecting to proxy.floobits.com on port 443 if we have issues connecting directly to floobits.com. Hacky, but it works.
508aae2 Merge pull request #190 from Floobits/abstract-ui
0c95796 change name prompt
f497d04 better UI
65446b1 remove unused comments
d791376 bugs
a0549fe clean up dialogs and fix perms
11efef2 can create workspaces again
7325537 interface problems
c1ec2f3 interface
5732dea Merge commit '90ebbd85ba8189a1e00d89da076355516459ad6f'
4b6bf5c really fix startup for st2
4ce847b Fix imports for Python 3
4ca3d4d resurrect the modal for st. other editors can set expert_mode for now
9d928e6 fix st2 stupidity with no windows existing
a3ada07 merge master
84c636a Replace string interpolation with *args. This should fix many unicode errors when trying to log stuff.
db81bfa Merge commit '185bef543e10c79340d8f97ebc5a511f235a725b'
60cd127 Handle case where buf has become unpopulated since on_load callback was set.
8825e1f fixed workspace windowing
b362885 more cleanup
137c968 cleanup join workspace interface
7a02d93 sharedir implemented
0be0dbb join workspace implemented and used
d36c82a sublime breaks up choices into big/small txt
4e341c3 start of shared ui
5183687 Merge python common. Fix conflicts.
e7460e7 Fix #186. Also fix a bug when uploading changed binary files. Also, use upload rate limiting.

git-subtree-dir: plugin/floo/common
git-subtree-split: 006863ceb8bc07b7659ecdff23782729c74772f3
Fix floobits_check_credentials
Merge commit '298e6cce49d5251079f95a7b780f4e90a1ac5db9' into floorc_json
Squashed 'plugin/floo/common/' changes from 006863c..f7ad5d9

f7ad5d9 Don't generate p_path unless we're going to need it. Do the cheaper comparison first.
61a5928 Fix horrible bug where get_children was returning tons of duplicate children. Don't append to the list you're iterating over.

git-subtree-dir: plugin/floo/common
git-subtree-split: f7ad5d94143fcfe75315706c6415fc432b6b7daa
Merge commit '5615cffff75b4052ebb2351b55d503c85fe47973' into floorc_json
Squashed 'plugin/floo/common/' changes from f7ad5d9..9da7bd0

9da7bd0 Work around horrible Sublime Text 3 bug on OS X. Fixes #201.

git-subtree-dir: plugin/floo/common
git-subtree-split: 9da7bd06364cd317dcfe123d0c21a87c332d990f
Merge commit '5a031ea12f221e308c2ed8680107558f66169259' into floorc_json
Squashed 'plugin/floo/common/' changes from 9da7bd0..39819ce

39819ce Use a join_action instead of a hodge-podge of kwargs and implicit things.
5726dc5 Tired of pep8 and pyflakes complaining for these files. Fix them.
8edb4fb Don't show stomp prompt if we just created an empty directory to sync to.

git-subtree-dir: plugin/floo/common
git-subtree-split: 39819ce7e528795901c60d89e0a980635eb128e7
Start of Vim UI stuff. Totally not working.
Squashed 'plugin/floo/common/' changes from 39819ce..808933b

808933b Don't send None.
f88dfa0 Add req_id/res_id support.
170da1d Don't md5sum twice. Mention if there was an error calculating checksums for a buffer. Add more logging to on_patch.

git-subtree-dir: plugin/floo/common
git-subtree-split: 808933b759228cbc74f4ded2b695d5a3ba925124
Merge commit '5c2215efcdde53bd0c638a020df524b2e0abd1c2' into floorc_json
Update doc to mention floorc.json
Progress. Move more stuff into vui.py. Join workspace almost actually works now.
s/STALKER_MODE/FOLLOW_MODE/g
Fix stomp prompt and reactor.stop()
Call feedkeys correctly.
Remove lots of old code for share_dir and create_workspace.