Commit Graph

571 Commits

Author SHA1 Message Date
Jessica McKellar b32219c8eb Don't display unread counts until after making a bankruptcy decision.
Users were getting confused about why the unread count in the sidebar
/ notification bar / Dock was different from what the bankruptcy modal
said, so only show them the true server count until they've made a
decision.

(imported from commit 71d376cd4a85749ccf49936b251e6b8ac21361b7)
2013-08-20 10:26:52 -04:00
Steve Howell 53f62bd71c Created MessageListView class.
(The code for MessageListView  was extracted from message_list.js.)

(imported from commit 60c0bac4c734d3850f8b8c047a978c292b19cc13)
2013-08-19 12:17:56 -04:00
Steve Howell 29c012dc74 Create stream_data.js module.
This pulls a lot of data-centric functions out of subs.js.

(imported from commit 0deed7d4bf5697e893af9bc9d888c2d5da8d9fa2)
2013-08-19 12:17:55 -04:00
Luke Faraone 6e81fd46af Update review script to accept non-ASCII branch names
(imported from commit 391dd3a549c4a2f4766105b85a6ebc885a293db2)
2013-08-15 10:56:46 -04:00
Steve Howell 050c8ad103 zulip.subject_dict -> composebox_typeahead.seen_topics
Move zulip.subject_dict into composebox_typeahead.seen_topics,
and encapsulate the use of seen_topics inside composebox_typeahead
with add_topic() and topics_seen_for().

(imported from commit 2bc2d1714fabdc07a661cbf815d14b36a08990e2)
2013-08-14 13:15:00 -04:00
Luke Faraone ecc42bc9f8 Add administrative panel to allow for user deactivations etc.
We now show a list of users and allow you to deactivate a user using the
same process as `python manage.py deactivate_user`.

We add a new menu item accessible from the gear icon which will eventually
have much more than just this, but we have a good start here.

Here we also add a property to UserProfile which determines whether you're
eligible to access the administration panel, and then have code which shows
the menu option if so.

This introduces a new JS file, admin.js.

(imported from commit 52296fdedb46b4f32d541df43022ffccfb277297)
2013-08-13 14:20:18 -04:00
Steve Howell 0879648f0e Remove respond_to_cursor flag.
The prior commit, which was a functional fix, made the
flag obsolete.

(imported from commit 203a080106b00e0355a1223f783bbe579430b4ad)
2013-08-13 14:12:28 -04:00
Steve Howell d27feeed62 Extract code to summary.js.
(imported from commit 51d958b27e53555f5f77d6e6b661eade57190e23)
2013-08-13 11:26:12 -04:00
Waseem Daher 02dba3da11 iframe-bot: Don't show tweets.
(imported from commit 584fdbfa50e2ff1d3526f741e96ef6691fa731e1)
2013-08-13 10:41:02 -04:00
Waseem Daher 7329cedd84 iframe-bot: Properly style emoji (but you need to copy in the images).
(imported from commit 3fbf54a46d4f20e9da21c73cfe9f6a0064749f1c)
2013-08-13 10:36:05 -04:00
Waseem Daher dfb60ee966 File uploads using Dropbox.
(imported from commit c552133fc7025eca526fbfef24fd544260d7111b)
2013-08-12 17:22:23 -04:00
Waseem Daher 932d002ff4 Zulip embedded iframe bot.
Currently running for CUSTOMER3, at MIT.

(imported from commit 1c29d3fb3fbf29b9ea633e9fc102e7737eba4fd7)
2013-08-12 17:09:48 -04:00
Waseem Daher 067bd390ac Remove kiosk mode.
We instead implemented the ~desired functionality here using the
API and a bot to make a totally read-only, static, slowly-updating
view into the Zuliverse.

This is the moral equivalent of reverting deb035b4c702fcdb0e660ed549fe74c682abb6d9

(imported from commit 9d743fe82f197b37f005e5a038f77cc4b8566024)
2013-08-12 16:19:53 -04:00
Steve Howell 878ee2b3fd Move Filter class to filter.js from narrow.js.
1) The class Filter now lives in its own module.
2) The function canonicalized_operators() is now a class method on Filter.
3) The function message_in_home moved to filter.js and became private.
4) Various calling code had to change, of course.
5) Splitting out Filter helped simplify a few tests.

(imported from commit e41d792b46d3d6a30d3bd03db0419f129d0a2a7b)
2013-08-12 13:58:32 -04:00
Steve Howell 37f8cc9294 Extracted code into compose_fade.js.
The compose_fade has three public exports:

    set_focused_recipient
    unfade_messages
    update_faded_messages

All code was pulled directly from compose.js, except for the
one-line setter of set_focused_recipient.  The focused_recipients
variable that used to be in compose.js was moved to compose_fade.js,
hence the need for the setter.

(imported from commit 462ca5d0d0bd58612d0197f3734a8c78de8c6d30)
2013-08-11 17:05:13 -04:00
Waseem Daher 0dcaf9ca3d Kiosk mode [unsafe].
"Kiosk mode" is a "read-only" Zulip suitable for embedding into
an iframe on another site. I say "read-only" in quotation marks,
because the account is still a fully-fledged active account on
the server, and we just tear out a bunch of stuff in Javascript
(that a malicious user could easily re-enable).

