Commit Graph

728 Commits

Author SHA1 Message Date
Zev Benjamin bd9e97c839 Widen settings page
(imported from commit 45fd755c303eb209da4a6eb777d1e1b651baf659)
2013-05-11 02:38:32 -04:00
Jessica McKellar 7ed8f2420a Align Enter sends message with checkbox.
This also saves us a little bit of vertical space.

(imported from commit b7740f93259eb4678bac9370f1090d2c02954be7)
2013-05-10 15:28:14 -04:00
Jessica McKellar 7e0dc7ab30 Make the compose box take less vertical space.
(imported from commit ca28485d3def93e9c8b3e4a257f05ff4fb74ea18)
2013-05-10 15:28:14 -04:00
Leo Franchi 4173862833 Send notification with missed message to users if they received a PM while offline
This is configurable in the user's settings on Humbug

(imported from commit 80bf6d7a6f0dc3811117548e2225865db8b533d9)
2013-05-09 10:35:48 -04:00
Leo Franchi 06f33a2bde Add code to generate emails for messages that a user missed
(imported from commit 36d3dd9bebbdc9d2af0b0f14acd7f0f6550be4b4)
2013-05-09 10:35:48 -04:00
Waseem Daher 567d04d386 Remove Glyphicons third-party dependency.
(imported from commit 4f5f4e915370f3631c558f8fd7feefc79c357e50)
2013-05-09 10:35:47 -04:00
Waseem Daher 0bcdee759e Use FontAwesome gear for settings icon.
(imported from commit fbcfd7fb94d7df34fec5dc49ab7deb366e6cf4d9)
2013-05-09 10:35:47 -04:00
Allen Rabinovich 23c729a904 Switched to Source Sans Pro as the base font for the app and made a number of other cosmetic changes.
What changed:
   * Vector icons swapped in for the left sidebar buttons and filters
   * Lighter font weight in the stream filters list
   * Round color swatches in the stream filters list, with an inner shadow
   * Tighter line height in the individual messages in the message pane
   * Fixed button widths in the left sidebar (so the buttons are equal in width)

(imported from commit 337dc4a3d8e29945cfc8cfb9524ac76a7b038ad8)
2013-05-09 10:35:46 -04:00
Waseem Daher 9384870ffa Always-open composebox.
Really, the "correct" way to do this is to undo "scrolltheworld", and
then just have a compose div that always lives underneath the message
list div. (This will also allow us to deal much more reasonably with
the whole "Is the composebox in focus" thing.)

In the interest of prototyping something more rapidly, though, we
adopt the somewhat more hackish approach, with the understanding that
much of it will probably be simplified later.

(imported from commit e2754be155c522b6dac28e7b84c62bd2030217c8)
2013-05-09 10:35:46 -04:00
Zev Benjamin 8702d37028 Do narrow-related side-bar manipulation in event handlers
This commit also fixes a bug where "starred messages" wouldn't get
bolded when you narrowed to starred messages.  However, it also
introduces a regression where subjects aren't highlighted correctly
on load to a narrow which will be fixed shortly.

(imported from commit 411575d92762e41d04c1baf126c0ab1dfb4225a5)
2013-05-07 11:47:13 -04:00
Waseem Daher d664c2c92c Typo fix on features page.
(imported from commit d5907570ff4f2215776bcb99754d1d3c0fe8cd49)
2013-05-06 13:52:01 -04:00
Jessica McKellar f6c4e6a22e Add a first pass at a features page.
(imported from commit a1ffd7b010085f842f8fc6e8af15358e913beb41)
2013-05-05 22:46:30 -04:00
Luke Faraone 6bc2d21b87 Make audible notifications a tunable.
This decouples from Chrome notifications, which gives us cross-platform
support in at least modern browsers.

We log this action so its replayable in our message logs.

This implements the model change indicated by the previous schema commit.

