Commit Graph

36 Commits

Author SHA1 Message Date
Jessica McKellar 976ceb2a1d Display onboarding steps, waiting until after the tutorial for new users.
(imported from commit 2b6a1cfdad98349995c48c376caede64ed391241)
2013-05-14 10:27:40 -04:00
Waseem Daher 5f28cf8e02 Restore tutorial's ability to see what you send.
The internal format of 'message' had changed, so prior to this commit,
the tutorial was receiving (a) internally inconsistent, and (b)
not-what-it-expected versions of the message.

(imported from commit 233b934e6b600bd59125d133fdf7443fd8f6bbf8)
2013-04-24 10:35:25 -04:00
Waseem Daher eab43f28f4 Properly compute the name of our tutorial stream server-side.
It's subtle, but the slice was in the wrong place and wasn't
actually truncating the stream name at all, so the client and
server disagreed about where the tutorial messages should go.

(It might be the case that we should accept the tutorial stream
name from the client directly, rather than computing it in two
places.)

(imported from commit 8273223f182e8ad36eaea1cbf75e1426fcfdfbab)
2013-04-24 10:32:30 -04:00
Waseem Daher 5951c7eb00 Don't send tutorial timeout message if we're no longer running.
If the system was waiting for you to reply and you replied 'exit', the
tutorial would stop -- but our thing that was waiting for you to reply
would continue waiting. It would eventually timeout and send you the
heartbroken "I didn't hear from you so I stopped waiting" message.

Chances are, you were unsubscribed so you didn't see it, but we
should still just not send it.

(imported from commit 694e442bc29b32efd59f08b4b8b5f573768aea21)
2013-04-24 10:28:33 -04:00
Tim Abbott bc60be9ad5 Clean up the send_message processing of the message recipient.
(imported from commit 1e6d7783901743650cfb759b3136ae1de0f2989e)
2013-04-22 11:14:03 -04:00
Jessica McKellar 3e9e8eec1b tutorial: move script creation down the file to appease the linter.
(imported from commit 77b2b18874a19b39ec0a60c3c25b8459b50ce9ee)
2013-04-17 13:27:48 -04:00
Jessica McKellar 7d389d8c13 tutorial: fix broken pipelining of asynchronous requests.
Some functions invoked by the make_script framework weren't returning
their Deferreds. I noticed this as the hello stream not getting picked
correctly because loading your real subs hadn't completed yet.

(imported from commit fac3fa36b77585bd5c03bf8fbaec052fe397a481)
2013-04-17 13:27:48 -04:00
Jessica McKellar e15dd90bd9 tutorial: don't recommend saying hi on a tutorial stream.
Now we don't unsub you from it until after we've picked the hello
stream.

(imported from commit b1489007e972af7713804ba5ff98764a6393a0b6)
2013-04-17 13:27:48 -04:00
Jessica McKellar 6b4196a74a tutorial: fix race that could cause you to not see the goodbye message.
(imported from commit 52afce208890dbd863fc1661729e4351160d09ac)
2013-04-17 13:27:47 -04:00
Jessica McKellar 3945335e6e tutorial: don't let punctuation get in the way of exiting.
(imported from commit 7b97f382684bd2ddb92fc3efa6e1a635c4662aef)
2013-04-17 13:27:47 -04:00
Jessica McKellar a76977f57f tutorial: don't let the tutorial recommend saying hi on a non-existent stream.
Previously we added some names to your subs to use them as examples
during the tutorial. We no longer do that, but the tutorial could pick
a name from that list to recommend that you say hi on, even if you
aren't subbed.

Don't do that, and instead try to pick a stream that is in turn:
* your company name
* a probably-good stream name like social
* a stream that is hopefully not an alert stream like nagios
* eventually give up and pick anything

(imported from commit ec20c7722ea95b025dec62bcf47e33c62d1a8029)
2013-04-17 13:27:47 -04:00
Jessica McKellar bb315d4033 tutorial: remove CUSTOMER18 customer18stream1 hack.
(imported from commit b333fe10bf22aa5471b672fd51b2426191f259bf)
2013-04-17 13:27:47 -04:00
Jessica McKellar ac4385e410 tutorial: don't start the tutorial until you're subbed to the tutorial stream.
Also handle the case of subscribing failing.

This race could cause you to not see initial traffic from the tutorial bot.

(imported from commit 395a2968555e20a4dbc106dfa9d5790e9f102a3e)
2013-04-17 13:27:47 -04:00
Jessica McKellar 6a0c1f66d8 tutorial: factor setting tutorial status into a function.
(imported from commit 3ec355e3bcad25bbe8dceb9a1fdb9e8cce5156ca)
2013-04-17 13:27:47 -04:00
Leo Franchi 8fe82085c4 [schema][manual] Automatically subscribe users to default streams only after tutorial
(imported from commit 6511851c0aee2628bef597bf1310d6f96b0fd1d4)
2013-04-04 17:11:39 -04:00
Reid Barton 94c46a0af2 Tutorial punctuation tweaks
(imported from commit 0097cfad492de2658a2ab8a08fba0844ec6ba3fa)
2013-04-04 14:11:15 -04:00
Jessica McKellar 9451451672 tutorial: streamline some sections, and bold user actions.
This may help with compliance.