So in that sense, it's not actually safe in security-sensitive
environments -- malicious users logged in via kiosk mode
can do anything the kiosk-mode user can do.

(We need this functionality for the customer3 realm specifically;
 we'll possibly just tear this code back out once that experiment
 has run its course.)

(imported from commit deb035b4c702fcdb0e660ed549fe74c682abb6d9)
2013-08-11 15:57:21 -04:00
Scott Feeney 4aab49657d Fix minify-js failure to update app.js when templates changed
Also adds a clarifying comment.

(imported from commit ae05fa7063b7e77ab6d8942eab2a2191429b312f)
2013-08-09 23:31:44 -04:00
Zev Benjamin 0cfc8fae9f Add basic Javascript Dict implementation
(imported from commit 9f2fb089eb6e269549de26b37bd588355757d22c)
2013-08-09 17:20:14 -04:00
Zev Benjamin e0eddabeb1 Add util.enforce_arity
util.enforce_arity takes a function and returns a new version which
throws an error if an incorrect number of arguments (as determined by
the function prototype) are passed.

(imported from commit 20e69a6dc7b6f8455726ab4fae8d5b7b04dc4103)
2013-08-09 17:12:23 -04:00
Steve Howell 9130fbec84 Show script names in test-js-with-node.
This makes it more like how we do other tests.

(imported from commit e7d96ad31aeed6186ef6ff1d23f8028c68762caa)
2013-08-09 14:47:11 -04:00
Steve Howell d897d0ad57 Fix pre-commit to call lint-all, not check-all
(imported from commit 8450e79c2d9538c7bfd3cebe597a2869f8800eea)
2013-08-09 14:23:36 -04:00
Steve Howell abba52fd4d Simplify test-js-with-node to simply run *.js in the test directory.
I finally got tired of the tedium of adding files explicitly to the
script.

(imported from commit 4c573fe4752c32a452e592fad687dd5145a173c8)
2013-08-09 14:23:36 -04:00
Tim Abbott 2b8fd43edd check-all: Run 'puppet parser validate' to validate puppet changes.
(imported from commit f1ab619b6e0b993f3b9b6fe081f085d2dd2072b0)
2013-08-09 13:53:17 -04:00
Steve Howell 6790ed79cc Add a unit test for activity.js.
This includes slightly invasive, but harmless, changes to
the production code.

(imported from commit ff40af504de2360ada866508da262e0d2e9f7ad9)
2013-08-09 13:11:59 -04:00
Steve Howell 29fd84fdbd Rename check-all to lint-all.
(imported from commit 844b2c69748f6d9df8ff1189c006ccf405f787c3)
2013-08-09 13:06:02 -04:00
Steve Howell db33028b98 Added tools/test-js-with-casper symlink.
The test-all script now calls the symlink, and the run script
has been cleaned up to be symlink friendly.

(imported from commit 8abb5c1e5744416e94ff843e50c53e0d0f7e1316)
2013-08-09 13:04:52 -04:00
Steve Howell 0a21b9b294 Simplify test-all: just use the script names as banners.
(imported from commit 20e48c468a5ccae63c64385dc114a4f8c892fc61)
2013-08-09 13:04:52 -04:00
Steve Howell cf1d94edef Add a test for stream_color.js (pick_color).
(imported from commit a49f96a4a7b61ef51c057e8a3f11c116d77ebb49)
2013-08-09 12:29:02 -04:00
Steve Howell cef72fd8b8 Add tests for the Filter class.
(imported from commit ef0917bd7911c5cc6f6d20d356c156d483ba723f)
2013-08-09 12:04:43 -04:00
Steve Howell cc73619a9d Add unit tests to narrow.js.
This includes slightly invasive, but harmless, changes to
production code.

(imported from commit 847557c11088b75c836cc399d0af75353a8faa3a)
2013-08-09 11:59:32 -04:00
Steve Howell e36fd929bc Created stream_color.js.
This is a pure refactoring that mostly just moves code from
subs.js to the new stream_color.js and updates module references
accordingly.  In order to prevent introducing some exports,
update_stream_color was given an additional "sub" parameter
and update_stream_sidebar_swatch_color was given an "id"
parameter.

Killed off unused initial_color_fetch var.

(imported from commit b7644ce67f50d31fb46f564d758d661eea776aa6)
2013-08-08 18:22:44 -04:00
Steve Howell 50b28dec49 Add node-based unit tests for util.js.
(imported from commit df666a5b96d378787e911c2cd6e509b7d42e1cb4)
2013-08-08 17:25:24 -04:00
Tim Abbott a8d553bd10 post-receive: Properly encode unicode argument.
(imported from commit adc94a100462a8a2de0be8c05e60c0e33180e50d)
2013-08-08 10:32:16 -04:00
Tim Abbott 9181c7c75b Move generate-fixtures to tools/.
(imported from commit 3d452b17e315ba9adf91e33408a7711d16b069a2)
2013-08-08 10:22:32 -04:00
Tim Abbott 6550134b3e Rename humbug_*_config.py to zulip_*_config.py.
(imported from commit a1d4dd22c59f812f0eb4875dc70c89ce96a4b90c)
2013-08-08 10:22:31 -04:00
Tim Abbott 03293b7be9 Rename humbug-send to zulip-send.
(imported from commit 61400841f8fffe4c706d867aaa012059bcba271d)
2013-08-08 10:22:31 -04:00
Tim Abbott 747a9c536f Rename the 'humbug' API module to 'zulip'.
(imported from commit b3a3d7c05459cbb0110cd0fbe2197d779f3a6264)
2013-08-08 10:22:31 -04:00
Tim Abbott 2ea1bb05a5 Rename ~/.humbugrc to ~/.zuliprc.
(imported from commit a0d53dd20097a56971874dc1d84c6f95267e84f2)
2013-08-08 10:22:31 -04:00
Tim Abbott 7b9305b06f Rename Django project to zproject.
This includes a hack to preserve humbug/backends.py as a symlink, so
that we don't need to regenerate all our old sessions.