(imported from commit b21213cdde54f43670bbb0bf1f607147fc732b38)
2013-05-03 15:08:49 -07:00
Jeff Arnold b33405d32c Make the terms page printable
(imported from commit 76e2e7e8f136c9cc1e5cc2ec6ee37bdf7212837b)
2013-05-02 16:10:03 -04:00
Steve Howell c02540bfa6 Show lock icon in compose box for invite-only streams (811)
(imported from commit c563fa605d850f39c3b3f0ae9530700f1d1b6e73)
2013-05-02 13:39:34 -04:00
Steve Howell 0d84d0858a Update docs for jira integration (configurable streams).
(imported from commit cd07ac89f31bc3095f1262d02881a7c78a572c87)
2013-04-30 18:14:11 -04:00
Luke Faraone 4491f7b1d8 Don't show a name of "None" if not using Google Apps authentication.
Previously we used the value of gafyd_name in forms, which means that if
it was undefined we'd end up with a string literal "None" being passed to
the registration form by the confirmation redirector.

(imported from commit c8fbb749bb793c8e927e86603ce196bf810f3f6a)
2013-04-30 14:15:52 -07:00
Tim Abbott e9ea54b9ec Improve the zephyr mirror instructions.
(imported from commit 2570672c4184e5c2b6049e370ebc46ec2b59f0b5)
2013-04-30 11:54:16 -04:00
Waseem Daher ccc5363f3c Make text-underneath-compose-box all nicely line up together.
(imported from commit d4676d95ccad18f65a29447647581b41d53dfa9a)
2013-04-24 17:49:45 -04:00
Luke Faraone 91b4e8d25d Add link to sign up with OpenID to the registration page.
Not that anybody visits that page.

(imported from commit 3102ffb4f6c952d94c4f4a7c90f381c6e0da51e5)
2013-04-24 12:03:42 -07:00
Luke Faraone c48ff1784c Implement OpenID signups.
This allows users on signup-eligible domains to sign up for Humbug using
Google Apps.

As part of this, we wrap the openid done view in our own code in order to
handle the "Unknown user" error. Therein, we create a PreregistrationUser
and then shunt the user through the rest of the confirmation process, pre-
filling in their name.

(imported from commit 066d9a1021384a6da2662352e62a701451bd6f44)
2013-04-24 12:03:42 -07:00
Allen Rabinovich f8397e42c2 Adding an "Attach files" button to the message composition pane.
Changes include:
   * New markup for the button in compose.html
   * A hidden file input field in compose.html
   * Added reference to the file input field in filedrop
     initialization in compose.js
   * A feature test and a click event binding for
     the "Attach files" button in ui.js
   * New paperclip icon reference in fonts.css
   * New general hidden display classes in zephyr.css
   * New composition pane button classes in zephyr.css

Fixes to the "Attach files" button commit e673bda...

Changes include:
   * Fixed the feature test for (new XMLHttpRequest).upload so
     it works in Firefox.
   * Renamed .button to .message-control-button
   * Removed stray newlines

(imported from commit c1f0834b74fd7120ec27db64ec380ffb3fa34633)
2013-04-24 08:59:13 -07:00
Waseem Daher 072cb2425b Update new-user text slightly.
(imported from commit c75ff167234d83715924ce30fa04896feb35b859)
2013-04-24 10:28:33 -04:00
Waseem Daher 5b1aed7022 Rename "Your messages" to home, and give everything an icon.
Pretty hackish for now since this is presumably going to all
be redone with Font Awesome icons in not too long.

(imported from commit 497d6cf18d7a8d6014a20c08d66d88c324478e55)
2013-04-23 15:14:45 -04:00
Waseem Daher fba9ae983c integrations: Remove unused Jenkins images.
(imported from commit 6e88b4e050b217e2dd6a1201e08b5d71145d2e67)
2013-04-22 11:48:25 -04:00
Waseem Daher 84443310df integrations: Simplify the Jenkins installation instructions.
(imported from commit 612070ccef7f1637a093503fa2e902c540b00a8e)
2013-04-22 11:48:25 -04:00
Jessica McKellar f407d6b935 Add UI for restoring a message draft.
(imported from commit 3e374048a59d2caf858eb1ce9eae3e22eb0835e4)
2013-04-22 11:14:56 -04:00
Luke Faraone c29061c4d3 Show curl examples first on /api
(imported from commit d3467d883579bee82969029ed4875b785dc10667)
2013-04-22 07:55:54 -07:00
Luke Faraone 1473009dbb Remove commandline documentation from the endpoints page.
We don't really provide many CLI tools yet.

