Jessica McKellar
37968bc9c7
If necessary, scroll to avoid occluding the message to which you are replying.
...
(imported from commit adf23d647a3d462d6236d8f1039da89a31b782d5)
2012-11-30 14:32:41 -05:00
Jeff Arnold
b52dbe1ca9
Auto-invoke "Load older messages" when at the top of the page
...
Resolves Trac #445
(imported from commit d7d96fe82e9e1cbef32e0dde284ce217e83aff55)
2012-11-29 14:18:38 -05:00
Tim Abbott
aba2192ec2
Restore the time-travel functionality with Waseem's UI.
...
This restores the time-travel functionality and fixes Waseem's laundry
list of problems with its original UI.
(imported from commit e30e02c25af994435adb815d26284b3669c945a4)
2012-11-28 22:26:31 -05:00
Zev Benjamin
9edea3454a
inject-messages: use new send_message API
...
(imported from commit a0ea83fcd1944d06d8b0d9e6bed49a33901b20fe)
2012-11-27 16:08:54 -05:00
Jeff Arnold
2f882b505a
Show "how many messages have arrived while away" in the document title
...
(imported from commit 6e2a18be9953694048d107a56a03a67f8bc2bd5a)
2012-11-27 13:39:46 -05:00
Keegan McAllister
41e43cb707
Flush memcached on every deploy
...
This uses pylibmc, the same memcached client library we use from Django. If
that becomes a problem for whatever reason, all we really need to do is send
"flush_all\n" to TCP port 11211 on localhost.
(imported from commit 0b9736bd31b0549b5dabd4b735706351635a9cf2)
2012-11-26 16:59:37 -05:00
Jeff Arnold
4cb0c6225e
Add webkit desktop notifications
...
Partially addresses Trac #31
(imported from commit f1f04b5c50bf9f33b69c90926fd67015cd2dc219)
2012-11-26 14:43:55 -05:00
Tim Abbott
c86fd609e2
Add tool to build an API tarball for distribution.
...
(imported from commit eeaf9f526f243cc628eede603fe1b1691c34977f)
2012-11-26 12:25:39 -05:00
Tim Abbott
7314c12527
api: Read the API key from ~/.humbug-api-key by default.
...
(imported from commit 309469a0955969eafd78fbdf89d9651cb530010d)
2012-11-26 12:25:38 -05:00
Tim Abbott
14494d6a1f
Add "time travel" feature.
...
(imported from commit b7b6794ad635ec63269a2043cd48b02749fbffda)
2012-11-20 17:17:39 -05:00
Zev Benjamin
90e0fc6259
Module pattern for ui.js
...
(imported from commit 951984ec1006e93a0ffc7e299b52fa02c10eb976)
2012-11-19 23:31:22 -05:00
Zev Benjamin
da6cc30134
Add abstraction for manipulating userinfo popovers
...
(imported from commit 155302f103cfef8475482339596eafc594467532)
2012-11-19 23:22:50 -05:00
Jeff Arnold
9ce4c103c0
Implement full history search by creating a narrow for a search term
...
(imported from commit 3f2df6a6e590458ff774bbd658bbd1d95076a4db)
2012-11-19 17:12:59 -05:00
Waseem Daher
f214c2df75
Lay the groundwork for a "typeahead helper" module.
...
(imported from commit 0b73238e935fac7c13d7152b262d3e71a714f3ea)
2012-11-18 19:41:03 -05:00
Keegan McAllister
08a43f2f5c
Add a tool to run all the test suites
...
(imported from commit 073f3f0595669ce7c2cc9334e7318bc2856e1e8e)
2012-11-16 15:33:38 -05:00
Keegan McAllister
88a76518ec
run-dev: Print traceback on exception
...
We can't rely on the builtin exception printing, because killpg will kill the
process before that happens.
(imported from commit e7db6a39e0549e21653b4a705d2278eb3dc7b2d4)
2012-11-16 15:33:37 -05:00
Keegan McAllister
5d8b66bf33
run-dev: Don't leak servers when we fail to bind to the proxy port
...
(imported from commit da7cd1f62f3d073bdae6fe72e71f4127931f4d57)
2012-11-16 15:33:37 -05:00
Tim Abbott
b8f65fb8aa
review: Fix review with new to: sending.
...
(imported from commit 67f588afbc6ec6556d31827c8c9495fbaa59fadf)
2012-11-15 16:27:05 -05:00
Tim Abbott
411a7f6b4f
[manual] send_message: Rename recipient/stream fields to 'to'.
...
This commit changes APIs and requires and update of all zephyr
mirroring bots to deploy properly.
(imported from commit 2672d2d07269379f7a865644aaeb6796d54183e1)
2012-11-15 15:30:06 -05:00
Waseem Daher
a1c4aa6865
Modularize search.js.
...
(imported from commit 72f00f832846124d833071fdd46b026c99189512)
2012-11-14 15:29:18 -05:00
Keegan McAllister
122281553a
Make csrf_token global
...
(imported from commit 734d9c886c3a77d2ba40bd449cb089a00807a656)
2012-11-14 13:35:24 -05:00
Zev Benjamin
796869863c
review: fix for send_message API change
...
(imported from commit 2a171dc298449e2dacc2f8250e81577741122464)
2012-11-13 16:09:43 -05:00
Zev Benjamin
195bdb07c9
Unify huddles and personals into private messages on the send path
...
Personals are now just private messages between two people (which
sometimes manifests as a private message with one recipient). The
new message type on the send path is 'private'. Note that the receive
path still has 'personal' and 'huddle' message types.
(imported from commit 97a438ef5c0b3db4eb3e6db674ea38a081265dd3)
2012-11-13 15:40:53 -05:00
Zev Benjamin
33c23c0113
Use a JSON array for recipients in send_message
...
(imported from commit e2184f92b708cc2e8ef3e9ae79ee4241c0aa12a1)
2012-11-13 15:40:53 -05:00
Keegan McAllister
eee951440d
run-dev: Use a process group to kill all spawned processes
...
(imported from commit 9dfddd4d9cb45c70139a167b7949bd5c4fc2791a)
2012-11-13 10:59:02 -05:00
Keegan McAllister
ed490c672f
Allow running the dev server with the test database, on different ports
...
For use by frontend tests.
(imported from commit c8f81b862963f00e5b5517ba05b2d1adcab6d78a)
2012-11-13 10:59:02 -05:00
Jeff Arnold
5c7419307c
Fix style mistakes we didn't catch the first time
...
(imported from commit ae1ca10ea8559702e4e73481715239ff456eca4b)
2012-11-11 13:24:44 -05:00
Tim Abbott
b01407bd75
Move push notifications to a consistent subject.
...
(imported from commit 3b4acb39bbf564625e3c009f4f875da596a7a7ac)
2012-11-09 16:56:13 -05:00
Jessica McKellar
3af5e246be
Don't cache your personal gravatar across gravatar updates.
...
(imported from commit 06f82faaa350db8a64cebef24b738b5e93bebb98)
2012-11-09 12:44:09 -05:00
Tim Abbott
97ce892e8d
post-receive: Send via the staging server.
...
(imported from commit a876c7990219b1f317ae39aeeee48b98c5ec941c)
2012-11-08 12:55:57 -05:00
Jessica McKellar
a2c6975ca2
Be case-insensitive about subjects when collapsing and narrowing.
...
(imported from commit 0baf20179c037c3eac82d8db20c6ec8062bb136a)
2012-11-07 14:51:51 -05:00
Jessica McKellar
ed50c17582
check-all: add missing message mouseover globals.
...
(imported from commit c04770de18940bfff24598392c08f0ed1cec76d7)
2012-11-07 11:19:47 -05:00
Tim Abbott
9b8e5bc93f
Bots: Send messages through staging.humbughq.com.
...
(imported from commit d9859bfe5f5b3b7c5efa5ef930d6cfaa5c0d1fc2)
2012-11-06 16:59:28 -05:00
Zev Benjamin
114339dc2a
Remove some no-longer-extant globals in check-all.js
...
(imported from commit f83e19c891d438ed8a2ddd0e2849cd543562631b)
2012-11-06 16:40:52 -05:00
Zev Benjamin
c7f2a29db4
inject-messages: occationally show how many messages have been sent
...
(imported from commit 98f59c252cf8a47ffa8320dd18a74fd46e90054f)
2012-11-06 16:40:52 -05:00
Jessica McKellar
4cad5f6e96
settings: Update name and gravatar without a reload.
...
(imported from commit 961c9f64d7c39b4345ece036062854e8d474d2c0)
2012-11-06 16:33:22 -05:00
Keegan McAllister
47e2f01f40
clean-branches: Print the abbrev SHA for of each deleted ref
...
This should make it somewhat easier to recover from accidents.
(imported from commit cf7650342a4f525ffb16e77850b6e451961831b1)
2012-11-06 15:45:24 -05:00
Keegan McAllister
207ca2f351
Add a tool to delete branches which have been merged to origin/master
...
(imported from commit 5fd2449126eb3f0df57af0472a14f6c94aaaac75)
2012-11-06 15:45:24 -05:00
Tim Abbott
33b9a9e8b4
post-receive: Add support for deploying to staging server.
...
After this commit, we're tracking two branches: "master" and "prod".
Pushed to "prod" deploy to production, while pushes to "master" deploy
to the staging server.
(imported from commit 6ce429a1d6f606fb6136341dc393d93fd1228a21)
2012-11-06 14:12:18 -05:00
Tim Abbott
5e92cabb96
review: Send a humbug along with review requests.
...
I think it might be nice to have it also specify some information
about the new review request, but I think we benefit a lot from
getting this minimal version out the door.
(imported from commit cb04c72ee125763cff2d83a6afad3f5319d8ebc6)
2012-11-05 18:39:02 -05:00
Tim Abbott
a9da4d2a72
review: Use a function to compute current user.
...
(imported from commit 9647650fad4015beb991983e06086ffb05f95180)
2012-11-05 18:39:02 -05:00
Luke Faraone
8a4f192c52
Implement USE_SENDMAIL env var to use sendmail instead of msmtp.
...
(imported from commit 5cff3ed87bf6b9ccdc886b797b60a677bd1ecee9)
2012-11-02 16:43:12 -04:00
Keegan McAllister
1b54e41eb6
Document procedure for deploying changes to post-receive
...
(imported from commit 1207f02f74fe45581ea166234fa08e554f89722b)
2012-11-02 14:57:38 -04:00
Keegan McAllister
b88f9b02d7
do-schema-change: Add comment about collation order consequences
...
(imported from commit 19dc226e3af3ab6e6b17a35414617f2948d6de34)
2012-11-02 14:57:37 -04:00
Jessica McKellar
c1cc9f0742
Don't re-focus on the search box after ending the search.
...
(imported from commit 35bffb245ad9dc58b394a1c5228b32db4830f2bd)
2012-11-02 11:04:16 -04:00
Waseem Daher
69b534c0ba
Move composebox typeahead code into its own module.
...
This also cleans up the autocomplete source specifications,
making the three typeaheads all look fairly consistent.
(imported from commit e72655d715db74cfc9ab45b51e7e2ff9e8ea84c5)
2012-11-01 21:56:33 -04:00
Zev Benjamin
a11cde077e
Add tool for injecting large numbers of messages into site for testing
...
(imported from commit 44643cc95cd0e66d91fcc1ea576379f5de76ac67)
2012-10-31 17:18:50 -04:00
Keegan McAllister
1b316023af
Add example msmtprc
...
(imported from commit 8fd934f6439b92c0b86e9db3bb56fdbab3e60a14)
2012-10-30 15:40:10 -04:00
Keegan McAllister
8c238f252c
review: Send mail using msmtp
...
(imported from commit 7cf60baeb846df9a8c15500a6d14713aec45fc8c)
2012-10-30 15:40:10 -04:00
Keegan McAllister
5788c4c280
review: Update for python-git 0.3 instead of 0.1 (?)
...
(imported from commit 3e90459bfcf5dbd2f209836bff1a2ad9038f50bb)
2012-10-30 15:40:10 -04:00
Keegan McAllister
d8b8e396a6
review: Customize for humbughq.com
...
(imported from commit f757954077f287a9d3092a7a5a475fd5c0c12a2f)
2012-10-30 15:40:10 -04:00
Keegan McAllister
26115c8232
review: Fix trailing whitespace
...
(imported from commit 6161f378913d3a939655dd903f7fe634e2b170f5)
2012-10-30 15:40:10 -04:00
Keegan McAllister
a7fbb1c15f
Import Ksplice code review script
...
From https://github.com/ksplice/code-review
(imported from commit ff6ca29832749ab8f2f6434eb64395a239031f1c)
2012-10-30 15:40:10 -04:00
Zev Benjamin
696a04743a
Factor reload-related functionality into reload.js module
...
(imported from commit ef533f3416e8b406a03d28f67b45ca59523cef8e)
2012-10-29 17:38:44 -04:00
Waseem Daher
3c3877f1b5
Have Esc dismiss userinfo popover.
...
It's possible that the three places we can kill a popover
(body click, Esc, clicking on a new one) should be
refactored to use the same code.
(imported from commit ba7eab480fd2258abfb469c8f1155f29bc63f7f6)
2012-10-29 15:49:40 -04:00
Zev Benjamin
cee3f87585
Use compose.finish() instead of manually calling ajaxSubmit() in multiple places
...
(imported from commit 3bbe4a03171d9eace413b576ae2c7ccf99141bf1)
2012-10-29 13:58:40 -04:00
Keegan McAllister
4c0d6eef00
print-all: Provide empty stdin to latex
...
_out takes a filename but _in takes the input itself.
(imported from commit dee2a1cc920ea3526045146c4e738ca44c38fb47)
2012-10-28 15:20:05 -04:00
Keegan McAllister
6ab646cd53
post-receive: Deploy to the new server
...
Eventually this should go to the staging server, and we'll have a separate
process to migrate changes from there to production.
(imported from commit 2a712758844524fdf2f23f798baf6b607d056b9a)
2012-10-27 11:39:03 -04:00
Keegan McAllister
582cb799dd
Get rid of the selected_message_class global
...
Instead we infer this from narrow.active(), with the ability to override during
the narrowing procedure.
(imported from commit fab9c6861f19aedf0ee8af094c1ef4e8a0a73d80)
2012-10-26 21:05:04 -04:00
Keegan McAllister
465bbf5614
print-all: Fix incorrect progress output
...
(imported from commit 266b9da0a4aee094c2df6502766ff06c2a967a2d)
2012-10-26 17:52:47 -04:00
Keegan McAllister
b0d669aa03
print-all: Use psnup rather than pdfnup
...
Our printer strongly dislikes the pdfnup output.
(imported from commit 0539def995191143365ed1e62f1fbf6ec572627e)
2012-10-26 17:49:38 -04:00
Jessica McKellar
92593b7cc8
Add basic up/down search functionality, including across narrows.
...
(imported from commit c82acad95e97733b87d65287c685caf7533a774e)
2012-10-26 14:31:05 -04:00
Keegan McAllister
3f9cf64eba
Add a tool to print out the entire codebase (!) as a PDF
...
(imported from commit 51199eb81735137a66a2e441d0392b142ce197d0)
2012-10-26 13:59:34 -04:00
Zev Benjamin
967acc763c
Make output of check-all red
...
(imported from commit d0a9c4ee6aeea116ecccdabd7dc5f08d1fd50d2f)
2012-10-25 15:55:58 -04:00
Tim Abbott
6f1f2a15a1
tools/check-all: Optimize computing the list of Python files.
...
For reasons I don't totally understand, the previous code took like 2
seconds to compute the list of Python files.
(imported from commit 23668e7d79f1d69e1225389be7d8c8a3fbb6fad1)
2012-10-25 15:06:47 -04:00
Keegan McAllister
a01d641b2a
check-all: Look for any shebang containing 'python'
...
Such as #!/usr/bin/env python
(imported from commit bc3ebdb3bafc9a6256a32c435a52717559bce82b)
2012-10-25 14:53:15 -04:00
Tim Abbott
7976262ed8
check-all: Detect non-.py Python files by #! line, not a whitelist.
...
(imported from commit e36ad2fd66688092ed0c81b479b9ff81952751fa)
2012-10-25 13:53:34 -04:00
Zev Benjamin
bb64eb717f
Make select_message and friends take an options argument
...
The select_and_show_by_id function is now subsumed by select_message_by_id.
(imported from commit 3dbe9cf9d253b64733f269b6dc78c144100927ca)
2012-10-22 16:06:38 -04:00
Keegan McAllister
ae7c4b302b
Add a bot to send yourself reminders of Google Calendar events
...
Run ./api/gcal-bot with no arguments for usage information.
(imported from commit cdc160aeffc16f54072b64370868aca3acc6ad67)
2012-10-21 18:21:12 -04:00
Keegan McAllister
f619c765e7
check-all: Check some Python files whose names don't end in .py
...
(imported from commit ddcc80f02fd0436e08181d3c08f4de6974d3a59a)
2012-10-19 21:00:05 -04:00
Keegan McAllister
d9195cd189
update-deployment: Fix undefined name
...
(imported from commit 3b9ffea14b1e643dd2dacf1212f9f2fbd9e2f33e)
2012-10-19 20:51:56 -04:00
Zev Benjamin
88e09c6166
Only reload the page when the user is idle
...
Also, clean up reload-related function names a bit
(imported from commit 4c2e17c06d7567e71b92f6e1b04a44aeff419bff)
2012-10-19 15:53:05 -04:00
Keegan McAllister
f109d23bba
Restart runtornado on deploy, as well
...
We need this for client auto-reload on static file changes, because the server
generation comes from get_updates.
(imported from commit c5e97421883383c12891fdcb177d0f6fda4b4857)
2012-10-18 16:50:01 -04:00
Keegan McAllister
95f8eea14b
Module pattern for subs.js
...
(imported from commit adfe466ea892fbfe5f13a5f346e4fd00f194c42a)
2012-10-18 15:46:58 -04:00
Keegan McAllister
2a2c0187c5
Rename subscribe.js -> subs.js
...
(imported from commit c3ce92e31916548206ad5752da8911f22d23f106)
2012-10-18 15:42:08 -04:00
Keegan McAllister
eb9140a0a2
Pseudo-module pattern for rows.js
...
It's actually simpler than a full module, due to lack of local state or functions.
(imported from commit b9180f1cdc26aed3f2e1f35dfae9ed4240b64446)
2012-10-18 15:11:25 -04:00
Keegan McAllister
01061e95e0
Rename dom_access -> rows
...
(imported from commit 66f6f88cf15f5be614440b826433d5c1cfd6803e)
2012-10-18 15:11:25 -04:00
Keegan McAllister
e7661f7b2f
Module pattern for compose.js
...
(imported from commit 8ea9d949b793285e8722bebcef30991d06e5673e)
2012-10-18 15:11:25 -04:00
Keegan McAllister
c4bf81a312
Module pattern for narrow.js
...
(imported from commit f1df2e884216560cfe80f29a7e3eda5cea17cefe)
2012-10-18 14:41:24 -04:00
Keegan McAllister
1398641aa3
Module pattern for hotkey.js
...
(imported from commit 56616bc8eeaa594ca70bb92bf17a88f97027fd35)
2012-10-18 14:35:42 -04:00
Keegan McAllister
d0db047035
post-receive: Send the bot message before killing the server
...
Otherwise the server isn't running when we try to send.
(imported from commit a5ed6ef2111d426c44914c607444dc09b2e33b59)
2012-10-18 10:47:28 -04:00
Keegan McAllister
2c9cc7d393
Restart runfcgi on deploy
...
(imported from commit b6316135b5ab9e7fcedf404e81dc74b2cf9495c5)
2012-10-17 23:47:10 -04:00
Keegan McAllister
6de3321f02
run-dev: Update for new get_updates URL
...
(imported from commit 2617ddd1c2ec377d6f17f1aafd0da251226d39b8)
2012-10-17 18:24:15 -04:00
Keegan McAllister
91209f9304
Get initial server generation from first get_updates result
...
Embedding this in index.html won't work anymore, because the Django FastCGI and
the Tornado servers might have been started at different times.
(imported from commit 187909d0593449cf2989857671f9ca526723e451)
2012-10-17 18:24:15 -04:00
Keegan McAllister
21ed4d2506
Add a script for running a local dev instance of the app
...
(imported from commit 29813060ef17360d3a7dcc6fe1873992404457c2)
2012-10-17 18:23:01 -04:00
Tim Abbott
5c50375e02
Display a message and disable compose while reloading.
...
(imported from commit f998d2e4053e7e2d676f7fe08ee274118dd9faba)
2012-10-17 14:59:49 -04:00
Tim Abbott
8a7779ad49
Tab should toggle stream/huddle even if you clicked the compose botton.
...
(imported from commit a705c7cd0d6067dc05da7a64f29fb3ef42838785)
2012-10-17 12:05:43 -04:00
Keegan McAllister
bd8a4cb4ab
post-receive: Use a different subject name for each push
...
(imported from commit 983c34faa52bec9a7af4d26a326bbb8cc4a08bea)
2012-10-17 01:11:33 -04:00
Keegan McAllister
2c9830ac5b
post-receive: Truncate long commit subjects
...
(imported from commit 9d4b04cb4000d6f03d31ecdd5106ca53ba96c152)
2012-10-17 01:11:33 -04:00
Keegan McAllister
110a7afec5
post-receive: Conspicuously display commits removed by a push -f
...
(imported from commit 6ed7810c2f20e5f7ac618b31880142ca7da63419)
2012-10-17 01:11:33 -04:00
Keegan McAllister
94bc4dae2a
post-receive: Use Gravatars in bot message
...
(imported from commit 7e662173653aed98d47e5204900947bfb12be96c)
2012-10-17 01:11:33 -04:00
Keegan McAllister
e843427e6c
post-receive: Split into update_deployment and send_bot_message
...
(imported from commit 3e89cb21cf4aa192f6a31457fd91aa5f52e6baa8)
2012-10-17 01:01:19 -04:00
Zev Benjamin
fab64fd7b0
Make the client reload the page when it detects a server restart
...
If the client is not composing a message, we can just force a page
reload. However, if he is composing a message, we must preserve that
message while still reloading as soon as possible.
We take the following approach: if the client has not completed the
composition after 5 minutes, do a compose-preserving reload
(described below). If he sends the message before the timeout
expires, reload the page after a successful send. If the send fails
(not due to server timeout), however, we do a compose-perserving
reload in case the error was due to the data format changing. If the
send failed due to server timeout, we don't reload because the reload
will probably also fail.
In a compose-preserving reload, we redirect to an URI that has a
fragment indicating we are doing a reload and containing all the
necessary information for restoring the compose window to its
previous state. On page load, we check the fragment to see if we
just did a compose-preserving reload, and, if we did, we restore the
compose window (or just try the send again in the case of send
failure). The URI fragment looks like:
(imported from commit af4eeb3930c24118e088057d4da456748fbd2229)
2012-10-16 15:30:41 -04:00
Zev Benjamin
103bf321b4
Have client and server exchange a server generation number
...
This will allow the client to detect when the server has restarted.
(imported from commit 89e75916719d967beb2520be6263f79f897d9ec1)
2012-10-16 15:30:09 -04:00
Keegan McAllister
2bd9a6953c
django-template-graph: Replace slashes with newlines
...
Makes the graph fit better on the screen.
(imported from commit 7d42caca478634143c6b291f47a4642acfdd1128)
2012-10-16 01:45:37 -04:00
Keegan McAllister
37c51b80cc
Add a tool to draw the Django template inheritance graph
...
(imported from commit e10bb719d62a76abfea76c7fc69093a3cc33272e)
2012-10-16 01:33:15 -04:00
Waseem Daher
b76422d8d0
Cache the window selector as 'viewport' in an attempt to improve performance.
...
(imported from commit 3e01382260938737fbee663f6a9e94ad495ef21e)
2012-10-15 22:47:42 -04:00
Keegan McAllister
80e60c3120
check-all: Show unused imports if passed --imports
...
(imported from commit ecae64a3257b3ebd40656717718177270d02111a)
2012-10-15 16:16:10 -04:00
Zev Benjamin
084608ebda
Clear compose box when replying to a message
...
(imported from commit 1fe21a6d1a5f6f946e14583dc81ede961dbf57c9)
2012-10-15 15:45:15 -04:00
Zev Benjamin
a85c1f62d2
Visually distinguish when a message is persistently vs. temporarily selected
...
(imported from commit d626b3460a3a3ad46bd9ebfb65d73a6c267c2251)
2012-10-15 13:25:39 -04:00