(imported from commit b7918988b31c71ec01bbdc270db7017d4069221d)
2013-08-07 11:04:03 -04:00
Tim Abbott f512f53e9e Rename send_deployment_finished_humbug.
(imported from commit 8f1a0b6c70dcbda5bc7288ffd0eeae1ff494b40e)
2013-08-07 10:00:09 -04:00
Tim Abbott ef790d6793 Rename humbug-puppet-apply to zulip-puppet-apply.
(imported from commit f04563d5dcab6db23ddb3238b9c0e5c1a76e72d3)
2013-08-07 10:00:08 -04:00
Tim Abbott 130d381302 Rename humbug_tools to zulip_tools.
(imported from commit 7f21fdc2c2d6ad0bdbd99eb616ffc75c347d8dcb)
2013-08-07 10:00:08 -04:00
Tim Abbott 7232369619 Rename humbug puppet module to zulip.
(imported from commit 7ed2a40439a48f4ef47932b345b9fac1a76cbb58)
2013-08-07 10:00:08 -04:00
Tim Abbott a8c70f6dde Change Humbug => Zulip in tools.
(imported from commit a081a6f26407528d5952c8065f15f19c66ce9111)
2013-08-07 10:00:07 -04:00
Tim Abbott 1f1af26048 Change Humbug => Zulip in text/comments.
(imported from commit 2f9d73431ae40e1b9e9e11bc2f4f62f566ae758a)
2013-08-07 10:00:07 -04:00
Steve Howell 57f518c9c2 Add node JS unit tests for MessageList.
(imported from commit 486a343add91fd5037431504e1ce4a750bfa9fbf)
2013-08-07 09:25:13 -04:00
Tim Abbott e111a2f9a5 [manual] Rename Django app from zephyr to zerver.
This needs to be deployed to both staging and prod at the same
off-peak time (and the schema migration run).

At the time it is deployed, we need to make a few changes directly in
the database:

(1) UPDATE django_content_type set app_label='zerver' where app_label='zephyr';
(2) UPDATE south_migrationhistory set app_name='zerver' where app_name='zephyr';

(imported from commit eb3fd719571740189514ef0b884738cb30df1320)
2013-08-06 07:39:36 -04:00
Tim Abbott 6dd049fa26 Rename zephyr.js to zulip.js.
(imported from commit e62aa374f1bf2e75cebc00d0bba4e3ade82d19f6)
2013-08-05 17:59:04 -04:00
Waseem Daher c16651bf23 [schema] Add referral system
For now, we just get emails about referrals that we have to follow up
on manually.

I don't love using the name "referral" in some places and "invite" in
others, but we already use the verb "invite" to mean something else
and "invite" is a canonical noun.

(imported from commit 0814c18395952fcdef234c1584984f71ca1b6f37)
2013-08-05 17:14:51 -04:00
Steve Howell 770bc5c96a Fix pointer motion at top/bottom of viewport.
We always intended to move the pointer up when you were at the
top of the viewport and scrolling up, and we always intended to
move the pointer down when you were at the bottom of the viewport
and scrolling down.  We didn't intend to move the pointer up
when you were at the bottom, or vice versa.  This commit fixes
that bug, simplifies the code, and inlines the code into ui.js.

(imported from commit 77e2ace9d2fc1025e1349e3be13c76c3a397fd38)
2013-08-02 18:18:04 -04:00
Steve Howell 3726b86a94 (tests) Rename search.js -> search_suggestion.js
This follows up on extracting code to js/search_suggestion.js, and all
the search tests apply to the new module.

(imported from commit dec6c8614c25b4f82da57edeaddc7cfef28260a5)
2013-08-02 17:28:03 -04:00
Steve Howell b33858dd70 Created search_suggestion.js.
Moved 400+ lines out of search.js into search_suggestion.js.  This
leaves search.js primarily responsible for lots of little DOM
interactions, whereas search_suggestion is more about data.

(imported from commit 53d08b29367c0172e483064f213538d45098279e)
2013-08-02 17:28:03 -04:00
Steve Howell 2442edee9e Add the "static" directory to NODE_PATH for unit tests.
I added our "static" directory to NODE_PATH for our JS unit tests.
This eliminates most of the verbosity in our require statements, but
it still requires us to explicitly call out "js" or "third"
subdirectories, which should make it a bit easier for folks reading
the tests to distinguish modules from js, third, or node itself.