(imported from commit 255a95987b800425d4a0c597084dcec0026c555b)
2013-04-22 07:55:54 -07:00
Luke Faraone cbe2441702 Correct inaccurate response to POST /v1/messages
(imported from commit e7f644b8c33296f09adfc39b095e5cfa0ca69e82)
2013-04-22 07:55:53 -07:00
Luke Faraone f7aacaa7ec Reword endpoints lead.
(imported from commit 243cce59c4a7f74529afd73c682b7c8b5be1da76)
2013-04-22 07:55:53 -07:00
Luke Faraone a36eba6a34 Simplify python example of client init
(imported from commit 37768e54af49e38915438f95586a472ca134452a)
2013-04-22 07:55:53 -07:00
Waseem Daher aad262d041 fonts.css is included in our compressed CSS; no need to import separately.
(Actually, it 404s if you try.)

(imported from commit 5fc022693f6c76efaf468c80d547c605b4742452)
2013-04-22 10:00:02 -04:00
Allen Rabinovich e28cef697f Switched the star icon to FontAwesome and made it bigger and green.
* renamed the 'icon-star' style to 'icon-vector-star' to keep backwards compatibility for icon-* classes
  * changed relevant styles in zephyr.css; added FontAwesome assets
  * changed relevant CSS classes in base.html, left-sidebar.html, ui.js, message.handlebars
  * added new fonts.css to start consolidating all font-based assets
  * added fonts.css to PIPELINE_CSS in settings.py under 'portico' and 'app'
  * modified the stars test suite to reflect new star icon class name.

(imported from commit 3116fcfd4b5fb4edecd457da554fea616bb7081b)
2013-04-21 17:31:50 -07:00
Leo Franchi 85df171753 Add integrations writeup for Pivotal tracker
(imported from commit 3e1601bbbae465a1c607ddf7258e9f24ddcdb1b6)
2013-04-19 13:46:41 -04:00
Luke Faraone 1e34114439 Add an example of the call_on_each_message function.
(imported from commit 164689ee246bcdfc0d39366b1c30f1af44935386)
2013-04-18 09:57:58 -07:00
Luke Faraone 3703d33219 Switch default tab to Python
(imported from commit 43fe8126f7eae218338c31ba96f6531d59232053)
2013-04-18 09:57:58 -07:00
Luke Faraone 546a376d1c Move API endpoint docs onto their own page.
(imported from commit 0472c9051ba75e8c8ea4f80941ca9ef3b7ad949e)
2013-04-18 09:57:57 -07:00
Luke Faraone a97d4b7cb2 Switch to pretty codehighlighted humbugrc
(imported from commit 3e4f156a3d017166d1339784c5b3593b402d7805)
2013-04-18 09:57:57 -07:00
Luke Faraone 724ecce063 Add breadcrumbs to static pages.
(imported from commit a2ad69953e320847c063026e2debaf0916167c35)
2013-04-18 09:57:57 -07:00
Luke Faraone f5d4925360 Create aggregate jobs page.
(imported from commit a7271fb7586252ee7168115f7cf9bbf4db58ef0e)
2013-04-18 09:57:57 -07:00
Luke Faraone ea7965d9bb Rework API documentation to cover all supported calls.
We now generate our API documentation page based off of JSON source.

