Commit Graph

3465 Commits

Author SHA1 Message Date
Leo Franchi 9fb5487473 Add a select_closest option to MessageList.select_id()
If we have removed a stream from the home view, and our pointer
that we load from the server refers to a message that is no longer
visible, we don't want to error out but rather select the nearest
message to our previously selected one.

(imported from commit d212f1fba7b06836d1d916b43042991625b6f41e)
2013-02-22 11:39:22 -05:00
Leo Franchi e6bd8271e0 Return undefined from MessageList.get() for consistency
(imported from commit 2fe76786921a1500c6ee7fc57af7de7cea667c73)
2013-02-22 11:37:47 -05:00
Jessica McKellar 947d389a33 Fix incorrect sidebar height, which makes you scroll past your messages.
(imported from commit 7244853c83ea884697f205ec5355403c5007d61e)
2013-02-22 09:58:12 -05:00
Jessica McKellar faf37b47be Lighten some of the jet-black text to dark grey.
(imported from commit 5588c2adda941ca0d7305fb7d4d0f97656a277c3)
2013-02-21 22:40:18 -05:00
Jessica McKellar 5821e85317 Make presence links black, like stream filter links.
(imported from commit 70cbf16ec4c5fa4b0d4ed2ce326354cbb1cd3679)
2013-02-21 22:40:18 -05:00
Jessica McKellar 021ed669a4 Correct the widths of the search bar and settings page.
(imported from commit 14904452cf3b246287e039adb0cdef3d3fa41e27)
2013-02-21 22:40:18 -05:00
Jessica McKellar 015cfb594e compose: remove a recent bit of error handling for subscribe-and-send.
(imported from commit c22ae573904a4532386291e540b8a23dca389a82)
2013-02-21 22:31:25 -05:00
Jessica McKellar f96079ee48 compose: move X to close a compose error to upper right.
(imported from commit f27e3b44f0f62bce8e448116926608da0066f78b)
2013-02-21 22:31:25 -05:00
Jessica McKellar 41aa91d300 compose: give users an action to take on subscription errors.
(imported from commit 62b2500bb1993f70b8218cd58fb335de25b18480)
2013-02-21 22:31:25 -05:00
Jessica McKellar 42ba9adad7 Remove unused CSS from removing subscribe-and-send.
(imported from commit ad315599277a1d15d536ff3d87c962e03e97d536)
2013-02-21 22:31:25 -05:00
Luke O'Malley eec2487b9e Remove sub-and-send javascript and add 'X' to all error messages
(imported from commit 66fd42914e4fc33719c4f21ad401748989f20b49)
2013-02-21 22:31:23 -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
Leo Franchi 982a3fda9a Only ignore website messages from user when calculating unread counts
(imported from commit 95bd6f8c2ce0ad1f5d59e311107f81e4b07b33dc)
2013-02-21 15:05:59 -05:00
Tim Abbott 6ad84b8cc9 git: Put prod back on the list of branches to send notices about.
(imported from commit e608d7050b4e68045b03341dc41e8654e45a3af3)
2013-02-21 14:33:27 -05:00
Leo Franchi 771eea22b8 Properly auto-complete usernames whenever they appear in a message box
(imported from commit 82ef65125731eb48fa029d16acc28add401ac633)
2013-02-21 14:24:55 -05:00
Zev Benjamin 48e7fed00f Fix the selected message when narrowing to a stream that has no messages loaded
We would previously scroll you to the top of the just-loaded block of
messages