(imported from commit b77a5283135d388d46f4b7e511acc59986f1a8ba)
2013-08-01 17:58:25 -04:00
Waseem Daher 86cf40c8a9 Move feature_flags into its own file.
(imported from commit b775f85a24422d236b0079810b98b6b984cb60a2)
2013-08-01 13:00:15 -04:00
Tim Abbott f792adfa6a Disallow single-statement if statements without a brace.
(imported from commit e52f90a0f3e7340a764d391b1f38f1820e953ae7)
2013-08-01 11:47:54 -04:00
Kevin Mehall 0e0ed886e1 Add feature_flags mechanism to enable experiments.
In the future, this could come from the server to enable individual
experiments on a per-realm basis.

(imported from commit 8fd1ba1910b3cfd131f58bab8efbd11a42053bc3)
2013-08-01 11:26:55 -04:00
Tim Abbott 7b44451c3a Remove old code for backing up sqlite version of trac database.
(imported from commit 2b5c461a8426e9b93ce46f48ce14dbef1b099ae2)
2013-07-31 16:54:09 -04:00
Zev Benjamin e8112ff1c1 test-js-with-node: Fix searching for node binary
Previously, when the first `which` failed, the entire script would
fail with exist status 1 because we pass `-e` to the interpreter.

(imported from commit 601de3b3e3edd90110fc478f7874e644009d1b62)
2013-07-30 17:58:06 -04:00
Zev Benjamin b950121fc2 Account for nodejs sometimes being installed as 'node' and sometimes as 'nodejs'
(imported from commit 751216c9544671106dd555823e31ad9d4553a7aa)
2013-07-30 17:29:47 -04:00
Steve Howell d82ccb6243 rename tests
(imported from commit cd98a86a5e07765f753ac1904e45ccd1213d6d67)
2013-07-30 09:05:49 -04:00
Steve Howell 998a22eabb Created test_search.js. (unit tests for search.js)
(imported from commit 8127c04ccc68a9ac106e5684a7ea9a621cb1831f)
2013-07-30 08:55:44 -04:00
Steve Howell 032415fcb4 Move bot avatar code to avatar.js (from settings.js).
This step of the refactoring really just moves the code.

(imported from commit 4d551c43d25723b2556448f47b6b61228e782f54)
2013-07-30 08:40:49 -04:00
Steve Howell 46c4a6a9b3 Add unit test coverage to unread.js.
This covers most of the module's functionality, with special
emphasis on lines that use underscore.js (_.each and _.filter).

(imported from commit 074181a0273286a258504be634bdd1cead2eecd5)
2013-07-29 13:47:57 -04:00
Steve Howell 09bd52fff4 [third] Add underscore.js
(imported from commit ee17cc1d1dff2a6f816a81bb33fa04ca5562a441)
2013-07-29 13:47:56 -04:00
Tim Abbott 3bba0cc927 Move zephyr/static to just static.
It's not really a part of the server (aka the rest of zephyr/).

(imported from commit 27f6b6b064938ad927075a68d873e4b68710d279)
2013-07-29 12:11:26 -04:00
Luke Faraone a78718e299 Back up MediaWiki by dumping to an XML file and committing the result
(imported from commit 1f5d6b114e6dcf6940a56d9501ef41c15a772dd0)
2013-07-26 16:14:55 -04:00
Steve Howell 958955da23 Run node-based JS unit tests from test-all
(imported from commit 5bf9b690dfd3ac83296a58cf44a170960adaed39)
2013-07-26 14:52:33 -04:00
Steve Howell f258ce2127 Created test_message_tour.js.
I haven't hooked this into test-all yet, but I did modify
message_tour.js to accomodate the test.

(imported from commit e58f595f4fe1160f539c18ec09dbe22eebf1f104)
2013-07-26 14:52:32 -04:00
Steve Howell 625003cbe1 Nudge pointer past visited msgs when coming home.
When you return to Home, we normally restore your last
position when in Home, which might have been before the
first unread message.  This is cumbersome for sidebar readers,
so now we keep track of messages that you visit while on a
tour away from Home, and when you return Home, we skip forward
any messages that were in the tour, landing on the last visited
message.  This all happens before rendering.

(imported from commit 9124a231d94f153e283e5ea95e40c50a58406275)
2013-07-26 14:03:55 -04:00
Tim Abbott 3fcd6eb9e6 Update humbughq.com => zulip.net in tools.
This shouldn't be pushed until we get graphite.zulip.net working.

(imported from commit c0dd208222385a9ee92ad1ca8fbf141894f7c7b6)
2013-07-25 17:27:45 -04:00
Tim Abbott 5764e86edc Remove obsolete merge-messages-logs tool.
(imported from commit 7feb10e74df4b788f0f9c6ba34cf23aa7db26d11)
2013-07-25 17:19:18 -04:00
Tim Abbott b1aef98ed0 Change humbughq.com to zulip.com in usability data.
(imported from commit 8bd1b134ae0ce46e0000b62c2f1c6dabb1db06cd)
2013-07-25 17:19:18 -04:00
Tim Abbott e6ba8c8147 Update msmtprc for new zulip.com email addresses.
(imported from commit bb1e36193382b87c4426bdf259257468d30de70a)
2013-07-25 17:19:18 -04:00
Tim Abbott 77b0ddef78 [manual] Rename shakespeare users to zulip.com domain.
We need to update our Nagios configuration when this is deployed.