(imported from commit 0e8a91ef4278684dbcad89cad39a1977672245fc)
2013-04-18 09:57:56 -07:00
Luke Faraone 4601db82e5 Bump API version on /api to 0.1.6
(imported from commit 41a0e4f77fe2960d55b4302a502f8d3b8721c787)
2013-04-18 09:57:55 -07:00
Waseem Daher 191fb3cb49 Capitalize "Your messages" consistently with the others.
(imported from commit d049e8b500a60e40c1f910837343d48973cb2b93)
2013-04-14 20:51:48 -07:00
Zev Benjamin 5069140116 Align star icon with home icon
(imported from commit c8ba6b53ce9faf9e003cb7b1a0096f13fc85002e)
2013-04-12 16:08:49 -04:00
Tim Abbott 0e1842f77c Rename 'Home' to 'Your Messages'.
(imported from commit 879c8f135f4a5aee1e819fd8be07d47928f68d1c)
2013-04-12 15:43:42 -04:00
Keegan McAllister 10e823704e settings: Change "Your avatar" to "Your picture"
(imported from commit fc971b0217509058f9276119fbfc7a3df950309e)
2013-04-10 18:05:02 -04:00
Keegan McAllister af25f8a5f1 Add password strength checks to password reset
(imported from commit 3723d2bfa6012c3d4cef2199c5efd3530e9e6d2b)
2013-04-10 18:05:02 -04:00
Keegan McAllister 1211061f6a Color the password strength bar red or green
(imported from commit 6b3fa7d3565a7e4f61a952fc26e1e9e564d894f9)
2013-04-10 18:05:02 -04:00
Keegan McAllister 966545403b Move password strength bar update into password_quality
(imported from commit 054d9487e325cff819e80fb0e1cb85f5c0db42d8)
2013-04-10 18:05:01 -04:00
Keegan McAllister 5487f794a2 settings: Clean up API key box show code
(imported from commit a8fc8c769ae11cb0bdab882ead4531ade5d2b12b)
2013-04-10 18:05:01 -04:00
Keegan McAllister f399e29fe9 settings: Hide password change controls behind a link
(imported from commit 6d0f3861ef97f45231d388378f429974e876ddbe)
2013-04-10 18:05:01 -04:00
Keegan McAllister 525c0bcd3f settings: Shrink Gravatar to match left sidebar
(imported from commit ff4853af6e7163e90dc9bc7ea5dd87983d4343ef)
2013-04-10 18:05:01 -04:00
Keegan McAllister 481f07d948 settings: Move success / failure indicator to the top
And scroll there on any error (previously, we would scroll only if we end up
submitting the form).

(imported from commit 63597c4da78ac92cd5c2314d6d174d178b1caaf3)
2013-04-10 18:05:01 -04:00
Keegan McAllister e54e97ffda settings: Reduce whitespace at the top
(imported from commit 7d697f6d985abcfb5e5144f0563760eadf4274d9)
2013-04-10 18:05:01 -04:00
Keegan McAllister b6e97541f2 settings: Format API key link like other forms
(imported from commit 805d3cfffcbd7f1b4274f49b0b6c2c6902b111c2)
2013-04-10 18:05:01 -04:00
Keegan McAllister 3e31646567 Add a password strength check on the settings page
(imported from commit 68ae1732e62be076a4619b522009a76215d69757)
2013-04-10 18:05:01 -04:00
Keegan McAllister 4932b030b5 settings: Clean up code and layout
(imported from commit 7a9a12c745954ea04f9f7de79e3a0833b31713fd)
2013-04-10 18:05:00 -04:00
Keegan McAllister 2211b2f572 settings: Clean up bankruptcy UI
(imported from commit 31b0092899192353ae3ba525f272f839bb4d8113)
2013-04-10 18:05:00 -04:00
Keegan McAllister 627bcc3add settings: Remove unused class
(imported from commit dedb4c02098f3cec9c2e3d67c377672925a04f4b)
2013-04-10 18:05:00 -04:00
Keegan McAllister 38517b3ff4 settings: Redo form using Bootstrap CSS instead of <table>
(imported from commit 3266cdc84c9af3b2a000370c64b45125f8165a53)
2013-04-10 18:05:00 -04:00
Keegan McAllister 07bb220194 Add a password strength check on the signup page
(imported from commit a44101485e49fd7a7951bda05ba10a021b6d3ee0)
2013-04-10 18:05:00 -04:00
Keegan McAllister 7eb0bf4fc1 signup: Use a large button
...and move it closer to the controls.

(imported from commit a9a2dd28d4ceb48b59e5aa0ff25dda31f078ffba)
2013-04-10 18:05:00 -04:00
Keegan McAllister 63d739ef17 signup: Rename forms
(imported from commit cd7e90aa56da4982b627af757f8c4684f5103bc2)
2013-04-10 18:04:59 -04:00
Waseem Daher 062e106400 Update Jenkins integration instructions.
Now that our plugin is in the Jenkins marketplace thing,
we don't need to have the user laboriously download it
from us and upload it themselves.