(imported from commit 520e5588aa078313649677663c7feea4ca1d7145)
2013-02-21 13:29:17 -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 9e9b4c8541 Make MessageList.selected_id an accessor method
(imported from commit 144d12ba8be2de02900ef06c3413f660144de8bf)
2013-02-21 13:29:17 -05:00
Zev Benjamin 36798c8d67 Select the closest message to the target after narrowing
(imported from commit e41fcb032af5a8653b7573cb87bbc879a2008343)
2013-02-21 13:29:17 -05:00
Zev Benjamin a91aa7f8f5 Move message filtering from add_to_table to add_messages_helper
(imported from commit 45b1149771a0d96af4c6267fc8457e49c3d10799)
2013-02-21 13:29:17 -05:00
Zev Benjamin 9cac51d0b5 Add MessageList method for finding the closest id in the list to a given id
(imported from commit 244239f44e018940c26626388fd56ff7ac017a80)
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
Zev Benjamin e19f9fd3d0 Also restore the scrollTop when the hash changes to '#'
(imported from commit 7b93c4692cca0a6e12b8e01560be7ae00240fa39)
2013-02-21 13:25:29 -05:00
Zev Benjamin b2eb4530d3 Fix comment spelling error
(imported from commit 347a860dfb0de2c49c2810f3aa041bc5c4f427d0)
2013-02-21 13:25:29 -05:00
Leo Franchi 36d953e2af Show messages to streams we were just subscribed to
(imported from commit f852be239da1f3385f9fc9861a3ed07a7f47a6da)
2013-02-21 12:10:53 -05:00
Jessica McKellar 382f94b5b5 Move presence information to a right sidebar.
(imported from commit c5533988606f1fc05de6b83eeb39f8f913f6ad42)
2013-02-21 09:23:59 -05:00
Waseem Daher 6913d16f28 Make your name and gravatar clickable as a way of returning home.
I kind of expect this to work, and hopefully this'll help with
people getting stuck on the "Settings" page in the tutorial.

(imported from commit 1159d884dcd331bcfb74864a0176fa293e8c3714)
2013-02-21 14:05:40 +00: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
Keegan McAllister c7b88cc708 Disable backfilling 1,000 messages on idle
Right now the MIT realm has pretty bad UI lag with 1,200 messages loaded.  We
need to fix the root problem, but this commit at least makes reloading the page
a satisfactory remedy.

(imported from commit 93d47710891cfc4db9fa00beaa5ccd10113aa1c3)
2013-02-20 18:50:20 -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
Waseem Daher 163c9c8d75 Add a JSON call that causes the tutorial bot to send you a message.
The idea here is: part of the onboarding tutorial is going to
be you talking to the tutorial bot and it talking to you, from
our Javascript.

The reason it's driven by Javascript is that then in principle we can
do nice stuff like making popovers appear in places to point things
out to you, whereas if we were to do it strictly server-side, doing so
would be a lot harder.

The downside to doing it in Javascript is that you don't get any of
the Markdown rendering, since that happens on the server. So instead
we add this call where you give it a message, and it responds by
having the tutorial bot send you that message.

I don't think there are any security concerns here because
(1) The bot only messages you -- so you can't use it to make someone
    else think that the system is telling them to do something
(2) If there were an issue associated with having the server parse
    arbitrary Markdown, you could just trigger the issue by sending
    a message yourself.

(imported from commit b34f594dab6be6bcb81899278ae1cbe447404468)
2013-02-20 23:04:49 +00:00
Reid Barton 8b8f2707e7 Fix bolding of "Home", "All messages", "All private messages" when active
(imported from commit 759729b4b2c0ebac3e3f1c9f74617a2dbea50223)
2013-02-20 17:50:26 -05:00
Reid Barton 873f171fb3 Only perform scrolling functions when the home tab is active
(imported from commit a6bcbadfd94f6312af62648a90a9e4e9b0e97dbc)
2013-02-20 17:50:26 -05:00
Tim Abbott 72d7adce93 nagios: Lower default check intervals and default counts.
The defaults are quite large for a small site like ours where on
server down means an outage (e.g. only check every 5 minutes and then
require 4 failures before we alert the admins).

(imported from commit 3b2f436bbb716262f4ee939434749be535ffd6d3)
2013-02-20 16:47:55 -05: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 9323203cfb frontend tests: Remove trailing commas to make JSLint happy
(imported from commit b62192e67a74f1f47e87f87245c910f42e0b3bec)
2013-02-20 16:02:30 -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 af58956f9e Only show All messages link in sidebar if there are non-homeview streams
(imported from commit b247b651e531debbac2ad34a15b9a758de936348)
2013-02-20 14:24:49 -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
Leo Franchi 0e6ba5ebf4 Hide message table when adding/removing large number of entries
This fixes the issue where toggling show/hide on a stream in the home
view scrolls the page, because the removing and adding of rows in the
still-visible message table causes the cursor and scroll position to jump

(imported from commit 7454284a44af26379a0d2e7fce3683d98e3e4c48)
2013-02-20 13:49:24 -05:00
Tim Abbott f547bdce9e nagios: Add swap check.
(imported from commit 37ffdb8dfc117e728acc6c3fe4bae671c66ce4c9)
2013-02-20 11:10:45 -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