(imported from commit 28cc3ecfe30c41562742733d6952c8e69b87d67e)
2013-07-25 17:19:17 -04:00
Tim Abbott c7d57e6e4a [manual] Rename commit bot to zulip.com domain.
When we push this to staging, we'll need to rename the bot in the
database and also pull on git.zulip.net.

(imported from commit 22b2397b197c8820f0e55daecd8f98d829e195bd)
2013-07-25 17:16:53 -04:00
Steve Howell fad259d75d Move code from hotkey.js -> navigate.js.
Created up, down, page_up, page_down, to_home, and to_home pretty
mechanically from the old hotkey.code.

(imported from commit 5956b91c2e0122c6440f70db9b92f918c9b599aa)
2013-07-24 23:39:35 -04:00
Tim Abbott 270110d8a4 check-all: Fix output for jslint failures.
(imported from commit 1398eea533e4b8b273d3984d9872ef3706c1102e)
2013-07-24 15:43:44 -04:00
Scott Feeney 4b9c82fb97 Insert static_header.txt as a Closure input file
This way its presence doesn't throw off the generated source map.

(imported from commit 4d7cbb7cb3a9ce103a836ea9baa990c88fe5c804)
2013-07-23 16:18:00 -04:00
Scott Feeney 0a3d24826e Zulipify the review script
* CC to code-review@zulip.com
* If domains are omitted, assume @zulip.com
* Don't set email or site explicitly, instead relying on ~/.humbugrc

(imported from commit 9700a0e3d6aac97c8030dcbaba7790018173929a)
2013-07-23 14:53:34 -04:00
Scott Feeney 1e8881d21a Accept zulip.com emails in post-commit hook
(imported from commit 783aec2bf0613ef962afa48614d56d3f81d54e38)
2013-07-23 14:50:39 -04:00
Jessica McKellar 12a37ed2b8 Always keep the compose box open after sending.
(Some cases are disabled on outside of staging still due to mix
protection concerns).

(imported from commit 26fcb95c055640ddd87c5df424990ebd865a336a)
2013-07-19 15:48:12 -04:00
Kevin Mehall c7db0f8147 Fix test breakage introduced by 16af5e3
(imported from commit 6945b32a0ae1105c3ad91de5b9f98d39ae0228a5)
2013-07-19 10:49:34 -04:00
Tim Abbott 6a333395ca check-all: Run checks in parallel.
This save most of a second on the runtime for check-all on my laptop.

(imported from commit 16af5e3cbeb1511d9491c1cfb9778bdb19a9fb8c)
2013-07-18 17:54:46 -04:00
Scott Feeney 3395ac2fb1 Allow CasperJS tests to use 'document' & 'window'
(imported from commit f3f3834d723c7b07e7aaff4ce8cab10a72255f22)
2013-07-16 17:53:44 -04:00
Luke Faraone bb0a7c8fc3 [manual] Switch various configuration files to refer to .zulip.net.
We only want to change cases where we're talking about the hostname; HTTP
requests should still go to staging.humbughq.com for now.

Before this commit is deployed the hostname of staging.humbughq.com should
be changed to staging.zulip.net on the VM.

(the same for prod)

(imported from commit 7412530773f720ac227f40061c9ddb1a851e19bb)
2013-07-15 16:49:55 -04:00
Scott Feeney 3942907eec Fix pathname in an update-deployment error message
(imported from commit 1f21593056d4a272c0ad9f7f16ed5664f9d393f1)
2013-07-12 11:59:11 -04:00
Scott Feeney 2c33320746 Reuse minified JS from previous deploys
This is a big change affecting lots of areas:

* Pipeline no longer deals with JS (though it still minifies CSS)
* A new script, tools/minify-js (called from update-prod-static),
  minifies JavaScripts
* A command-line argument --prev-deploy, if passed to minify-js or
  update-prod-static, is used to copy minified JS from a previous
  deploy (i.e., a previous git checkout), if the source files have
  not changed
* update-deployment passes --prev-deploy
* Scripts are now included with the minified_js template tag, rather
  than Pipeline's compressed_js

Also, as a side benefit of this commit, our Handlebars templates will
no longer be copied into prod-static/ and accessible in production.

Unminification is probably broken, but, per Zev and Trac ticket #1377,
it wasn't working perfectly before this change either.

(Based on code review, this commit has been revised to:
 * Warn if git returns an error in minify-js
 * Add missing output redirects in update-prod-static
 * Use DEPLOY_ROOT instead of manually constructing that directory
 * Use old style formatting)

(imported from commit e67722ea252756db8519d5c0bd6a421d59374185)
2013-07-12 11:59:04 -04:00
Scott Feeney 88d070e182 Convert update-prod-static from shell to Python
(imported from commit 6c362367776bbfa678632adde2379d6e8c0096f3)
2013-07-12 11:59:04 -04:00
Kevin Mehall 8df4857524 Revert to old mark as unread on view behavior.
Effectively reverts 185e865 and b67e52d.

(imported from commit e9b95f1fd9e2ab7926f15910044e9e9879ea085f)
2013-07-11 14:01:26 -04:00
Kevin Mehall d284f6e91f Preliminary stress testing tool.
(imported from commit a94bb7798788870d90423af10959e6a145dc8e85)
2013-07-09 15:56:57 -04:00
Tim Abbott 493d8276e5 update-deployment: Fix buffering argument.
(imported from commit 7a62af4727384d4c1c0f87513aa62c25ab075569)
2013-07-09 14:41:06 -04:00
Tim Abbott 9ddf6b0295 do-destroy-rebuild-database: Default to randomly generated message data.
And use only 1 thread, to work around pylibmc multithreading issues on
OSX.