(imported from commit 25e9926f7f2314db8f3ea6c00c40514b6fd546c3)
2013-04-05 17:32:41 -04:00
Luke Faraone f20f605376 [manual] Add file upload support.
This allows users to drag and drop content onto the compose box, storing
their data in Amazon S3.

New dependencies:
 - python-boto

(imported from commit 339874e483db5c36312c9ceae56db29da6ca0d99)
2013-04-05 13:07:13 -07:00
Zev Benjamin 9d1548fe08 Add empty feed notices for private messages
(imported from commit e4067336f6b2e9e82b794599d30dfc3825852652)
2013-04-04 11:36:51 -04:00
Zev Benjamin de1f4b0be2 Remove all inline event handlers
This allows blueslip to catch exceptions from the event handlers on
these elements in addition to the other benefits that not using
inline handlers provide.

(imported from commit 2bdcb2496c6c08fa7228a20ce6164b527cf64e41)
2013-04-04 11:34:32 -04:00
Zev Benjamin db3ded4e84 Fix 'resend email' link for email confirmation
(imported from commit 744a4c13b50ad32b8feb4e51b632346c6f283ad4)
2013-04-04 11:34:05 -04:00
Zev Benjamin 28b154bdeb Move integrations Javascript to a customhead block
(imported from commit 1483230e6b2ed5c7954c8cc3041ab9f8680ff790)
2013-04-04 11:34:05 -04:00
Luke Faraone 7256e5c2bf Switch existing documentation to the new API style
(imported from commit 12e4cb89900a5a6663c0d23cdf7367406333a1fb)
2013-04-03 15:35:59 -07:00
Leo Franchi d8bed8dc08 Update integrations copy to mention %40 hack
(imported from commit 3b952309289204317a2a5ba57ba17e75ae9732ac)
2013-04-03 10:21:06 -04:00
Keegan McAllister 5ebd281f38 Serve only the runtime part of Handlebars in prod
(imported from commit 8e55cb99deff680c832502396625b8cb1054e0cb)
2013-04-02 14:44:27 -04:00
Keegan McAllister 17d5406b55 [manual] Fetch Handlebars templates using Ajax
...rather than embedding them into index.html.

This is only acceptable for dev, but the next commit adds an alternative
mechanism for prod.

There isn't actually a manual deployment step here.  However, this commit won't
work on staging / prod without the next one (since we don't serve
zephyr/static/templates in prod).

(imported from commit dce7ddfe89e07afc3a96699bb972fd124335aa05)
2013-04-02 14:43:58 -04:00
Keegan McAllister 37c5e1acd5 Upgrade to Handlebars 1.0.0-rc.3
Not needed for any specific reason, but we will need the .runtime.js file
eventually, and we should use a version of the library that matches the
Handlebars compiler.

(imported from commit 5600bc8d44b681999e2e5bbf04b890e2bb8477a1)
2013-04-02 14:43:58 -04:00
Leo Franchi e727caa4e8 Add integrations blurb about Beanstalk
(imported from commit e8f952dd9614fd050891275084e5b2f7be1471c4)
2013-04-02 13:35:43 -04:00
Tim Abbott 1443edce00 Access the UserProfile's new email field rather than using User.
This is preparatory for stopping using the User model.

(imported from commit a1b0808c8cc2ddd19a25163f91c4f18620c9ce90)
2013-04-02 12:07:08 -04:00
Jessica McKellar 33a9bae5d1 Tailor empty narrow messages to what you were narrowing for.
(imported from commit 876afce2a63d4d6a522ac5300349b2be8805405f)
2013-04-01 14:26:50 -04:00
Waseem Daher 6067ada53e integrations: Clean up Jira documentation page a little.
(imported from commit bea7a499a2d4584bca136f5c77beff38a9498d59)
2013-04-01 09:50:58 -04:00
Leo Franchi 0712cc6279 Update integrations page with webhook info
(imported from commit 77a8100d09732d34923de79f03acfb8495ada6bb)
2013-03-29 16:14:39 -04:00
Jessica McKellar 08422009fe Add a `Starred messages` sidebar link.
(imported from commit 0109e64b412afcd8d0d58b5e027d30c82faa970c)
2013-03-28 16:59:59 -04:00
Waseem Daher 1b6d86ef88 Properly encode spaces in mailto urls.
Apparently + is just how you used to encode spaces in aim:
urls in 1999, not in mailto: links.