(imported from commit 8ef250b07a0a1a7023bc74f89a46875c88fadef7)
2013-03-26 14:06:25 -04:00
Jessica McKellar 76dade3b6e tutorial: remove code formatting examples and just link to documentation.
Those examples make the tutorial feel much longer, and they aren't
relevant to people who aren't using Humbug to talk about code.

(imported from commit c3213775d26cf533b3d9bde691de08a53d427939)
2013-03-26 14:05:45 -04:00
Jessica McKellar 2fd56b3745 tutorial: de-emphasize that we don't auto-scroll.
It's not so black and white in a world where we auto-scroll at the
bottom, and we've observed that people trying Humbug over-focus on it.

(imported from commit 2057643f179d5d1666cb33438c5a513977197b37)
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
Jessica McKellar 37e58b613d Truncate the tutorial stream name to fit the DB max stream name length.
(imported from commit e267656337f97d3ea14e14e957a405cf4fd2d06c)
2013-03-20 10:15:08 -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
Jessica McKellar 039178b12e tutorial: remove step telling you to colorize the tutorial stream.
We don't need it now that we auto-color.

(imported from commit 80066849b8f2aeef5e839f4fca40c9659b60a4af)
2013-03-11 16:47:04 -04:00
Waseem Daher a7495a8470 tutorial: Send an error message if the tutorial times out.
(imported from commit ae8b11f9b3d6e0480207492c4a3f64ac52b51367)
2013-03-07 16:52:52 -05:00
Waseem Daher 47da3b5229 tutorial: Get rid of unnecessary sleep.
We should start listening for the message right away,
not five seconds later.

(imported from commit 19de74e4dc309e81db56074bdc625aa76197b6ef)
2013-03-07 16:52:51 -05:00
Jessica McKellar 9d821b9541 Tweak tutorial text about subjects.
Use less technical subjects, and make them good examples of actual
topics you'd want to discuss (previous examples like 'jQuery' might
leave people wondering "jQuery is a technology, not a topic, why is
that a subject?")

(imported from commit 23b74fe145ed2d325daa94a46e63c42c005b1459)
2013-03-07 10:14:13 -05:00
Tim Abbott 9f06f5344d tutorial: Remove stale 'Great, you did it!' text.
(imported from commit 224b2ce50f5c86fdcb902a3ac3cc25ada81d51e3)
2013-03-06 18:03:42 -05:00
Tim Abbott bb97019720 Make Tutorial bot's 'exit' reply the same type as the exit message.
I.e. if you sent a stream message, Tutorial bot will reply to that
stream, and if you sent a PM, Tutorial bot will reply with a PM.

(imported from commit 05b7d1848f6eb1f70dcd5fb365fba9daee52a5dd)
2013-03-06 18:03:42 -05:00
Waseem Daher c39aa0b0bc tutorial: Update script and use stream messages.
This now adds you to a special `tutorial-username` when you begin,
we send tutorial messages there, and we remove you from it when
you're done.

(imported from commit a93a90b9347a4f72536e96331ddfd1d47727ce71)
2013-03-06 10:39:51 -05:00
Waseem Daher ca127f8228 Allow tutorial bot to send messages to a stream.
But only allow them to send to tutorial-<<your username>>.

The idea being that this helps reduce potential abuse from this JSON
call. (Because otherwise, anyone could call into this endpoint and
have the tutorial bot send random messages to random peoples's
streams.)

(imported from commit 471d4348d7ad43858b5df240e4f1dceba006aab6)
2013-03-05 23:46:10 -05:00
Waseem Daher 09a0471486 Update tutorial to reflect presence list on the right.
(imported from commit b3616337b5bcf2b07d7c5ba87f6c0ce185cc5889)
2013-03-04 16:27:13 -05:00
Waseem Daher c1269d9e42 End the tutorial if they don't send us a response.
But lengthen the length of time you're willing to wait for one,
as a consequence.

(imported from commit bbdcf29a8b9d479a08259e5ccabd464e09c18b58)
2013-03-04 16:27:13 -05:00
Tim Abbott a689e704ac tutorial: Clarify the initial reply instructions.
The first change might somewhat address users asking "does it matter
which one I click on?" by not being specific that one should click on
_this message_.

The latter I think addresses a small confusion I've seen where people
try try to hit tab before starting a reply.

(imported from commit 708acdf4d4c80713795b96b1a59d681a88604670)
2013-02-28 11:37:53 -05:00
Tim Abbott 63d7279cce Some small improvements to the tutorial text.
Most of them are just typos or funny punctuation, but this also adds
the word "above" after "You and Humbug Tutorial Bot" since otherwise
the user might try to click the text in the message body and be
confused.

(imported from commit dccaf4acd24db713acab261440f0a9d03860e0f4)
2013-02-20 20:59:36 -05:00
Waseem Daher af1327230a tutorial: A first draft of a tutorial.
Here I have a sketchy but functional framework for dealing with
all of the async stuff that a tutorial requires, and an early
draft of what such a tutorial might look like.

I could probably go and remove the first-run message, but I'll
keep it around for now in the unlikely event that something I
haven't anticipated goes wrong in starting up the tutorial.

(imported from commit de9779a66a1b3fe790082decb324c90ec180b39b)
2013-02-20 23:04:50 +00:00
Waseem Daher b51dc36667 Add a tutorial.js file.
(imported from commit 58b72d08c0cd7815c3c54bd37c4a8033f32cc7ad)
2013-02-20 23:04:49 +00:00