(imported from commit bb065b611cb67133f727747cec4a0ff568513788)
2013-07-09 14:35:02 -04:00
Steve Howell ca3f2f4c4d Do not buffer deployment output.
(imported from commit a4ffde1096cc8eb5ca64b0feafd33063e6a159d1)
2013-07-09 12:39:21 -04:00
Scott Feeney c42bf9b9b2 Refactor popovers into their own file
(imported from commit 36ad3c61e4d7eb05751f9b886d15edceab656d71)
2013-07-08 18:53:03 -04:00
Steve Howell 0908f15109 Make narrow.by_subject 'read' its message.
(imported from commit e81140c440fecd283443eab46f0c65faffee8df1)
2013-07-08 17:12:32 -04:00
acrefoot fdb597b4d3 v1 Emoji autocomplete
(imported from commit 0b0d4b004936ce4abc37f44317aec414451f3a8e)
2013-07-08 15:26:39 -04:00
Steve Howell aacb5c3da9 Prevent 'function(' in JS code.
(imported from commit 1f86de8786ec9db10c54c1630da633690990859b)
2013-07-05 16:32:33 -04:00
Kevin Mehall 0f6bdafea3 Mark all messages in view as read when you hit the bottom.
Trac #1428

(imported from commit f40d890091528969ae4e4db80adb019cbce60fef)
2013-07-03 17:10:15 -04:00
Kevin Mehall 22c1a66da8 Don't mark messages as read by visibility.
Trac #1428

(imported from commit b67e52d7434220e397ca20ffa49915de6633519c)
2013-07-03 17:10:15 -04:00
Michael McCanna d284c92ea0 Reworded usage help for tools/review
(imported from commit 75595c9fde0ce37ec052c18fbb4b4d35623fe1ce)
2013-07-03 14:16:56 -04:00
Jessica McKellar 5688ee5e57 Provide a function to set the get_updates timeout to 0 for the tutorial.
(imported from commit c904360ffe6fe3cacc9de37d523501a0d45f7176)
2013-07-02 18:26:17 -04:00
Steve Howell 741929008b Add profiled decorator and a tool to show profiler results.
The goal here is to make it easier to do ad hoc profiling on
our codebase, particularly by running tests.

(imported from commit 71da06feb3a369dec8dc4d8391f7f40e4c2d02ff)
2013-07-02 16:47:34 -04:00
Tim Abbott 8dcdf74af8 update-deployment: Wait up to 5 minutes for lock, rather than just failing.
(imported from commit 3677354841d6084f0917acde4baa79f9c8c3d26b)
2013-07-02 11:36:40 -04:00
Tim Abbott 152ba9ccc7 update-deployment: Remove unnecessary arguments.
(imported from commit b28336b1e45de85a7bc24ee89327d19e106cf3cb)
2013-07-02 11:36:40 -04:00
acrefoot b62d7acbc7 W3C Notifications to allow Desktop Notifications in FF too.
Caveats:

- Since Chrome has trouble using W3C Notification when it's not
  initiated by a user gesture, we try to use webkitNotification first.
- FF doesn't allow iconUrl to be of a different origin, so it won't display
  our gravatars

(imported from commit c4f99ce6927a0d203d9f220d50b06737779bd7f8)
2013-06-28 17:30:57 -04:00
Scott Feeney 83cd963c49 Remove unused imports
(imported from commit 9e3050c72a2d1137b9096c6cfa1c3945341b9a56)
2013-06-27 16:22:39 -04:00
Steve Howell 7c9aee1dd0 Check for more Python gotchas in check-all.
Avoid these idioms:
   "foo"(2)
   'foo'(2)
   "Hello %s" % planet

(imported from commit 3a726928d8e4e4f2148ea12d13b709d9adf1a3f1)
2013-06-27 14:41:17 -04:00
Steve Howell 2bacaf2213 Fix % formatting style in miscellaneous places.
(imported from commit 917196024c981f879355c728da9b4590e964eeef)
2013-06-27 14:41:17 -04:00
Tim Abbott 84b073b05c API: Release several additional API calls to users.
(imported from commit 8b32fa126ab76dc80ee775482a9749dff17edf37)
2013-06-25 16:34:45 -04:00
Kevin Mehall bab2c2f93a Don't print an error when nodejs is at /usr/bin/node
(imported from commit d9d7b1d258825c4ea9804eae71dffe54eedc3c1c)
2013-06-24 10:46:36 -04:00
Kevin Mehall fb678e330b Make test-all's check for trailing whitespace give the line number
of the failure.

(imported from commit 721a19145d52c285e134b82c4b0f6e7faa3c64db)
2013-06-24 10:42:16 -04:00
Michael McCanna 425a247569 Fix path injection for tools/review
(imported from commit 25bac426b71a55f29faa232dcac1d957f2941182)
2013-06-21 11:44:40 -04:00
Luke Faraone 7b75dd9cc4 Use different mechanism to determine the running user
Per http://docs.python.org/2/library/os.html#os.getlogin, getlogin()
only works when you have an associated controlling tty.

