Keegan McAllister
aa3c446665
Generate source maps from Closure Compiler
...
(imported from commit 0e4de860b1dba85aa43b60a2c819ac44403186c5)
2013-03-28 12:11:23 -04:00
Luke Faraone
0d51e59fd5
Implement URLs for API redesign.
...
(imported from commit 2020491a737ec4c1e99a63f84eb6cfc594a2dd56)
2013-03-28 07:57:38 -07:00
Zev Benjamin
878646542f
deploy-branch: Check out original ref by name if possible
...
(imported from commit eefc68574f1d1a94f1284670df18f59ef2aa1aa5)
2013-03-27 14:15:03 -04:00
Leo Franchi
dbb2157457
Make home view unread count only count messages newer than the pointer
...
(imported from commit 0f699ed23f59380b04606bd30600373956f89ae4)
2013-03-26 18:34:16 -04:00
Jessica McKellar
eaa2cc702e
Autoscroll when you are at the bottom of your message feed.
...
(imported from commit 7ca92b13c874346f846aea8200a638a7914fe7d6)
2013-03-26 14:05:45 -04:00
Keegan McAllister
6d9aca5f1a
Move "page parameters" (email, enter_sends, etc) into a single object
...
(imported from commit 842b2371bf6364982f1358f1cd2d91118c7fb2bf)
2013-03-26 13:50:03 -04:00
Keegan McAllister
a5979f9e6a
check-all: Restore failure on pyflakes fatal errors
...
(imported from commit 28db869c2b184d466e07373cb7ac8b11630780d0)
2013-03-26 13:50:03 -04:00
Keegan McAllister
ae45217671
run-dev: Clean repo first
...
Makes sense because test-all has the same behavior.
(imported from commit 4c4e5ed539bf36fbb5f298abc40f4718dd9a93f1)
2013-03-26 13:50:03 -04:00
Leo Franchi
59228f7458
Run clean-repo before tests in test-all
...
(imported from commit 49bd072f6f60a742ea9fb7f55c479b8eb8ceb8aa)
2013-03-22 16:22:49 -04:00
Leo Franchi
6263c9ba1e
Unify calculation of unread-count for notifications and use it in the title bar
...
Fixes trac #1004
(imported from commit 6f04d1d3ded198b46cc2ff1733b94b5c17beb581)
2013-03-20 10:09:40 -04:00
Keegan McAllister
e8aec9d009
post-receive: Don't actually update servers on push to test-post-receive
...
Fixes #924 .
(imported from commit 85789b39ef2665901c8a7c9560ef072d80d5e24d)
2013-03-18 17:21:13 -04:00
Leo Franchi
79dfe57840
Mark all messages between start of scroll and end of scroll as read
...
If the user scrolls super fast, our scroll handler might not catch
the user passing by some messages.
(imported from commit 14cebffcd1321f02443971ac5e1c922db19648ab)
2013-03-15 10:43:17 -04:00
Tim Abbott
c0d65124f8
restart-server: Add some output on what's happening as we go.
...
restart-server has been relatively slow recently, and it'd be nice to
know what it is spending its time doing when it hangs for a few
seconds.
(imported from commit a411c951f5a3f2a1366b6d5d3a40d0660ebec11b)
2013-03-14 15:07:42 -04:00
Tim Abbott
60c3cf826d
restart-server: Fill memcached caches after clearing the cache.
...
Our previous code could in theory end up clearing the caches it had
just filled, if Tornado's cache filling work happened to be faster
than the memcached flush.
(imported from commit 48174aadad398fb7a7c917a1df765c1261b12a55)
2013-03-14 15:07:41 -04:00
Leo Franchi
7510f87eac
Select first unread when narrowing by clicking on stream in sidebar
...
(imported from commit 557751f44e3fee61b6a55f8f8328e2f97e6adc04)
2013-03-14 15:01:13 -04:00
Leo Franchi
ff42774551
Refactor unread client handling to use 'read' flags per message
...
(imported from commit ca48745396e7fbac456e5eb2e7dbe4adc62b3492)
2013-03-13 14:14:45 -04:00
Leo Franchi
0df3d5f2aa
Give create db permissions to humbug postgres user
...
(imported from commit 85775d1885efcd8790593e6841ce9d56f027eea7)
2013-03-12 12:51:12 -04:00
Waseem Daher
33dc3a2fb7
Properly start tutorial on first run, even if you have new messages.
...
We were previously having an issue where the tutorial could
be pre-empted if you got a few messages while you were first
logging in.
I have some reservations about this being slightly fragile, and a
better approach might be to just have a bit that we use to determine
whether or not you've already seen a tutorial. (Or potentially that
checks whether or not you've ever sent a message.)
(imported from commit f8858f64a36bcd25887b76314caff283929f340c)
2013-03-12 09:56:57 -04:00
Zev Benjamin
dc0913077a
Add a new frontend error-reporting system
...
The new system, called blueslip, makes errors fatal when in debug
mode and only output a message when running in production. In the
future, it could also send user errors back to us automatically.
(imported from commit 1232607c0311e885c8b5a5e8a45ffb28822426e0)
2013-03-11 13:22:12 -04:00
Tim Abbott
d679a72952
[manual] Cache results of the Twitter API in the database.
...
This should substantially improve the repeat-rendering time for pages
with large numbers of tweets since we don't need to go all the way to
twitter.com, which can take like a second, to render tweets properly.
To deploy this commit properly, one needs to run
./manage.py createcachetable third_party_api_results
(imported from commit 01b528e61f9dde2ee718bdec0490088907b6017e)
2013-03-11 13:15:55 -04:00
Zev Benjamin
d05ac105fe
Move clear_table into MessageList
...
(imported from commit 138c3103920413580f86fede115843ecfddc0691)
2013-03-05 12:48:32 -05:00
Zev Benjamin
f6ba728a24
Move message rendering into the MessageList
...
(imported from commit c1e16b1d2fafe5c079991e7ae96a013e25bc8618)
2013-03-05 12:48:32 -05:00
Zev Benjamin
95309539bc
Move same_{stream_and_subject,recipient,sender} into the util module
...
(imported from commit 0d79bc3ae29be16eba59acea8bc5fda2aba1d4de)
2013-03-05 12:45:12 -05:00
Tim Abbott
91fb10e7dc
restart-server: Move memcached flush to after server code restart.
...
(imported from commit 12123beac108db54e7e8a0c62b65762920997f7e)
2013-03-04 11:30:00 -05:00
Leo Franchi
7374fe53f1
Only show the "More messages below" if unread messages are in the home view
...
(imported from commit 6b1ded10519305bca935b093a74b59d7ab814c55)
2013-03-01 14:35:39 -05:00
Luke Faraone
2f6bc7ca1b
Use dbshell instead of direct psql invocations
...
(imported from commit 6dd28dc353c0d79626c2853961bcb6873929e274)
2013-02-28 15:46:33 -05:00
Luke Faraone
903fbbe38e
Script to automate creating a database for Humbug.
...
(imported from commit d44cd5ca1ab3383a8c262ed287f075cf21e3b129)
2013-02-28 15:40:21 -05:00
Jeff Arnold
fcd033e33e
[schema] Save enter_sends on the server in the database.
...
(imported from commit 4d82f6aaf5918f155a930253c9cc334dbcc0d97a)
2013-02-27 17:25:29 -05:00
Leo Franchi
19d107e42b
Add a home_msg_list that contains all messages shown in the home view
...
By splitting up all_msg_list and home_msg_list, we can properly add/remove
streams from the home view without having to jump through hoops.
(imported from commit 92767197759f7519197dfc58be951b60fa823fbb)
2013-02-26 14:13:35 -05:00
Keegan McAllister
293be02d53
Don't clear prod-static/collected
...
Hopefully fixes the race condition where we get 500s during a deploy.
(imported from commit 2df471220a98e8902ab43e8c846a320c24c7fd25)
2013-02-25 17:55:50 -05:00
Keegan McAllister
49e16b0ba6
Add portico and misc CSS and JS to Pipeline
...
Fixes #963 .
(imported from commit 63ec313a41fd13350657c78356efc16422a5fff1)
2013-02-25 16:18:35 -05:00
Keegan McAllister
d31eab9325
Include hash in minified filenames to avoid browsers using stale files
...
Fixes #853 .
(imported from commit f85ebe52df754f488a29c2ad814d582b78aadd14)
2013-02-25 16:18:35 -05:00
Tim Abbott
c657be9fbc
do-destroy-rebuild-database: Update for South.
...
(imported from commit f3e5d62aa2be0fd907a24fb9b4a5be6438e76c8d)
2013-02-22 17:52:39 -05:00
Keegan McAllister
56d183ea06
Remove lurk mode from web client and API examples
...
See #796 .
(imported from commit e238ce571c3f30d8312b630df7048ad1d9cad6d2)
2013-02-21 15:11:10 -05:00
Zev Benjamin
4c9e3a167e
Move message selection to an event-based system
...
Messages are now selected on a MessageList, which triggers a
message_selected event that other parts of the code can listen for.
(imported from commit 1da9e4121425c0ac4461b41b7aea169072e1512b)
2013-02-21 13:29:17 -05:00
Zev Benjamin
ed51bd0432
Select messages on the MessageList instead of calling a global function
...
(imported from commit 0ea1c2695cda5ec415c42a450103e768cf2ff5db)
2013-02-21 13:29:17 -05:00
Zev Benjamin
fc10556b84
Select a more correct message when narrowing by clicking on message's stream or subject
...
Previously we would select the first message in the block. Now, we
only do that if a message that is selected will not be in the
resulting narrowed view. If the selected message will be in the
narrowed view, we select that message once narrowed.
(imported from commit 4da5a3a0b597b58c2e028f1b29ac20ae3808a4d1)
2013-02-21 13:29:17 -05:00
Zev Benjamin
e9b915c2b9
Remove global selected_message_id and persistent_message_id variables
...
Each message list now has a selected message id.
(imported from commit 041abc54ea42c636c30e39df4a2e838bb830e1aa)
2013-02-21 13:29:17 -05:00
Zev Benjamin
97160d79d4
Use the new MessageList for storing messages
...
(imported from commit 38a04d2ff504aa49189997b972318af7c944d528)
2013-02-21 13:28:23 -05:00
Zev Benjamin
814e3d6385
Implement a message list structure for storing messages and related information
...
(imported from commit 171de93636a215d9357c7fc4ee8fb71696d23fb5)
2013-02-21 13:27:45 -05:00
Waseem Daher
b51dc36667
Add a tutorial.js file.
...
(imported from commit 58b72d08c0cd7815c3c54bd37c4a8033f32cc7ad)
2013-02-20 23:04:49 +00:00
Keegan McAllister
2d3212f3a4
check-all.js: Compact list of globals
...
(imported from commit c6d67517feaa5f33fa0a25e836ab0fe6ab8edc01)
2013-02-20 16:02:31 -05:00
Keegan McAllister
c39e51cc30
Rewrite check-all with various enhancements
...
- Find Python and JavaScript files the same way, by looking at
everything in Git with specific exceptions
- Check the non-browser JavaScript, with appropriate JSLint options
Fixes #19 and #387 .
(imported from commit 042bd6c26aa7a7ea2209935320ef4da12344b02b)
2013-02-20 16:02:31 -05:00
Keegan McAllister
02ce209b5e
Add a generic script to run the right Node binary
...
(imported from commit cf187323786cf1ee576ec70b6f7db4cbf61d6911)
2013-02-20 16:02:30 -05:00
Keegan McAllister
5f33298bf4
[manual] tools: Move check_output into a shared file
...
We leave the stuff under api/ alone for now, since we need to be able to ship
it as a standalone thing.
tools/post-receive wasn't using the function anyway.
For push to master: Push this commit, update post-receive per instructions at
the top of that file, then push the rest of the branch to confirm that the hook
still works.
No manual instructions for prod.
(imported from commit 9bcbe14c08d15eda47d82f0b702bad33e217a074)
2013-02-20 16:02:30 -05:00
Keegan McAllister
75704ad1e8
Consistently use #!/usr/bin/env python
...
At Ksplice we used /usr/bin/python because we shipped dependencies as Debian /
Red Hat packages, which would be installed against the system Python. We were
also very careful to use only Python 2.3 features so that even old system
Python would still work.
None of that is true at Humbug. We expect users to install dependencies
themselves, so it's more likely that the Python in $PATH is correct. On OS X
in particular, it's common to have five broken Python installs and there's no
expectation that /usr/bin/python is the right one.
The files which aren't marked executable are not interesting to run as scripts,
so we just remove the line there. (In general it's common to have libraries
that can also be executed, to run test cases or whatever, but that's not the
case here.)
(imported from commit 437d4aee2c6e66601ad3334eefd50749cce2eca6)
2013-02-20 16:02:30 -05:00
Leo Franchi
8162d46d5c
Mark as unread messages loaded in a narrow view older than pointer
...
(imported from commit 37362d1fbb4932f064753a5d3d335d9b2bec2964)
2013-02-20 14:05:49 -05:00
Tim Abbott
cdedb85934
Fix post-receive hook arguments issues and document the setup.
...
(imported from commit 0440cbc97337b8dd9f92bbbd428a069f79df400a)
2013-02-20 11:10:45 -05:00
Tim Abbott
3bc083ab0d
post-receive: Remove unused imports.
...
(imported from commit 492b5a4a3a883022984d45d0d0934e7fe10a6f31)
2013-02-19 16:23:47 -05:00
Reid Barton
61350d65d1
Render recent dates as weekdays, part 2.
...
This commit does the actual work of formatting recent dates as weekday
names and updating the format when the date is sufficiently far in the
past.
Also, silence a bogus jslint warning.
(imported from commit 503286fbd9c1e33a81cc7d78cf8d08d5e7f78c1a)
2013-02-19 15:58:25 -05:00
Reid Barton
59dab21fcd
Render recent dates as weekdays, part 1.
...
This commit just moves time rendering logic to its own file, and does
not make any functionality changes.
(imported from commit d111d03c6abc8d9550fcf65e4f89eab8056d1ed4)
2013-02-19 15:58:25 -05:00
Leo Franchi
5d79bb6a20
Add a 'show in home view' toggle to the stream settings
...
(imported from commit af8bcc4df6fcd9f6ffed4ccb1b9be5261ffe619d)
2013-02-19 15:43:27 -05:00
Keegan McAllister
bb5f59d310
Use white text for recipient labels on streams set to dark colors
...
Fixes #577 .
(imported from commit 0518e33b96bc0028fc80d533f6b8ec35fd5cdc04)
2013-02-19 15:33:35 -05:00
Reid Barton
37b5a84af4
Track total number of unread messages
...
(imported from commit 0a6f270b8a4debf0cbb7e869ecbff59f39f22049)
2013-02-19 13:43:34 -05:00
Tim Abbott
4caafd66ce
Rewrite git hook for distribution and document it.
...
(imported from commit c3238bc5b5e29727cddb43bc55ab418326226acd)
2013-02-19 09:17:06 -05:00
Tim Abbott
8ee139f9be
post-receive: Get rid of the sleep(1) before sending Humbugs.
...
This code is no longer needed now that we send the Humbug _before_
restarting the server.
(imported from commit c281ac7db55ad2801d2da43d4aca5583ad48de93)
2013-02-19 08:52:15 -05:00
Keegan McAllister
e25d9a8492
Remove unused Notificon library
...
(imported from commit 8c0717b4e305d28f30b9088a974e99d510ab3021)
2013-02-15 16:19:58 -05:00
Jeff Arnold
d0f422979b
Change the favicon on notification (great for pinned tabs)
...
(imported from commit 025ad165d15b2e6d979c246776148f13ebc555fb)
2013-02-12 16:27:07 -05:00
Leo Franchi
83011f7f47
Show a user activity list in the sidebar
...
(imported from commit 95aaa55c7e4cc39f844518b5308866bedf2cd1c5)
2013-02-11 18:05:57 -05:00
Zev Benjamin
da95bb2988
puppet: Move all puppetized config files to the humbug module and reference them with puppet URLs
...
(imported from commit f0f325bbad381b87c12c6f7888f4dd5d6989f09f)
2013-02-08 16:06:34 -05:00
Tim Abbott
2d9a21654b
Fix messages being added to the home view out of order.
...
So here's the reproduction recipe:
(1) Find a narrow that doesn't have any messages since 4 days ago
(2) Directly visit that narrow in your browser (or wait for someone to
do a deploy and thus auto-reload)
(3) Wait until load_old_messages has been called at least once
(4) Un-narrow
(5) Scroll up, and notice that the 400 most recent messages are above
sets of older messages.
The cause is that the code in add_messages assumed that
selected_message_id was within the range of message already in the
home view. This is true in most cases where add_message is being
called, but it is not true in the case that the user was in a narrowed
view containing only very old messages (And thus selected_message_id
would be older than everything in the home view).
We can fix this by tracking persistent_message_id separately and using
that for the relevant test in add_messages.
(imported from commit f0da2561ba68f729343b260adc398029fae6acf7)
2013-02-08 14:43:13 -05:00
Keegan McAllister
401f591ab7
[manual] post-receive: Remove handling of refs/heads/hunt
...
Deployment steps: See comment at the top of tools/post-receive.
Will do this when the commit hits master.
(imported from commit 8e096609fca618ed82bfbee43bae701daaf49261)
2013-02-08 13:33:28 -05:00
Keegan McAllister
e4d6a6d3cd
review: Send @username syntax rather than @username@humbughq.com
...
(imported from commit ab7d1120aba829fd629e705409b3677e6cb49dbd)
2013-02-05 15:51:22 -05:00
Jessica McKellar
cea18d6561
Don't build non-send_message bindings.
...
(imported from commit 4e94989e3da7d87490e483d6d2ecc39a0824ced0)
2013-02-05 14:09:29 -05:00
Keegan McAllister
a8ade10fde
Restore streams-example.png for /new-user
...
This was removed in 63788aa3. It was the only non-symlink in
zephyr/static-access-control/.
(imported from commit c9ee043b07c5fd4050aeaafa40394a6b69915bfb)
2013-02-05 12:07:41 -05:00
Keegan McAllister
637d4a74f2
[manual] *-command-line: Drop sh -e
...
This meant that (in some circumstances, anyway) the script would bail after the
inner process was killed by restart-server.
Manual deployment steps:
After pushing, log into {staging,app} and restart these commands within
the screen session.
(imported from commit 696bc8148fa9df4b536253d54c65b7c4cb908530)
2013-02-04 19:12:35 -05:00
Keegan McAllister
b55c9fdd08
chmod +x tools/process-user-activity-command-line
...
(imported from commit 11888d81e6e9e74cb503effbe5efd07bd1c290ec)
2013-02-04 19:12:35 -05:00
Waseem Daher
17b1829775
Expose pygments.css to the portico code.
...
(imported from commit 2f8cffa17ce1efd26d9c0ed9ce02e6f352ea8617)
2013-02-04 17:58:12 -05:00
Jacob Hurwitz
61acc58947
Add a notifications bar when there are additional messages out of view
...
(imported from commit 38fa78f63fd520d0b1f09921ba064cba010a6f99)
2013-02-02 01:16:25 -05:00
Tim Abbott
eb4930591d
Send review requests to stream review.
...
(imported from commit 6e2e5ad2a4fadd2693341cb044c3e2152c787952)
2013-02-01 16:48:35 -05:00
Tim Abbott
df5cef6a0d
review: Use a more information Humbug message content.
...
(imported from commit 1c6ecce9920287b07527002421861dfe24817409)
2013-02-01 16:48:35 -05:00
Luke Faraone
a18d6ff9c7
Update build-api-tarball to use setup.py.
...
This comes at the expense of only functioning on the current working tree.
(imported from commit a92dd47f0cc4d47858c2ea678d86ceb9458a6fe5)
2013-02-01 15:52:29 -05:00
Keegan McAllister
1622f53cb1
test-backend: Allow running a subset of tests
...
This now allows e.g.
./tools/test-backend zephyr.BugdownTest
or
./tools/test-backend zephyr.BugdownTest --verbosity=2
but unfortunately not
./tools/test-backend --verbosity=2 zephyr.BugdownTest
(imported from commit 95302db3efe45182d789c40c2a2899230a06b091)
2013-02-01 15:38:56 -05:00
Keegan McAllister
27b82c205f
test-backend: Allow passing command arguments to manage.py test
...
This allows e.g.
./tools/test-backend --verbosity=2
(imported from commit 68979731e6d4ddba2bda62daa5f3206e633b54da)
2013-02-01 15:33:24 -05:00
Keegan McAllister
638b8d29bc
Enable testing minified files in dev
...
(imported from commit 257b8547849a85c447319d3d211f2c989616ce64)
2013-01-31 15:41:01 -05:00
Keegan McAllister
6990260b59
[manual] Minify JavaScript and CSS in production
...
Manual deployment steps: The same Nginx reload as for "Get rid of the
static-access-control mechanism". If deploying both commits at once,
just do it once.
(imported from commit dd8dbbf14b95fce0a4b6f66f462fa0a6b50bfb8c)
2013-01-31 15:41:01 -05:00
Tim Abbott
97aec279b3
Add deployment auto-restart for process_user_activity.
...
(imported from commit 7ff384629552e454a9b25577f17d06ac27ae5239)
2013-01-31 12:09:16 -05:00
Tim Abbott
9cc3e29de5
Split restart-server code out of update-deployment.
...
(imported from commit 3ae913b950be0a0c94fbaf0173012ea315f36d62)
2013-01-31 12:09:16 -05:00
Leo Franchi
54cfea9252
Use /usr/bin/env python in review script
...
(imported from commit a56c09e617ee89858fcac3d60deb549754d465f1)
2013-01-31 11:54:25 -05:00
Tim Abbott
46f956c57e
review: Drop the line about advancing master.
...
(imported from commit 93a4f9b66a83efe69e7ee6638b6edc34b7f52d79)
2013-01-30 15:34:34 -05:00
Tim Abbott
b81aa35c24
review: Fix exception running review on some detached HEADs.
...
(imported from commit 8f6e4a82ade10945cfac0104e4f8ff5d48379348)
2013-01-30 15:34:33 -05:00
Tim Abbott
f701a38287
review: Automatically push personal local branches to the remote.
...
(imported from commit 29cf7d7316eb3666e2f8b39aacf3baa86990bace)
2013-01-30 15:34:33 -05:00
Tim Abbott
7a7fc54234
review: Get the current user's email via a function.
...
(imported from commit 082b035912395c56e89ace1622ef885562d13669)
2013-01-30 15:34:33 -05:00
Zev Benjamin
ac4c13e349
Make munge_postgres_logs.pl executable
...
(imported from commit 95350474c7ef45bcfd20b41e1a93100e8b9a5ab6)
2013-01-29 12:16:32 -05:00
Zev Benjamin
c2ca608b05
Add tool to convert our Postgres log lines into the format expected by pgFouine
...
(imported from commit 824c2b46c0296ae43464784767f8dbb7ffbd8acb)
2013-01-28 16:24:32 -05:00
Tim Abbott
bbec562397
Add scripts for the Django and Tornado command lines on prod servers.
...
(imported from commit 7af5034cd26c5a6a99cece744feeaf3d0a1d843e)
2013-01-17 22:08:39 -05:00
Tim Abbott
6893cce9dc
post-receive: Deploy to hunt server automatically.
...
(imported from commit ac3c0ea31aaa213f2b20dac2f67ab1a8a861ee3a)
2013-01-17 22:08:39 -05:00
Luke Faraone
d7d5621602
Make API tarballs have a prefix of humbug/
...
This way you can just extract it to a directory on your PYTHONPATH and
do an "import humbug"
(imported from commit d71de15fa51a0dde6534046902cfa058064a77ef)
2013-01-16 16:56:58 -05:00
Zev Benjamin
9d27878abf
Destroy spinners with a new abstraction instead of hiding them
...
If you create a spinner in a hidden element and then show the
element, the spinner is placed differently than if you had created
the spinner while the element was visible. This commit makes it so
that we never create spinners while their parent is hidden.
(imported from commit a21e68976d70fcceece30ee35f5e7cf6f9490497)
2013-01-16 14:45:23 -05:00
Zev Benjamin
beea0f747e
Rename loading_{indicator,spinner} to page_loading_{indicator,spinner}
...
(imported from commit e1222569f62ac693d45d2f057ef6b05c883c900e)
2013-01-16 14:45:23 -05:00
Reid Barton
9e23907259
Add "Lurk" mode
...
/?lurk=foo will show all messages to the stream "foo", regardless of
whether you're subscribed.
(imported from commit 049d98b3ee8df19ef0a9dc392ae941dd463f8dd5)
2013-01-16 14:19:06 -05:00
Zev Benjamin
cb8c67b325
Keep a dictionary of user email address to person object
...
(imported from commit 16d63fefff3bda33cfc2f90398539b5e2d9bb499)
2013-01-15 17:02:39 -05:00
Tim Abbott
d121c51584
update-deployment: Delete pyc files on deploy.
...
(imported from commit 852258b1fd1b837807d11e5f4693012cd438c395)
2013-01-14 11:52:39 -05:00
Waseem Daher
d9e50117be
Frontend for invitations.
...
(imported from commit 8afab7cc5a4a5c14b605f1b27b48036c9414f7d0)
2013-01-14 10:25:26 -05:00
Tim Abbott
af88c10c5e
Add tools/test-backend script to run backend tests.
...
(imported from commit fde4c7deb1e64e8cca9d62cda905f13d90392961)
2013-01-10 16:59:36 -05:00
Jeff Arnold
7709e21a24
Notify the user when someone is speaking at them
...
(imported from commit 662ea67b2cf210bfd327ae2db6f924e4424d6d50)
2013-01-09 20:18:39 -05:00
Jeff Arnold
db6f03d46d
Make the back button work when narrowed
...
(imported from commit be922b06e7b53ec21751e67a490bb518333c3e6c)
2012-12-19 14:46:31 -05:00
Tim Abbott
15c83127ee
Rename do-schema-change to something more scary.
...
(imported from commit e02b9e7a778d104fb0bdb346947f639622186aa7)
2012-12-14 17:57:23 -05:00
Zev Benjamin
e6a26d1bb1
Adapt do-schema-change for Postgres
...
(imported from commit 3ab9054d110acf379c8d1686acaf56a92b4f90da)
2012-12-14 17:56:12 -05:00
Keegan McAllister
44b9925bfc
Configure get_updates timeout in settings.py
...
(imported from commit 2a647bdd73c43ca5fed704925808efafc70da044)
2012-12-14 16:22:42 -05:00
Luke Faraone
5a0f1897bc
Add humbug-send, a more full-featured sending tool.
...
(imported from commit 631f3c7320192a502b60bc4c4838d068ed60ee76)
2012-12-12 16:48:00 -05:00
Tim Abbott
b14e4d2a57
Add tool to merge messages logs together for populate_db.
...
This tool hardcodes the paths to the input log files; we'll need to
change that down the line.
(imported from commit 8b067a6d3dc781694a001d549e5e60900d9c2596)
2012-12-11 17:17:38 -05:00
Tim Abbott
feda941ac4
build-api-tarball: Fix prefixes.
...
(imported from commit 870ae9ab242c4d373a5901beec83b4c03d371d89)
2012-12-11 17:17:27 -05:00
Zev Benjamin
7e4776322d
[manual] Unify huddles and personals into private messages on the receive path
...
feedback-bot and zephyr_mirror will need to be updated and restarted
when this is deployed to prod.
(imported from commit fe2b524424c174bcb1b717a851a5d3815fda3f69)
2012-12-04 18:01:51 -05:00
Zev Benjamin
3e1802bcea
Add tool for deploying branches to origin/master
...
(imported from commit 0fb0b5d37ee5c8486791e55fa731d207477ba248)
2012-12-04 12:46:07 -05:00
Keegan McAllister
9125489c20
Rename class HumbugAPI to Client
...
(imported from commit 4270f31fc5febcd9c444d0d133a1dad3860618f0)
2012-12-03 15:54:54 -05:00
Keegan McAllister
bd7b7adb6b
Rename api.common to humbug
...
Fixes #482 .
(imported from commit 1bd6a7fd993d8d5e225e0311c288dbce0c369a40)
2012-12-03 15:54:54 -05:00
Zev Benjamin
46f4a5eb38
Add util module
...
(imported from commit 3844e136fb799c6f57f8823255addf00a07ef686)
2012-11-30 15:04:46 -05:00
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
Zev Benjamin
b42cf1d4c8
Fix persistent message selection across narrows
...
(imported from commit 958ce299108f8bbc8579e7446053d7fc9f018b81)
2012-10-15 13:25:39 -04:00
Keegan McAllister
deffda072f
Add a tool for removing stale *.pyc files
...
(imported from commit c0fcfb171932f523fff13f14f09ecf5b3a6b21de)
2012-10-12 13:28:09 -04:00
Zev Benjamin
35342481dc
Scope subject autocomplete to the stream
...
(imported from commit 6e9972c93d5f56f29db37b522e20768b8fb641df)
2012-10-12 13:15:06 -04:00
Tim Abbott
2f1d68e09a
do-schema-change: Recreate the auth_user email index.
...
This index is important since we are searching by email address.
(imported from commit 49c8dab68a0c7857d1c9620b856e4de5c4b8c669)
2012-10-12 11:09:53 -04:00
Zev Benjamin
adf75d48e1
Make pressing escape also un-narrow
...
(imported from commit 17d2cc3e8074af332f98588ad201ec342476d51f)
2012-10-11 14:30:51 -04:00
Keegan McAllister
b3c029472a
post-receive: Include an abbrev sha1 in the message
...
(imported from commit 97eea18bb4426270d085e398680f1db8028235db)
2012-10-11 11:49:24 -04:00
Tim Abbott
b5bb6b9921
Rename test-settings.py to test_settings.py
...
(imported from commit c9ad55821bc66a7c11668ac0b40ca13c2e05986e)
2012-10-10 18:13:45 -04:00
Tim Abbott
ac3f4393ff
Rename instance to subject.
...
(imported from commit 6b4693da03f106448c137cf81cf9801cac44f2b8)
2012-10-10 18:01:39 -04:00
Tim Abbott
413fdeb655
Rename class_name to stream_name.
...
(imported from commit e610f5de5edf756ef0a71c5361fcd507adbb1605)
2012-10-10 17:48:17 -04:00
Tim Abbott
ef3b8a2ce5
Rename class_list to stream_list.
...
(imported from commit c9f5b10acdb20d3e923cf7f32bc5a3f37aa40705)
2012-10-10 17:48:17 -04:00
Tim Abbott
08e832e093
Change send_message to accept a stream, not a class.
...
(imported from commit 0f58de2502bec227f5f33e44692d03f2f28d6f63)
2012-10-10 17:48:17 -04:00
Tim Abbott
44e9e4cebf
Rename Recipient.CLASS to Recipient.STREAM.
...
(imported from commit a530194163f7260c73921137fa1ff671f14516f6)
2012-10-10 17:47:13 -04:00
Waseem Daher
48cda57d84
Fix issue where arrowing-down near end of page would skip a message.
...
We had this fascinating behavior where pressing a down arrow near the
end of the page would advance the pointer, call recenter_view, which
would trigger a scroll event, which would call keep_pointer_in_view,
which would notice that we were at the end of the page and advance the
pointer again!
I split out that last part into its own function which is only called
on mousewheel events.
(imported from commit bc85443e762356e3055f8f88585940a1f11f9124)
2012-10-10 14:29:15 -04:00
Tim Abbott
26b5c11d64
Rename get_zephyr_row to get_message_row.
...
(imported from commit 2480b0bfe0be58cdb6bdf687760967b26ca38558)
2012-10-10 10:19:46 -04:00
Tim Abbott
06ffd206ae
Rename respond_to_zephyr to respond_to_message.
...
(imported from commit 34e7793601ad6f41d71be2e2060c58138b9d3b53)
2012-10-10 10:18:51 -04:00
Tim Abbott
9a359c8d05
Rename selected_zephyr_* to selected_message_*
...
(imported from commit 04025c4472b893ce12764775e10c1dc89850b639)
2012-10-10 10:17:58 -04:00
Tim Abbott
ae97a88e72
Rename selected_zephyr_id to selected_message_id.
...
(imported from commit bbb368efdd5010b6dfdaaf60f3f48904b40671af)
2012-10-09 22:42:19 -04:00
Tim Abbott
f66124cbe2
Rename select_zephyr(_by_id) to select_message_*.
...
(imported from commit 91619adf0e610017fbef52d2796020cb16537653)
2012-10-09 22:40:13 -04:00
Tim Abbott
f1e90cde8c
Rename zephyr_dict and zephyr_array.
...
(imported from commit 5d93fddc1758c0ee47390cfe599732a60a8d817a)
2012-10-09 22:40:12 -04:00
Jessica McKellar
fb62e808d7
Use an associative array for faster subscription checks.
...
This also helps us manage checking, case-insensitive, for
subscriptions while preserving the casing used by the class creator
for display.
It also fixes a bug where the class_list would become out of sync with
your true subscriptions, allowing you to appear to send messages to
classes to which you had unsubscribed.
(imported from commit 5e8d017bcfb27a71c52f7517733eda7b926d721b)
2012-10-09 17:28:21 -04:00
Tim Abbott
2f910a1629
Show success messages on the subscriptions page.
...
(imported from commit 771fa4459e6a09ffc4132ccff12372b204334de2)
2012-10-09 15:44:55 -04:00
Tim Abbott
5568e1a79c
Move hotkey.js jslint globals into check-all.js.
...
(imported from commit ec737e658e9f2251025e493abb92e4cf2a7aab72)
2012-10-09 14:11:22 -04:00
Tim Abbott
a5c8b5dc7e
Detect whether the user is currently in an input area correctly.
...
Rather than trying to keep track of whether the last thing that
happened was an input area being focused (which had all kinds of
bugs), just detect whether we're in an input area using the
appropriate jquery selector. Hopefully this has OK performance.
(imported from commit 6150692ffcb0ab9b04244c3d053b5527847ded2d)
2012-10-09 14:11:22 -04:00
Jessica McKellar
e351439d0b
Don't have clicking on a sender prepare a personal.
...
It is confusing, and clicking on it should behave like clicking
elsewhere in the message.
(imported from commit e56434e8e143f6fa58b095e1c7d311b4aa24313f)
2012-10-09 11:01:28 -04:00
Tim Abbott
ad9f58d90a
Rewrite respond_to_zephyr.
...
The new version is now the only codepath that we use in order to start
a reply to a message.
(imported from commit dd28316d2640fd5fd712f326690d480b7db59c4c)
2012-10-09 10:40:27 -04:00
Jessica McKellar
367feda747
check-all: add new viewport globals.
...
(imported from commit e163dc07ad196ffd2731f7ccc67bfaada8e8580a)
2012-10-05 16:29:59 -04:00
Tim Abbott
c02c6cc954
Display the date when either it or the recipient changes.
...
This is somewhat experimental and we may need to work on the condition
when it shows up (or move it elsewhere).
Also, maybe it should say "Today/Yesterday" for times super close to
now -- the main issue with doing this is whether it needs to update
without your reloading the page to avoid being super confusing.
(imported from commit e29faf30c83b9574e5d233213f42a24175f9a616)
2012-10-05 15:44:15 -04:00
Tim Abbott
12cd44bd0f
check-all: Only check python files in git.
...
(imported from commit 1c633e048cad0cc4f629977363df6a8300dac65c)
2012-10-05 14:58:42 -04:00
Keegan McAllister
c9623ee370
post-receive: Include author names
...
(imported from commit 7914f47364d014bd17115db7defd0cc634f4ac60)
2012-10-04 17:37:18 -04:00
Keegan McAllister
bfa24d75b6
post-receive: Send test-post-receive pushes to class test
...
(imported from commit 8f187464a4d82da071ffed79abf33ea05b999b95)
2012-10-04 17:37:18 -04:00
Keegan McAllister
2ebd708a8d
Remove client-side linkification
...
It causes problems when [un]narrowing, and we already do the rest of formatting
on the server side.
This reverts commit 90af0192b37bbebbf56d5e7c50f182485ddbca10.
This reverts commit df7e355648d2c4d6319de049933547ed96402fd8.
(imported from commit 99d87f0826ec2f49741f86fad6524ed93e76723f)
2012-10-04 16:52:08 -04:00
Keegan McAllister
3e57097ccc
Exclude test-settings.py from check-all
...
(imported from commit d12d38b85846fa5ea42f123dd81674ae85e92667)
2012-10-04 16:50:27 -04:00
Keegan McAllister
b6b647143a
check-all: Don't canonicalize directory name
...
Instead just cd to the repository root for pyflakes. This is a marginally
worse user experience, but should work on Mac OS where we don't have readlink
-f.
(imported from commit f3d1bfb086ff05642e438c16094415d98a6dab92)
2012-10-04 15:29:03 -04:00
Tim Abbott
89c73ca25f
Replace 'zephyr' => 'message' in code internal to models.py.
...
(imported from commit 16449713202a915d12d3de2e4b4b6ac56e6d6237)
2012-10-04 14:38:07 -04:00
Keegan McAllister
48f0386d26
Add an all-in-one lint checking script
...
(imported from commit 1fbbfd2c775729295a7a061ead67812a963dc924)
2012-10-04 14:31:55 -04:00
Keegan McAllister
ffcbd1ea7e
check-all: use strict
...
(imported from commit 6a4c721be90631d250ca35ba9e26925803f2dd34)
2012-10-04 13:48:24 -04:00
Keegan McAllister
277eb66cf6
check-all: Display actual relative paths
...
(imported from commit 2c7ed1deb7aadd7b9286d363494437162e8975f6)
2012-10-04 13:41:07 -04:00
Keegan McAllister
3816ca6dfb
check-all: Use more fs / path functions
...
(imported from commit f2b2970efa9b93068f835cd70ca3e3cc7ec22c38)
2012-10-04 13:41:07 -04:00
Keegan McAllister
cf85c2e4c3
JSLint: Disallow console.log in general
...
(imported from commit 8cdff0a702ce2857a4596144d66ac285559226da)
2012-10-04 12:37:15 -04:00
Keegan McAllister
7edfd3458c
Add a new tool for running JSLint
...
(imported from commit 35256825be8793f7e649eb8237111afa05320b32)
2012-10-04 11:04:25 -04:00
Keegan McAllister
e7db8857ea
Import JSLint
...
(imported from commit c1380fd9a2d75d84ac33c6a7b3457abcd0f9e4f5)
2012-10-04 11:04:25 -04:00
Keegan McAllister
8d7b598939
do-schema-change: Run syncdb without input
...
(imported from commit f27142bda30df50207071291b287f837621cf76b)
2012-10-04 11:03:13 -04:00
Keegan McAllister
2c7c378fde
do-schema-change: Use COLLATE utf8_general_ci not utf8_bin
...
Amazingly the choice of collation affects whether Django returns bytestring or Unicode values.
(imported from commit f3fcff302ebdeae4ad15bd8fbe063106c6be9cb1)
2012-10-04 11:03:13 -04:00
Keegan McAllister
6784e8cbf4
post-receive: Style branch name
...
(imported from commit 33f075095c163f8954dac104cd5d39e9171a99d2)
2012-10-03 18:08:36 -04:00
Keegan McAllister
3848d79f10
post-receive: Print commits in top-down chronological order
...
(imported from commit 952c4e0d4488cd41a02d75bc890fceacbb9f6273)
2012-10-03 18:07:35 -04:00
Tim Abbott
303bc7c6b8
post-receive: Sleep a bit to give the Humbug server time to restart.
...
(imported from commit 95e9e7110dcca19347e3cb3952ac18960b500586)
2012-10-03 17:01:15 -04:00
Keegan McAllister
901b87dd77
post-receive: Loop over all pushed refs
...
(imported from commit 7f101732b3e521b9ef4a41204e0dbbba67f035f5)
2012-10-03 15:20:20 -04:00
Tim Abbott
e53dbbd756
Fix post-receive hook's API postings.
...
(imported from commit 98021d3ee5e84b533e17ec741538be60925b4e87)
2012-10-03 14:48:51 -04:00
Tim Abbott
d5d3694451
Update post-receive hook to send messages via the API.
...
(imported from commit 81f4c9e55c44f19208c42d9a8e8db33ce44b02ac)
2012-10-03 14:32:05 -04:00
Tim Abbott
78dae6a11d
Add tool to replace the production server's database schema.
...
(imported from commit 2aeab792275e43549f3644875a5c360b0f0582a1)
2012-10-02 16:17:48 -04:00
Tim Abbott
1e60511bf6
post-receive: Do deployments over ssh to app.humbughq.com.
...
(imported from commit cec99b18a7e686243e64d69d1882edc6354c5c9a)
2012-09-17 11:47:20 -04:00
Keegan McAllister
e9ae8b0e0d
Remove obsolete wiki user script
...
Replaced by server-side config.
(imported from commit 54b749e37955111439da5e27a2233ff596214971)
2012-09-04 20:50:34 -04:00
Keegan McAllister
647d6ab288
Add a user script which sets a default commit message on the wiki
...
(imported from commit ed76dae4f8d55d7859a6ddffa5fc392f98aadf28)
2012-08-31 16:24:55 -04:00
Tim Abbott
71dd5aed0a
Update automated deployment code.
...
Will warn about schema changes based on '[schema]' appearing anywhere
in the commit message.
(imported from commit 0092f12c1a2dad3f909ec1934c162776d72263b4)
2012-08-31 14:44:36 -04:00
Tim Abbott
260e646abc
Add continuous integration automation scripts.
...
(imported from commit 61fc5fa1540732b0d1ad02faa95724cc6e2699c0)
2012-08-31 13:53:56 -04:00