(imported from commit 156708378e6b1d6955063a0979c8bee9d5b0e849)
2013-03-28 14:43:51 -04:00
Tim Abbott 4a91b4a1ea [django 1.5] Use new-style url syntax in templates.
Checked using the following (relevant for rebasing):

git grep url templates/ | grep -v "'django" | grep -v "'zephyr"

This appears to not have a good backwards-compatability story (well,
there is one involving a %load from the future, but it seems to not
work).

(imported from commit d740831658aa23cadbbb82082ac6a3738d449a1d)
2013-03-27 08:19:26 -04:00
Leo Franchi ae42e77ad6 Fix copy in Jira integration page
(imported from commit 12bae68313ca7497686a59bfcad93802ec2991cb)
2013-03-26 18:37:54 -04:00
Leo Franchi 6573a4ebb0 Bump API version to 0.1.5
(imported from commit 7c8c66369971e44405219eddac7e8bb3ddb44063)
2013-03-26 18:20:08 -04:00
Leo Franchi 9de2442bd9 Add infomation in JIRA integration in our integrations page
(imported from commit 2aef274c630cc918a6fde8fa33a4598ba8ee7f3f)
2013-03-26 14:14:47 -04:00
Jessica McKellar 7104de7af1 Make message formatting accessible from gear drop-down.
(imported from commit bbd7a0562bc96206b2d692433aa8c35cf3f9010a)
2013-03-26 14:05:45 -04:00
Keegan McAllister 7309d57067 Output page_params as a single JSON object
This is a lot cleaner, and also cuts about 50-70 ms off of page load time in
local testing (with lots of users), presumably because there's less work to be
done by the slow Django template engine.

(imported from commit 257b700238ee5d9a4ae00a53011ed5bce018124c)
2013-03-26 13:51:21 -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
Waseem Daher ba35dd8a77 Update Capistrano integration instructions.
As per feedback from Wes of TurboVote, the original submitter.

(imported from commit a2aab5c779f4c4519222365d957c991e3fa99f4b)
2013-03-26 13:12:00 -04:00
Waseem Daher 0f333fcd62 Remove misleading comment from jobs page.
(imported from commit 1974aeb5f20e80117ed51d029ca206df78b80d7d)
2013-03-22 14:37:54 -04:00
Waseem Daher 6760e68f94 integrations: Document Capistrano integration.
(imported from commit e26774e3657a71e8f21bf8ef2b1b1a9c289707da)
2013-03-22 14:37:54 -04:00
Waseem Daher 1d503d75ac apps: Don't make fun of Windows users.
(imported from commit 40dc16dfebffe8c26867340dbb9eed2263668144)
2013-03-21 11:15:53 -04:00
Waseem Daher e1e7978fae "Lead designer" job posting.
(imported from commit 1f9e00e45f69d47842524d715fe5e8a8a4a8b7df)
2013-03-19 13:28:53 -04:00
Leo Franchi 6d6c3364dc Rewrite message flag handling to fork out to a subprocess for batch handling
(imported from commit 1ef846f542950cabf32f8b176f5591cf5794a0ff)
2013-03-19 09:55:12 -04:00
Waseem Daher 797b5ee63f Add page describing our Humbug apps.
(imported from commit 2e071782a13a497e57225b2a84c41d58f5e120b5)
2013-03-15 19:16:44 -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
Zev Benjamin a5b7c86303 Show an error message to users on fatal errors
(imported from commit a1ee2329e6b9dfa6f575106f1e32574bef0598a2)
2013-03-13 10:55:34 -04:00
Luke Faraone 3c95013a15 Iconify public/private streams on subs page and new stream modal
This will hopefully make stream privacy more noticeable. We still don't
allow people to modify privacy after stream creation, however.

Since we now use a radio box on the stream creation modal we had to change
the selector used by subs.js to determine if a new stream was to be invite-
only.

(imported from commit 641a4fab74301a9b3ecd4b3859f010dd4ece193e)
2013-03-12 15:14:29 -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