This script didn't work previously because when we do deployments there
is no tty. Thus, we switch to the alternative mechanism for determining
the current username described on the page linked above.

(imported from commit 1dbcf98fd7248d20e501fd7fb22e1dbd306040fd)
2013-06-19 16:35:35 -04:00
Luke Faraone df1211e6af Make restart-server refuse to run if non-Humbug user on deployment
If you're running this as a user other than "humbug" on a deployed server,
you're going to have a bad time.

Specifically, memcached won't work, and other undefined behaviour may
occur.

So here we add a check and error out if you run this script on an
app_frontend as non-"humbug".

(imported from commit a3d5f0f58ded42393c03f4d21b4650494fae418f)
2013-06-19 08:32:59 -07:00
Tim Abbott 5c1dda5e31 generate-activity-metrics: Use a long time horizon.
Now that we have more than a month worth of data, it's nice to
actually just display it all.

(imported from commit f2ec027af81699d6937e52b18ac40973a54c349b)
2013-06-18 14:59:07 -04:00
Leo Franchi 3fd7c44331 Tweak desktop app JS to support Cocoa WebScript
(imported from commit 6b0c3442f92cffedbd210530479a13d4af5ea266)
2013-06-14 10:46:26 -04:00
Tim Abbott cbbca8319b Restart Tornado _after_ moving the deployment symlink.
Otherwise we end up running Tornado against the _previous_ version of
our code!

Testing of using supervisorctl to stop and then start a process shows
it takes about the same amount of time as doing a supervisorctl
restart, so there's no reason not to split the two commands apart and
make it super clear that nothing is running at the time that we move
the deployment symlink.

(imported from commit c38049da2bfc9fa94320a32dbf3240d1fcba67f7)
2013-06-13 16:32:23 -04:00
Zev Benjamin 614b5396a6 Collect static files directly in the location that will be served
We exclude the original source files for minified files by using a
custom Finder.

(imported from commit a6a25eb6146da53167b71c6d1c44588f75966059)
2013-06-12 17:46:38 -04:00
Zev Benjamin 33fed064e2 Prepend the minified static file header using a custom Storage class
(imported from commit 2b67a6d94de1693bdb8a91f455b92375692f4c41)
2013-06-12 17:46:38 -04:00
Tim Abbott f0f8ce957a humbug-puppet-apply: Pass through arguments like --noop to puppet.
(imported from commit 3ec5c1402acd7910da399f420290c0269a12c525)
2013-06-12 17:19:33 -04:00
Tim Abbott 34904c51a3 Sync the local user's API key into test database.
(imported from commit 999334fea0d922ced506b454163e640a35a30509)
2013-06-12 16:21:10 -04:00
acrefoot da361b9208 jbarnold composebox UI experiment
1) When you send a message, restore the focus to the composebox, targeted at the same recipient
2) If the composebox is completely empty and you press up or down, have that close the composebox and take the appropriate action
3) If you started the compose via a reply option (r, enter, click), don't refocus the composebox if the cursor has changed.

(imported from commit 84545e49d06959eb62e7fd2b22e1387383df6d1d)
2013-06-07 17:39:31 -04:00
acrefoot 0972c1e677 [manual] Modify review to allow testing+review in the background
Does a test-all using /tmp.
Not safe to run with other tests simultaneously.

You use it just like tools/review, and on a successful test-all
it will submit the code review, without tying up your git working directory.

It depends on new patches to the acrefoot-bulk_create_with_id-1.5.1 branch of
django. Updating this is the [manual] step required. Since test-all doesn't happen
on staging or prod, this is not required for this commit to be deployed, but other
django patches will help with the SSL connection errors we've been seeing.

(imported from commit 3fd3ff00240a2d648c4c54748a8a70616067ef7d)
2013-06-06 17:36:02 -04:00
Zev Benjamin 8884e81bb3 Move the current deployment symlink in restart-server
This will help minimize downtime.

(imported from commit 47fb66f0d2e21fc12f62c69b7c59ca6828553309)
2013-06-05 16:33:43 -04:00
Zev Benjamin 300e57fcbd Fill memcached caches synchronously before restarting the server
(imported from commit a45fa845e94a1fc6e96a1aafca31e9a6fc2b7526)
2013-06-05 16:33:43 -04:00
acrefoot 8447174325 Make testing message appear on its own line in code reviews
(imported from commit 5d37c7dc51723d08aac7d12fa71e9d7da0f3f62c)
2013-06-05 15:38:16 -04:00
Tim Abbott 74f70f3915 generate-activity-metrics: Display by-week usage numbers changes.
(imported from commit 22bc1592c35c5f86ab89f7f4fc14ba7dbd2375db)
2013-06-05 10:24:23 -04:00
Tim Abbott 42ddabf91a Do only one bucket, as specified on command line.
(imported from commit 4ca4f9609a01a6cfedc55efdbe2423673bbe4904)
2013-06-05 10:24:23 -04:00
Tim Abbott 6f38feca05 Change display format for metrics
(imported from commit eb87f1958fd52098d8bdcf205efc95cdaad56787)
2013-06-05 10:24:23 -04:00
Leo Franchi b6a3446b62 Refactor to use wildcard/exclusion for all
(imported from commit 2874361aef2cbc14a3047f964eb584f27a29323c)
2013-06-05 10:24:23 -04:00
Tim Abbott 5f86ed92f3 generate-activity-metrics: Add support for specifying realm.
(imported from commit 09e2adb6ae8d9fb0a140fbbe9a0f1272e2aa81a7)
2013-06-05 10:24:23 -04:00
Tim Abbott 6425a894f5 generate-activity-metrics: Fix import issues.
(imported from commit a8dd3690200ea42616301adc29d136e7554f45df)
2013-06-05 10:24:23 -04:00
Tim Abbott efcf88a707 puppet: Fix paths in feedback-bot configuration.
(imported from commit e9407af884dc75490de5168e067453e77aa612d7)
2013-06-04 19:48:13 -04:00
Tim Abbott 0c78bb87fa puppet: Add tool to call puppet apply for the current machine type.
(imported from commit 995f32d3daed69f8fc01e950f7c40fc71cdad684)
2013-06-04 19:48:13 -04:00
Tim Abbott 0378c43dc6 update-deployment: Move Schema change detected to post-receive.
Since update-deployment is run on the host being deployed to and only
has access to a recent clone of the git repository, it doesn't
necessarily have the old refs available for reverts.

(imported from commit 3652f58a7b165c805822bf6d8a4f0792c629e28e)
2013-06-04 18:42:00 -04:00
Tim Abbott 795173ac86 update-deployment: Move color codes to humbug_tools.py.
(imported from commit 96a79a699ea032714b24aa6572fd188433b979a8)
2013-06-04 18:42:00 -04:00
Tim Abbott b753eb0c1e [manual] Include the events API in the API tarballs.
Previously our receive API bindings were broken in our API tarballs
because we weren't including the receive API bindings which they used.

This requires our deploying the built API tarball to the prod server
when we deploy it so that the link on /api isn't broken.

(imported from commit 14ecaab34556f4e29c72f4f567d8af73c89d6297)
2013-06-04 15:53:36 -04:00
Leo Franchi f9a99192df Add supervisor conf file for stats
(imported from commit e9104676e714dc36050fef50cabe8386b6c52e4d)
2013-06-03 16:16:22 -04:00
Tim Abbott 8d40864c8b Include the commit that was deployed in deployment finished notices.
With our currently rather slow deploys, this helps with the confusing
case where 2 deploys happen in quick succession and the second is
blocked by the lock.

(imported from commit 5a8bd449ecbe0825838faf72099b67f94db7797a)
2013-05-31 17:01:34 -04:00
Steve Howell 322128a771 Check for whitespace in check-all.
Exit with a failing status if any of your
non-excluded JS/Python files have trailing whitespace.

(imported from commit 0aa184fa85a4a1ddeef6ea40dff57ce43c10e459)
2013-05-31 15:25:35 -04:00
Tim Abbott 05f943395b post-receive: Send a notification when deployment process completes.
This is a little hackish in that I'm using humbug-send rather than
importing humbug_git_config.py to get the API keys and all, but this
was quick to do and I think it's valuable for us to have this output
on our deploys.

(imported from commit 24d7954d04aadeff77ea9cdb76fdc8be055f3ac5)
2013-05-30 16:42:14 -04:00
Zev Benjamin 6e0a5e0293 Add notice of inclusion of third-party code
(imported from commit 62d141e6ebd3368bd1cb3154d6903f9408f2b77c)
2013-05-30 13:51:47 -04:00
Tim Abbott 1ab3918338 Add pre-commit and post-commit hooks for use on dev systems.
As well as a little script to automatically configure them.

(imported from commit c2e7f990f5f2091b5bebdd1b3dad402457943c95)
2013-05-30 10:29:44 -04:00
Steve Howell 35ac129496 Remove unnecessary code in check-all.js.
(imported from commit 3b35f8f951692955402524100efc49cc1bffef69)
2013-05-29 17:52:14 -04:00
Tim Abbott 1960c8e8f1 Show data for every day we have, for now.
(imported from commit d1f26176c1efaf8ba5fa1a74bcd53d38627757d5)
2013-05-29 15:39:53 -04:00
Leo Franchi 444bec285b Add a rough tool to get day over day and week over week activity metrics
(imported from commit fd6e6771fd29a31d553620c0f29ed663e2d680aa)
2013-05-29 15:39:53 -04:00
Zev Benjamin ad2e59b506 update-deployment: Log the fact that we're about to clone the repo
(imported from commit 5dd09ed84c9aec228c700dfff651aea0e74a4a5b)
2013-05-29 15:29:52 -04:00
Tim Abbott 7927edb374 Ensure your dev environment API key matches your ~/.humbugrc.
(imported from commit d4d0699ce912685ede445ed677c46dfeefa68b42)
2013-05-29 15:11:24 -04:00
Zev Benjamin 4cd9abdf10 Fix post-receive to work with new update-deployment
update-deployment now expects the ref name to already be relative to
origin

(imported from commit 0a1792119dd2565c2413acbca25e0fe370f09bf8)
2013-05-29 13:53:41 -04:00
acrefoot c58ac9cc0c Re-focus on the compose box after a send
Re-focuses on the compose box after a send, but only if
the compose-box was opened by responding to the message
at the cursor (by hitting "r", enter, or clicking on the message)

(imported from commit 8e7560c8ea31397b57b2bc3e2e7d9dd996226a6f)
2013-05-29 13:07:45 -04:00