Commit Graph

782 Commits

Author SHA1 Message Date
Tyler Hallada 168ee1345c Enforce 10000 char limit on message box
Add maxlength attribute to the textarea which displays a tool tip (in Chrome)
for the user, telling them they are over the limit, so that the error is caught
before the send_message step (which is too late for Create and Send).

Fixes trac ticket #166.

(imported from commit 36b211a17f42dc8345e2235b4b4ca74c8f4e86c4)
2013-01-07 17:03:34 -05:00
Waseem Daher d9c41dd64f Mention mobile apps in MIT welcome email.
(imported from commit 7f32f1e51511a8386a23a1c73cf08d57c052a58e)
2013-01-03 17:57:27 -05:00
Tyler Hallada a3ccfdc78f Set bottom_whitespace height on resize with js
CSS height percentage was not working because parent div has an undefined
height, so instead it is set to 40% of the window height on resize (and initial
load) via JavaScript.

Fixes trac ticket #24.

(imported from commit 2c6a8489585c4bf70c44469ce8628264ec3fbc36)
2012-12-20 22:41:47 -05:00
Jeff Arnold db6f03d46d Make the back button work when narrowed
(imported from commit be922b06e7b53ec21751e67a490bb518333c3e6c)
2012-12-19 14:46:31 -05:00
Waseem Daher e0b8f4d3aa Make favicon have transparent background.
(imported from commit 841b1a21b2b4f01f298f0ceb099cf885f30d17b8)
2012-12-18 16:24:00 -05:00
Zev Benjamin 339ef0f139 Set the favicon a little more portably
http://en.wikipedia.org/wiki/Favicon claims this will work across all major browsers.

(imported from commit ab849cf3c0ac263fdff358c1ab77e079ccf90704)
2012-12-17 20:54:30 -05:00
Keegan McAllister 44b9925bfc Configure get_updates timeout in settings.py
(imported from commit 2a647bdd73c43ca5fed704925808efafc70da044)
2012-12-14 16:22:42 -05:00
Waseem Daher 4108f2f817 Add a 'realm' column to the activity page.
This makes it easier for me to, e.g. check on all of CUSTOMER1.

(imported from commit 1970df29b08b299cd1d00013abecefd7efbffb48)
2012-12-12 18:05:54 -05:00
Waseem Daher 4397400ab4 An ugly reminder of the shortcut for sending messages.
Hopefully this will make things slightly more discoverable;
the previous solution (putting a prompt in the initial text)
was not that discoverable.

(imported from commit f6a7fce1bfd27bda412522768e981b2ffc39f474)
2012-12-07 15:37:25 -05:00
Waseem Daher b5e63f8c1c Tweaks to Django 404 and 500 pages.
This fixes https://trac.humbughq.com/ticket/446
(by removing the "back" link).

(imported from commit 45a3cdcc8b20b843545e368449231a57d6d3c10b)
2012-12-06 15:54:54 -05:00
Jeff Arnold a8cd5539ff Revert "Rename the compose buttons based on feedback"
"Send to stream" is confusing.  Also, "Send to stream" is
asymmetric with the strangely verbless "Private message".

This reverts commit bb81f78948de20e78726c0cfbdeb91d7d21f32bf.

(imported from commit 1639e197d7acb2cc1d4ffd8dc67d3f3ca6712d0b)
2012-12-05 18:48:15 -05:00
Jeff Arnold d67e2cc4f3 Put the domain earlier in the titlebar, to help distinguish tabs
(imported from commit 225072a7cc044b011114a8630b02d74640b39d55)
2012-12-05 16:03:02 -05:00
Keegan McAllister ec3bef300b activity: Provide a link from the app
For humbughq.com users only.  Opens in a new tab.

(imported from commit 509905ebfacb45a454e863e8309896ffd3c538be)
2012-12-05 14:32:41 -05:00
Keegan McAllister 85507d6f26 activity: Load CSS and JS within <head>
This fixes (?) a glitch on load.

(imported from commit ecd4e2cdf5de114e5e371acf129b878cfa2717d0)
2012-12-05 14:32:41 -05:00
Jeff Arnold e77b0a3652 Make the send button more visually prominent
(imported from commit 34ee9441c1362652ea72cb9ad6bfc0d34edd3acf)
2012-12-05 13:22:52 -05:00
Jeff Arnold 26bcda29af Rename the compose buttons based on feedback
(imported from commit bb81f78948de20e78726c0cfbdeb91d7d21f32bf)
2012-12-05 12:49:52 -05:00
Keegan McAllister 97bcfbdbb8 activity: Put the three tables into Bootstrap tabs
(imported from commit 508c4b15a82df969b08b430ad892c4b13ed68092)
2012-12-05 12:35:05 -05:00
Keegan McAllister c256fcca15 activity: Right-align numeric columns
(imported from commit a09e961247a8747c96f23b8468c1a0dd5a4edbb8)
2012-12-05 11:42:09 -05:00
Keegan McAllister 5e8a6a846a activity: Shrink event count columns
This allocates more horizontal space to the date columns, which prevents them
from wrapping onto two lines.

(imported from commit 25105136850f74de0fd7c873a9365639db0984d5)
2012-12-05 11:42:09 -05:00
Keegan McAllister 23eef06ed0 activity: Initially sort rows by time of last activity
Doing this on the server is somewhat easier than making sorttable do it on page load.

(imported from commit 3ed7b127ba874d674d5cfe5b102c62a74be572f8)
2012-12-05 11:42:09 -05:00
Keegan McAllister 3f5d9902ab activity: Color rows for recently active or long inactive users
(imported from commit 5acc9317085acd7b4433b24b96bdf7fdebee5380)
2012-12-05 11:42:09 -05:00
Keegan McAllister 83d86f33ca activity: Clean up table computation a bit
(imported from commit c599d7ca572010c07b457ec15a305eef7dff78dd)
2012-12-05 11:42:08 -05:00
Keegan McAllister a54e009a3b activity: Display email addresses in bold
(imported from commit 09f6a821ac8a0dad98d69e69a411cba0af424cec)
2012-12-05 11:42:08 -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
Luke Faraone ec0683cd86 Cosmetic fixes to tutorial page and copy.
Make it so the image is not squished, change some paragraphs into
headers, and wordsmith a bit.

(imported from commit 81295e1a8ddd4f1ecd4532c4dfb8a38467bb530e)
2012-12-04 13:12:01 -05:00
Waseem Daher 3867cc3fe2 Add a "tutorial" page at /new-user
This is an interim strategy for user education that'll be a stopgap
until we build something in the app itself.

(imported from commit 9022d4ceffca98e127f7045f73c012857fe6fc54)
2012-12-04 12:05:56 -05:00
Keegan McAllister 7907be735e hotkey: Make Enter an alias for 'r'
(imported from commit 9bf1b97304a4a4c1100826fefbba8edf1e4cff12)
2012-12-04 10:52:44 -05:00
Waseem Daher d5946454c9 Tab-Enter reminder.
(imported from commit 1b017d88bd15cc4e3beb3cfd57a2674c7d12874c)
2012-12-04 10:51:38 -05:00
Waseem Daher 745ca0d451 Include spectrum.js.
(imported from commit 9c082785108037fd9f2db70ef140bd75f4c521a3)
2012-12-03 12:46:26 -05:00
Zev Benjamin 46f4a5eb38 Add util module
(imported from commit 3844e136fb799c6f57f8823255addf00a07ef686)
2012-11-30 15:04:46 -05:00
Keegan McAllister a40ff15d7b Use target="_blank" for the formatting example link
This matches the real links and is less annoying if you click it.

(imported from commit b4c8a1c0a8b791ef0f674766caf91c9548ba8290)
2012-11-29 19:09:47 -05:00
Keegan McAllister 8cbb6ab95f Equalize the widths of the two columns in the formatting help table
(imported from commit f0a1c7216cfbee777eac4827209ab93c32056515)
2012-11-29 19:09:47 -05:00
Keegan McAllister 3d3e88ad2d Tweak code block examples
(imported from commit 4790e217320ad2dae0b85216321b11755b0ba88c)
2012-11-29 19:09:47 -05:00
Keegan McAllister 3e2acd1c50 Retitle "Commonly used Markdown" to "Message formatting"
(imported from commit 81ff25772017e0b4c335e87fad4a3d3b03dd41f5)
2012-11-29 19:09:47 -05:00
Keegan McAllister 27a5d81134 Make the heading of a striped table more distinct
e.g. in formatting help

(imported from commit 0a4123c412689fb2f90985028bd7237fa6cdfb19)
2012-11-29 19:09:47 -05:00
Keegan McAllister 2aaeb6e44b Move the "Formatting help" link next to the send button
The tabindex on this link doesn't actually do anything, because of the Safari
tab workaround.  I added it anyway in case we remove that workaround later.

(imported from commit 11f31f2561907300b350c11732be88589d736f94)
2012-11-29 19:09:23 -05:00
Keegan McAllister f8d83af2f0 Move the send button into a <div>
So we can float other things along with it.

(imported from commit a01e554bdb3ab3187557244400954194149fb172)
2012-11-29 19:09:23 -05:00
Keegan McAllister 1047bf49b4 Replace compose.toggle_mode with compose.set_mode
This fixes a bug where you could click on the already-selected mode button, and
it would switch modes without changing which button is selected.

(imported from commit 263ee0b52ba844c52a3a60968bb1bbff73482412)
2012-11-29 16:51:32 -05:00
Keegan McAllister 093c65fed2 Remove Tab hotkey to switch compose mode
Resolves #461.

(imported from commit 1ee64f0d6ca05064041e6619e8dbf1dc516c2c13)
2012-11-29 16:51:32 -05:00
Jeff Arnold 6d966eff27 Include a publicity clause in the terms of service
(imported from commit 3006cddbfee168fb018dbe4d356786418fe7e97b)
2012-11-29 15:50:56 -05:00
Jeff Arnold 56e3cc8790 Document that desktop notifications are Chrome only
(imported from commit 65943b04c8f90f50240b50780784c25bde3ed78d)
2012-11-29 15:50:51 -05:00
Waseem Daher fcc2fd5cdc Add ability to show/hide a "load more messages" spinner.
(imported from commit 611e53b2574ef50c9ab0a47fc2ebedd931a49dfd)
2012-11-29 14:18:38 -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
Luke Faraone 1dbd806b6a Implement a favicon as a link rel.
This has the benefit of not getting cached forever by browsers.

(imported from commit c7c7877dfbb9d479e997d122827017036c5337f5)
2012-11-28 15:12:37 -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 69801ce1db Remove link to change email address
We never implemented this; the link goes to a 404.  And it's unlikely that we
will get to it soon, because we currently use email address as the unique
identifier for a user.

Since it can't be changed, we remove it from the 'Settings' tab entirely.
It's still visible in the sidebar, anyway.

(imported from commit a18c0726fb67baf04429a90e36a383cacd03ad8a)
2012-11-26 18:16:25 -05:00
Tim Abbott 81672af751 mituser email: Emphasize the importance of mirroring script.
(imported from commit 00d2c6b4ba35ca40f414c295f41d0ea7bdb505d9)
2012-11-26 17:10:15 -05:00
Luke Faraone e57625d089 Submit form after the DOM is ready per trac #314
(imported from commit 8facaa097342c830353464989990edb853f2adf4)
2012-11-26 14:48:54 -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
Jeff Arnold a6ec875268 [schema] Add enable_desktop_notifications to user profile
(imported from commit f5b543e8446263ce8855561441a6d4c1a8d41f4d)
2012-11-26 14:43:55 -05:00
Zev Benjamin 85e2bf9030 Remove dead code. We keep the message type and client name in JS instead of the DOM now
(imported from commit 79834160c53a5f7d99918d629fde311aa99fe280)
2012-11-26 14:42:27 -05:00
Zev Benjamin e35ec6e022 Stop using Bootstrap tabs for compose
(imported from commit 39dfbf9c427aaf3a85507e26ffeb1257da3dc435)
2012-11-26 14:42:27 -05:00
Waseem Daher 6d2b2f897a Implement safari composebox workaround in a less fragile way.
If Javascript breaks or stops working, the previous hack means that
Tab-Enter stops working on Firefox and Chrome (since the tab key now
needs to select two divs before it gets to the Send button.)

By putting the one div *after* the Send button, we ensure that this
keeps working gracefully on Firefox and Chrome (and presumably IE), at
the expense of Safari in this specific case.

(imported from commit 9c9a613b1b1718ff8f0b9ef7497ebb13db0ddc64)
2012-11-26 12:15:14 -05:00
Tim Abbott fac24df233 Show a user-visible error message when mirroring is not working.
The main problem with this code is that the error message doesn't go
away until you reload.  To fix this, we need to add a noblock option
on get_updates.

(imported from commit dc45af397bcf06a218bda5dd224ebd5fdf3462db)
2012-11-26 11:49:29 -05:00
Tim Abbott eefa5b2d7b API: Add support for nonblocking get_updates requests.
(imported from commit bf2ab19a83765c177fbb93abc1a61dccf5b4b2b7)
2012-11-26 11:49:29 -05:00
Luke Faraone 724dce78e4 Always allow registration if attempting to register for a non-MIT realm.
(imported from commit 00489ab74c376a4ffb23ad661699ef31c6c06818)
2012-11-21 16:42:15 -05:00
Luke Faraone 87d7ec57ee Use reference to view rather than direct URL.
(imported from commit 86ed3cbc93f7a4885bb9a87002dc39aaeae07820)
2012-11-21 16:42:15 -05:00
Luke Faraone 1c5ba6dc45 Remove Google Apps tease.
(imported from commit 57d46c26ba1888acde9117346782f8f99e371588)
2012-11-21 16:42:15 -05:00
Waseem Daher 5e321048b1 Put the realm in the <title> when you're logged in.
This resolves Trac #145.

(imported from commit 680c11ecb25e22201a1a335f97b014290aa25a06)
2012-11-20 21:15:26 -05:00
Zev Benjamin 90e0fc6259 Module pattern for ui.js
(imported from commit 951984ec1006e93a0ffc7e299b52fa02c10eb976)
2012-11-19 23:31:22 -05:00
Keegan McAllister 702dcbf210 Document that three tildes is enough for a code block
(imported from commit f50a9b0016f4c3e489258d1f3382fbc3b1c77189)
2012-11-19 14:34:18 -05:00
Keegan McAllister 4da83759dc Use a more illustrative example to document code blocks
(imported from commit 07d56d9df973fa4820b3c82bab9314c42bff2015)
2012-11-19 13:04:40 -05:00
Keegan McAllister 6782ff9f48 Document code highlighting syntax
(imported from commit 6d061081c03a67f55368e7bddf1008cf2bff02d4)
2012-11-19 13:04:40 -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
Waseem Daher 95706ce9a2 Create a searchbox typeahead where enter does not submit the form.
(imported from commit 38105e2f31611dda8c9767212f18c1a73640df45)
2012-11-17 23:58:16 -05:00
Tim Abbott 542f8695ad Add 'try now' link when not receiving messages.
(imported from commit f52a376a62f2aed213d641e31a6f4c0380057d12)
2012-11-15 15:09:25 -05:00
Luke Faraone 6f345e393e Update MIT template in collab with Waseem for clarity.
(imported from commit 99a406277b72dbb67ab08764e7984ef2b8953e53)
2012-11-15 11:36:57 -05:00
Waseem Daher 834c812a14 Rename "send_message" to "send_message_form" for clarity.
(imported from commit 25d9bde3390e47390724a8d4b3fd1fe95b44bd71)
2012-11-14 16:19:56 -05:00
Waseem Daher 3cf29025ec Prevent composebox form-handling code from running on all forms.
(imported from commit aee10dac671b1da83295d9e197eec4d3a0a7ceeb)
2012-11-14 16:14:48 -05:00
Waseem Daher b7a9e17b67 Rename 'search' input element to 'search_query'.
If we don't do this, we get all kinds of nasty shadowing where
references to 'search.whatever' seem to be references to the
HTML input element, rather than our search.js module.

(imported from commit 4e4b562ddf895baea9619316d9fab27ae5e9fc4e)
2012-11-14 15:29:18 -05:00
Waseem Daher a1c4aa6865 Modularize search.js.
(imported from commit 72f00f832846124d833071fdd46b026c99189512)
2012-11-14 15:29:18 -05:00
Zev Benjamin 534a1fd2ec frontend-tests: Click on the buttons the user would for sending
Previously we bypassed the big buttons on the left bar and clicked on
the anchor tag inside the compose box.  This bypassed the
compose.start() call.

(imported from commit 2b627825596c8d3c21441e58db895b8e488e624b)
2012-11-13 15:40:53 -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
Jeff Arnold 488370b681 Fix various compose box bugs involving typeahead and field navigation
(imported from commit 08fe92794d566163bd935d43ec5bd7eb69978f90)
2012-11-12 18:04:31 -05:00
Jeff Arnold 8bd2e5abf3 onchange is not needed for these compose box input fields
And having the onchange there e.g. breaks shift+tab in the subject
field after you've entered new text into the subject field

(imported from commit 080e81bd847a1b6d3defadb62b6c3640910e5aa0)
2012-11-11 13:25:17 -05:00
Jeff Arnold 8ba2d2ea8b Chrome prefers onclick="this.select()" to onfocus="this.select()"
http://stackoverflow.com/questions/2939122/problem-with-chrome-form-handling-input-onfocus-this-select

(imported from commit 15e87a3e79172e31cb76e68319014b5eb1d6deac)
2012-11-11 13:24:38 -05:00
Jeff Arnold 7ada59fe88 Clicking in subject/stream/huddle boxes should select all
Resolves Trac #86

(imported from commit 0e4d470fce01d7c4b1ad9103fe5f1dc726dcd984)
2012-11-11 12:28:26 -05:00
Jessica McKellar d6ad978c1a activity monitor: style tables and make them sortable.
(imported from commit 03c5002e6a289ca123b47f99c065b41cfc013762)
2012-11-09 16:45:18 -05:00
Luke Faraone 7605eaf646 Document confirm_preregistrationuser.html per trac #314
(imported from commit d9a19fa18fa4a8933cf4dbb9b286da28aa036956)
2012-11-09 15:03:08 -05:00
Tim Abbott 30b43ebee2 Uniformize /json/ and /api/ URLs to end with no trailing slash.
(imported from commit c35b30bcc43982db3a2f774ea69269e5424a6159)
2012-11-09 14:30:10 -05:00
Tim Abbott 85423bc010 Add a /activity page displaying data on user activity on the site.
(imported from commit 3877be49e4e0b89cadfead88b5c51f955759a996)
2012-11-09 12:28:38 -05:00
Waseem Daher 055d18b484 Add a "New private message" button.
(imported from commit fd15f26b73d0fedb536763d51fb4f0b50b2912bb)
2012-11-08 13:54:16 -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
Luke Faraone 87b3d0c581 Enable basic password reset functionality.
(imported from commit 5ac0d15912173067d946b31be1c1251bc12a940a)
2012-11-06 16:33:21 -05:00
Waseem Daher 7cc630e518 Clarify the titles on the stream/pm selector.
(imported from commit 28bfb7955ae0f52d8752978770217c3490e90bd1)
2012-11-06 13:39:39 -05:00
Waseem Daher ce2023b348 Make 'v' the new hotkey for "Show all private messages".
(imported from commit a7299633bf363cf832ff7099c963bc56abfdf734)
2012-11-06 13:37:24 -05:00
Waseem Daher 6b149af91d Rename 'huddle'->'Private message' in user-facing strings.
(imported from commit d3bdccc37a4fb7b373c6c1c69091353f39fecafd)
2012-11-06 13:37:24 -05:00
Waseem Daher 300f151c8b Disable animations on modals.
This seems to fix the page-scroll issue and is also a little less
ostentatious.

Fixes https://trac.humbughq.com/ticket/243

(imported from commit 5fdbcc62a251303d134aea46a0755984df125c63)
2012-11-05 18:39:20 -05:00
Keegan McAllister 4cd5cdbcd6 Revert "Clean up how we deal with the message type tabs"
This reverts commit 429e055d3eca65af8bc0fe58481a7becf9ced66a.

There is some inconsistency between the names 'huddle' and 'personal' that is
breaking things.

(imported from commit 4c81853fca9d88d13ce8f23e2d6884c33cdc57d2)
2012-11-05 15:01:49 -05:00
Keegan McAllister 477bad9536 Clean up how we deal with the message type tabs
(imported from commit 429e055d3eca65af8bc0fe58481a7becf9ced66a)
2012-11-05 11:49:01 -05:00
Keegan McAllister 02f7ac42e7 settings: Set the for=... attribute on <label>s
This means you can click the label to focus the corresponding box.

Also, it's more consistent with our other HTML, and may have accessibility
benefits.

(imported from commit c40de1e4137eb8ce5c69775ebcae346af9ae4e32)
2012-11-05 11:49:01 -05:00
Keegan McAllister 294eab4cc5 index.html: Clarify comments
The spacing around these gave the wrong implication.

(imported from commit 2e64a2e360d29739dc0ba867594a3f40ceb3e057)
2012-11-05 11:49:01 -05:00
Jessica McKellar 4396f1bf35 Don't unnarrow if you click the Home link from another pane.
This makes the Home link modal (when on the Home pane, it unnarrows
you; when on a different pane, it returns you to your feed in whatever
state you left it).

Fixes Trac #5.

(imported from commit 3181f17035d78a9916ab7a3ad336f34cb66d3cdf)
2012-11-04 11:17:48 -05:00
Waseem Daher 3235e682cd Revert "Move markdown help link into composebox."
This reverts commit 1a52ceaf00670e0861f5b7f043da78baff6bebe5.
It actually makes the composebox somewhat glitchy,
which I didn't notice locally.

(imported from commit cee0fac9bb61a710923301de1d51f86f7ffa5067)
2012-11-02 19:48:35 -04:00
Waseem Daher c2cd5e3419 Move markdown help link into composebox.
(imported from commit 1a52ceaf00670e0861f5b7f043da78baff6bebe5)
2012-11-02 19:46:59 -04:00
Waseem Daher 78ccefa54f An initial version of in-app Markdown help.
(imported from commit 14d374acee44e1beeed6cfcd57a0400f22080f27)
2012-11-02 19:34:56 -04:00
Waseem Daher 96986b1e07 Reindent for clarity.
(imported from commit 662f92bdddae575db456e8027432482b7bf79180)
2012-11-02 19:34:56 -04:00
Jessica McKellar d91ddf9359 Hide search arrow keys until a search is active.
(imported from commit 2f6a11ccc410633157502e8beebb4acf32eca2b6)
2012-11-02 11:04:16 -04:00
Jessica McKellar 9ec6b80019 Document the search hotkey.
(imported from commit 3577c64077ffd86a2803286896625cce8e72defb)
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
Tim Abbott 01bf0868a9 Rename new_subscription argument to streams.
(imported from commit 8024f47564fe580734d5e452f5092520870003a7)
2012-11-01 13:05:52 -04:00
Keegan McAllister b81ef9cca7 Replace template variables static_{third,public} with hardcoded paths
So that the 500 error view will render properly, even though no variables are
set.  We keep the variable static_hidden, which by design is not used on the
500 page.

Fixes #240.

(imported from commit 3c7534f896479b7d7edbe5ef13958481e169a13c)
2012-10-31 18:43:44 -04:00
Waseem Daher 1e34e46a2e Make Tab-Enter work as a "send message" shortcut in Safari.
(imported from commit 2eccaea06594a7c3d3e8c6d3c00a20c4c94116a2)
2012-10-31 16:36:22 -04:00
Keegan McAllister 5a7b307d71 Create the narrowbar using a Handlebars template
This fixes an XSS hole (#249).

(imported from commit 5f70c0bc23e0d992f2d85889e2ba9157f1b73b3a)
2012-10-31 16:02:17 -04:00
Jeff Arnold 172a2cf299 Update terms
(imported from commit 5009a26db34d9ecda3f8c52c1225e21ec1b1dc7c)
2012-10-30 12:29:29 -04:00
Keegan McAllister 5bcb522952 Provide a better link for changing Gravatar
For users logged in to Gravatar, this goes directly to the page where you
change your avatar.  For those not logged in, it's a more directed path to
logging in or signing up, compared to the gravatar.com front page.  However
it's less clear why you are signing up for a new thing, so maybe that's bad.

Also this link uses HTTPS; it seems we can't get that without the 'en.' prefix.

(imported from commit e03f97ef5ed2ff6593a9b349176da5fd056c4514)
2012-10-30 00:03:44 -04:00
Keegan McAllister 6a57432133 login.html: Don't autofocus two things
(imported from commit 3c3a6977aa261314675912ed472fb92c49cda51c)
2012-10-30 00:03:43 -04:00
Keegan McAllister c8eb1c2464 Remove class="nav-zephyr" on sidebar
This became unused in 0a5fe548d4d848c0358c9780df7af1fe1abc93fa.

(imported from commit c3df459f3af7ddd99d2e9dd5adcebf4b0ec0b274)
2012-10-29 23:21:00 -04:00
Keegan McAllister cce370c7b3 Remove class="zephyr" on new message form
This isn't used by our CSS or Javascript, and we're trying to get rid of the
"zephyr" name.

(imported from commit c3cae24168088eef2bb64944d9a1bd1d8be4b59d)
2012-10-29 23:21:00 -04:00
Keegan McAllister 04b6ea1e5b Drop the next= parameter on logout link
The new logout_then_login view does what we wanted anyway.

(imported from commit 334b0f7e384d9d9198e7ec9f5df85bc78ef104db)
2012-10-29 23:21:00 -04:00
Waseem Daher e8225973ba Make subscriptions page look a little nicer.
(imported from commit 86c77b6bf6ef673b39e85a7a5555847fce7707b6)
2012-10-29 18:26:34 -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
Luke Faraone 5dad59e864 Implement MIT signups.
Here we introduce a new manage.py command, activate_mit, which takes a
number of usernames and sends out emails to the users with instructions on
how to activate their accounts.

(imported from commit f14401b55f915698e83ff27b86434f53e64685f3)
2012-10-29 16:59:37 -04:00
Luke Faraone 91799e8c20 Remove dummy next POST parameter.
(imported from commit bfe65225c1dbcb93a360d920a4c2e4955fa84372)
2012-10-29 15:33:39 -04:00
Jessica McKellar faca281a4e Disable autocomplete on the search box.
Documentation variously says to disable on the form or on the input box, e.g.:

https://developer.mozilla.org/en-US/docs/How_to_Turn_Off_Form_Autocompletion
http://msdn.microsoft.com/en-us/library/ms533486%28VS.85%29.aspx

However, at least in Chrome, disabling on the form produces an ugly
"This webpage has disabled autocomplete" message if you try to arrow
down on an input box as if there were suggestions, so I've just put it
on the input element. This still works on recent versions of Safari
and Firefox.

(imported from commit b47f438d6e1d930d7d6871070858c97c6479a0ae)
2012-10-29 14:09:36 -04:00
Keegan McAllister e93c1ab87c Switch from Open Sans to Droid Sans
We found a number of characters that look bad in Open Sans.

(imported from commit f8e7926f002b2de7f0d8bab255d212fac1cf6115)
2012-10-29 13:02:31 -04:00
Waseem Daher a685b6c1a7 Move logout button.
(imported from commit 38cab4dafd0ddf9e0f5b4fce8fd63c7d52edade2)
2012-10-29 13:01:07 -04:00
Jeff Arnold 267683de76 Terms/privacy changes based on Tim's suggestions
(imported from commit 027ef8b1d61eec4ef4b75d9081fbe7400f9d5817)
2012-10-29 11:28:24 -04:00
Jeff Arnold b3cf1a5ffb Fix typo in terms
(imported from commit d523cc890d1dcdc3e3f03a3af094d70c7c4d5d3a)
2012-10-28 17:01:30 -04:00
Jeff Arnold 3889818355 More revisions to the privacy policy and terms of service
(imported from commit e0ea80638132a43abef28a880eee38c9141385f8)
2012-10-28 16:56:28 -04:00
Jeff Arnold 66ecf968e1 More revisions to the privacy policy and terms of service
(imported from commit f6c24d8f2d62f753688b8873a86e6d5fcefff08b)
2012-10-28 16:40:32 -04:00
Jeff Arnold 592451686e More revisions to the privacy policy and terms of service
(imported from commit f6936e7bd8b4d8d2d92f78d697ebc74f180a611a)
2012-10-28 16:08:49 -04:00
Jeff Arnold 1ebd4211a4 Revisions to privacy policy and terms of service
(imported from commit 6f618c858a7c5b53d86a6c032fb7089521c62eb7)
2012-10-28 15:40:56 -04:00
Waseem Daher 22e6a8ac1d Revert "Hide additional search buttons when not in use."
This reverts commit 074011dfe7dfa4d3cb331b32fc6cf465f98d095f.  For
some reason this introduces some buggy behavior, and if anything I
should debug it more locally first.

(imported from commit 182193e6bb466a5668c2bb64e41712a793fa7ca2)
2012-10-26 15:41:38 -04:00
Waseem Daher 9274437eb5 Hide additional search buttons when not in use.
(imported from commit 074011dfe7dfa4d3cb331b32fc6cf465f98d095f)
2012-10-26 14:55:42 -04:00
Waseem Daher 44a6a2b8a4 Have search bar always take on color of main area.
(imported from commit 85f6db17ca2fd616e4c7b63a98b80332cbddc1c0)
2012-10-26 14:31:05 -04:00
Waseem Daher e365b94a27 Restyle searchbox to look more consistent/bootstrappy.
(imported from commit 2d381fb6ea7f27846d583e27dda0fd1a6df77fab)
2012-10-26 14:31:05 -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
Jessica McKellar 74a75eea0c Add search bar and buttons above narrowbar.
(imported from commit 7def7d5824714a44c65d6a8e6699b2d8cda31418)
2012-10-26 14:29:30 -04:00
Keegan McAllister 53b6fc80c7 register.html: Wrap an extremely long line
(imported from commit cc7a2089c156d23c21b91f1cb627e837d4bb236d)
2012-10-26 14:03:23 -04:00
Keegan McAllister 8173bd720b privacy.html: Fix markup
(imported from commit 20c1fab0e341231acafb13b93a20510ece849189)
2012-10-26 13:19:32 -04:00
Waseem Daher 363ee1ec71 Add a 'Feedback' button.
(imported from commit 79271015850d6938342bdc0e4a41a76662f0e1fb)
2012-10-26 10:39:50 -04:00
Keegan McAllister 2afa9894ce Add a draft privacy policy
(imported from commit 4095e3bb72a5975b4353bf0eace9da48c0eec200)
2012-10-25 19:11:28 -04:00
Waseem Daher 8a314ff46a Don't let user type stream/subject names that are longer tha max-allowed.
(imported from commit 40112e3aab3bf92a2752d45642b147936201e938)
2012-10-25 17:07:44 -04:00
Waseem Daher 0c64c9c2ea Remove stray quotation mark.
(imported from commit 7f880b4465f763412995cd43ec2c8350c84b531d)
2012-10-25 16:50:00 -04:00
Waseem Daher c894bab738 Compute a user's realm from the verified email address, not a user-passed field.
(imported from commit 5c220a7b9e4b137b5c98b286e409004318565137)
2012-10-25 16:50:00 -04:00
Waseem Daher 29d94b60b6 Add an "I agree to the terms of use" checkbox inside signup workflow.
(imported from commit 6d3320e71e189f4577da464fade9c8f7f5838f78)
2012-10-25 16:05:28 -04:00
Jeff Arnold 4e5892393b Rename tos to terms and require users to be 13 or older
(imported from commit f2746b53dc8772cfc93f16b0e0a4f64ca14a0885)
2012-10-25 16:04:03 -04:00
Keegan McAllister b0462ebef7 Wrap extremely long lines in HTML
(imported from commit 4a18013ae001223709d91b7433128f8e75ebf399)
2012-10-25 15:22:18 -04:00
Keegan McAllister 6172f42b6b Add terms of service at /tos
Based on Jeff's "Terms of Service.rtf"

(imported from commit 0ac24148cd963c65252c349556cb04aa4a1d79b2)
2012-10-24 19:31:56 -04:00
Waseem Daher 444b88302a Put shortcuts in an accordion so we don't scroll.
(imported from commit 5e4445b12028ca37458bdb230d5ad3af79978416)
2012-10-24 19:03:07 -04:00
Waseem Daher 22a32c09c4 Add a shortcut to pull up the shortcuts dialog.
(imported from commit 0d6d3ba78a06f0eb1ecba8e6a571b79709980cef)
2012-10-24 18:31:44 -04:00
Waseem Daher 50da6b14d1 Add keyboard shortcuts dialog.
(imported from commit 1adb18597739dd71f4739dcf0c2da34c82598bd6)
2012-10-24 18:31:44 -04:00
Keegan McAllister af065005fc Automatically resize the compose box
(imported from commit 7e9cb632bdca47fee6ad0897a55d1d3c004c34b3)
2012-10-23 22:08:44 -04:00
Keegan McAllister f31526e37e Set tab order on the compose box
The order is:

    - Stream/huddle selector buttons
    - Stream name or huddle recipients
    - Subject (in stream mode only)
    - Body
    - Send button

In huddle mode you can't Shift-Tab back to the selector buttons.  I'm not sure
how to fix this.

We leave gaps in the numbering, BASIC style, to simplify future changes.

(imported from commit 562742c8e7d31620eac3ef171397d830b5eb3bb8)
2012-10-23 20:03:24 -04:00
Waseem Daher 037f523990 Hide unimplemented, currently-greyed-out options in navbar, etc.
(imported from commit f33c3949979530b691743e29fb05f54808111b4e)
2012-10-23 18:07:04 -04:00
Keegan McAllister 86159813df Hide the "Load older messages" button in narrowed view
Ideally this would be part of hiding zhome, but right now zhome/zfilt are
assumed to the tables themselves, and changing that seems unfortunately
invasive.  And it's not crazy to think of the "loading controls" as a logically
separate thing that we might show/hide independently.

Longer term, we may want an indication in narrowed view that there could be
more messages on the server.

(imported from commit eb72d720da7c03f6f1378ae18ab6e973bf98247f)
2012-10-23 13:28:08 -04:00
Zev Benjamin 6403cc3592 Display a small gravatar in the nav bar when using the phone layout
(imported from commit bdfc5faa7e93b0d90abc63423be1719611f89dc0)
2012-10-23 12:03:56 -04:00
Zev Benjamin 02ec29a0ca Increase gravatar size in nav bar
(imported from commit 1f3eee22bb298de53a749bbacca63022de9526b4)
2012-10-23 10:55:19 -04:00
Keegan McAllister fcc21bec21 5xx: Reformat text
(imported from commit eaafd17560714729b23df8947a94ebd1815cec23)
2012-10-22 15:22:49 -04:00
Keegan McAllister 0fd530406d 500.html: Auto-refresh after 10 seconds
(imported from commit 2e539d65998310e5d317bba9c509cc63adc2ca54)
2012-10-22 15:16:04 -04:00
Keegan McAllister 400d57408c 500.html: Fix typo
(imported from commit 1a05b52ee823f5abb5d902a30bd4e37a6135a062)
2012-10-22 15:16:04 -04:00
Keegan McAllister 9de9d45623 Declare charset UTF-8
(imported from commit 61fa96565d7a1214c3944b7bb1f613a36697fc6b)
2012-10-22 14:18:50 -04:00
Keegan McAllister 8e112a92cc login.html: Remove a leftover fragment of a form (???)
(imported from commit abc0a1da2f684b33917349da4b5f3d1003e8e774)
2012-10-22 14:17:10 -04:00
Keegan McAllister fc76027f2d portico.html: Fix an unclosed <span>
(imported from commit da59be1b645561f0e3f68b73660073f0c718461f)
2012-10-22 14:17:10 -04:00
Tim Abbott 7b3b4362dd [schema] Add a Client model keeping track of the sending client.
(imported from commit 31a430b1de14ce973addafd5d13ace049a8f8091)
2012-10-20 18:41:54 -04:00
Keegan McAllister b7a36b4af8 Unbreak registration form action
(imported from commit fb5459d317dd775b59e3003df18fb1630ab6ff0e)
2012-10-19 20:27:54 -04:00
Keegan McAllister fb5222d326 s/more/older/ in button text
(imported from commit f25297fb1dd001b62f80d83ee29f1a4bd3bf5a69)
2012-10-19 17:13:14 -04:00
Keegan McAllister 5b13f9192f Load more messages when the user presses the "Load more messages" button
(imported from commit 060e6f67b13fd67b56f80f913eb6b835860a8115)
2012-10-19 17:13:14 -04:00
Keegan McAllister 3dfed7b6a1 Add a "Load more messages" button
...which currently does nothing.

(imported from commit 185b35c2bf651779bfcdba44524d1bcb8af74f27)
2012-10-19 17:13:13 -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
Zev Benjamin 7a44a3b05a Use the new compose API
(imported from commit fb91febbd5c257aea15292d8071da69a3e6b9a99)
2012-10-19 15:53:05 -04:00
Waseem Daher 17d44be14a Display huddles as 'You and...'.
(imported from commit 35fe0e56751b1a2993bd99181e8bbd57e8c3ce81)
2012-10-19 15:11:13 -04:00
Waseem Daher 7fdac68787 Tone down some of those icons.
(imported from commit efd22df34b87ccb0603b73fed85b10f08bbd47b0)
2012-10-19 14:53:31 -04:00
Waseem Daher 92045f2c9e Experiment: Use icons in more places (instead of the word Huddle).
(imported from commit 6e27da4e54634c1f2fe05e2bffac24dc00576d2c)
2012-10-19 14:42:43 -04:00
Waseem Daher 61daa31741 Use glyphs in composebox stream/huddle selector.
It's not great but it's an incremental improvement
over the totally opaque 'S'/'H'.

(imported from commit 43ae4481edf894abd83c41fe7394ee87ea041202)
2012-10-19 13:09:42 -04:00
Waseem Daher 34fc2266ce Pop up a little box of info/actions when you click a name or gravatar.
Known issues:
* Not all of the options in the menu are functional yet
* The wording isn't totally perfect on some of these options;
   I kind of want to use a 'first name' in some of them.

(imported from commit 5a333fb939fcca7e0d0ecb2c43e79501139ac0db)
2012-10-18 21:19:49 -04:00
Keegan McAllister 2a2c0187c5 Rename subscribe.js -> subs.js
(imported from commit c3ce92e31916548206ad5752da8911f22d23f106)
2012-10-18 15:42:08 -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 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
Waseem Daher 0fba2d2df3 Attempt at making stream names more prominent when skimming.
Known issues:
 * Narrowing links sort of broken
 * "S/H" is a terrible selector

(imported from commit 14d309b55dfaa4c4bc5cb1310a111a46f2fb7e20)
2012-10-17 18:12:32 -04:00
Waseem Daher 49a8677517 Remove 'timezone' from the settings page.
We weren't doing anything with it anyway, so...

(imported from commit ad927f3d2ce5b9bd219d6f36a021542812486aef)
2012-10-17 17:26:55 -04:00
Waseem Daher d9715825b1 Remove 'short_name' from the settings page (but not the db).
For now, we're not using this, so let's expunge the user-facing
references to it.

(imported from commit 90a8dcdc77d0a991bef3e319e6971327639d1f4e)
2012-10-17 17:26:06 -04:00
Tim Abbott 50bab9aa4c Make the settings page a little more compact.
(imported from commit 3581c01a386bd22e4f1049b9f8a64ac40b7aded4)
2012-10-17 17:09:46 -04:00
Tim Abbott ae3e24458c Add a UI for requesting your API key.
(imported from commit 07c40caf73f3b6c1c502a6c8e18109532dd28cc3)
2012-10-17 17:09:46 -04:00
Tim Abbott e56192f7d8 We're not using jstemplate for the settings page.
(imported from commit 98bd09e03e7b2ba9f539568837024a14de7f684c)
2012-10-17 17:09:46 -04:00
Keegan McAllister 235ce960b8 Use the obfuscated URLs
The key property is that we never reveal the non-public directory name
4nrjx8cwce2bka8r to a not-logged-in user.  This makes it less likely that
random people from the Internet will download all our client code while we're
still in private beta.

(imported from commit 7428e847e0a1a34152cb6dc2b677c1b47290c202)
2012-10-17 15:04:33 -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
Waseem Daher e6c1b2a4b7 Refactor things so that the 'viewport' meta tag properly gets set in the app.
(imported from commit f41cc0bfc586126e73d7c9f9817bee9723e3cc94)
2012-10-17 13:52:57 -04:00
Tim Abbott d2343813df Add 'C' hotkey to start composing a huddle.
(imported from commit 693aeba202a06465dd41e46d78491ecfe23e97f6)
2012-10-17 11:55:21 -04:00
Keegan McAllister 1749e62180 Display your Gravatar next to your name at the top left
(imported from commit 9aed92e3cf5f6764ba5f484c0dce620b32db88c1)
2012-10-17 11:39:19 -04:00
Tim Abbott 3e994c16b7 Rename/reorganize our urls to be more consistent.
(imported from commit ca3cc7ccd5d7da83a9c60968527378ee1118648e)
2012-10-16 15:56:06 -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 7d44e1c56f Don't include signup.js in login.html
(imported from commit fe36afb1703e706012f1c690d15481a0da204eb3)
2012-10-16 01:33:15 -04:00
Keegan McAllister 216ab3de8b Rename signup.css -> portico.css
This is used on all portico pages, including login.

(imported from commit b37121a0975c46fba581c314e05af0a77e6607e9)
2012-10-16 01:33:15 -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
Keegan McAllister dbd88b28f3 Document what all the Django templates are for
(imported from commit fa2b6c5327b0004f2c19502471f6717d84705ba7)
2012-10-16 01:33:15 -04:00
Keegan McAllister b55e277930 Rename more_content -> portico_content
(imported from commit 4a3df508bb0227e998115eeff24b789dd8b42698)
2012-10-16 01:33:15 -04:00
Keegan McAllister 46f17431cf Rename content_base.html -> portico.html
(imported from commit 556fb5aeca76eb186013a28da9bab77c1e56d700)
2012-10-16 01:33:15 -04:00
Waseem Daher bca36ba4c2 Eliminate some inline styles (visibility: collapse).
(imported from commit a29f12ea2f82672ef05e5dcca486ec527acbd6dd)
2012-10-15 22:47:41 -04:00
Waseem Daher 4d914df68b Rename things.
narrowbox -> top_statusbar
narrowcontent -> narrowed_to_bar

floating_indicator -> floating_recipient_bar
fixed_narrowbox -> table.floating_recipient

(imported from commit 7b5bbb17aeff9372275311ab09cd3cbf8262ea13)
2012-10-15 22:47:41 -04:00
Waseem Daher 470143e254 Add top_whitespace.
(imported from commit 2c049f3032879926e98287428e839b9117460a90)
2012-10-15 22:47:41 -04:00
Waseem Daher f3ab2dc5ac Move the floating stream/subject bar into #narrowbox.
This allows us to reposition both of them more cleanly
when we resize things.

(imported from commit a772d2390bd80146e91181e348930559a9e2f4eb)
2012-10-15 22:47:41 -04:00
Waseem Daher 4933a986b9 Un-remove the normal narrowbar.
(imported from commit 2dbaa7e482db40b65865c252b9eee081655d5f72)
2012-10-15 22:47:41 -04:00
Jessica McKellar d07f4c05f3 Keep the top-most recipient row floating at the top of the screen as you scroll.
(imported from commit e597b60c86f5b38a55dc78df80d84dfe112c8d8f)
2012-10-15 22:47:41 -04:00
Keegan McAllister 8819bdc0fc Hide most of the navbar on the deployed app
(imported from commit 3b055588f7de805bf1b038f1bc6c03837eda010a)
2012-10-15 18:44:36 -04:00
Keegan McAllister 277f37aea4 Fix formatting
(imported from commit d87311335d97a6e01892b8e341edf95f41977340)
2012-10-15 17:05:36 -04:00
Tim Abbott 18d48fcd40 Fix javascript referenced via http url.
(imported from commit e72e265f5a5ba6b6a362f5be03069f7cd40c8fc1)
2012-10-15 14:50:34 -04:00
Zev Benjamin bc4487ebf9 Fix autocomplete
There were two issues:
* The people_list population changed and I failed to noticed
* Typeahead source updating never worked before because calling .typeahead()
  more than once does not change the data source

(imported from commit fda14029f4cd37260d82e7bb5689f5022e1b0d28)
2012-10-12 16:57:27 -04:00
Waseem Daher 23cc654847 Condense name and email when we have a very narrow window.
When the window is narrow, vertical space (particularly in
our navigation menu) is at a premium, so let's be more
parsimonious.

(imported from commit 72628827bc108f4d9f2d47a11c48e0e772b769d4)
2012-10-11 23:10:48 -04:00
Waseem Daher 9556f58953 Provide tooltips for navbar items.
(imported from commit 88d36eab304e87639a46451677783596e2b8ffba)
2012-10-11 22:44:28 -04:00
Waseem Daher 1c14c461c2 Small "New Message" button when we don't have lots of room.
(imported from commit 58f2bdf0aafec7714d0f3a9be99f953dd8b237b3)
2012-10-11 22:44:28 -04:00
Waseem Daher 6e57c4f3ae Change Settings icon.
(imported from commit a6e7a8a022f7b3d6e8dd61ea74bfe41703cba2eb)
2012-10-11 22:44:28 -04:00
Waseem Daher 7d155850a9 Have the navbar,composewindow,narrowbar look OK in small windows.
(imported from commit 724ecfee79a263919e93c47513332ffdd3c6d286)
2012-10-11 22:44:28 -04:00
Waseem Daher 31840811cf Cleaner HTML for the sidebar.
(imported from commit 2b630a6a37b634e29f0eb90368e9d174c1af3bc2)
2012-10-11 22:44:04 -04:00
Waseem Daher 8492aaee4b Firefox-specific fix: make narrowbar 'x' appear in the right place.
If its div comes after the currently_narrowed_to span, it appears
on its own, second line, for some reason.

(imported from commit d0b24f8e3aba3a6fdbe5624ba92ac81456e06634)
2012-10-11 16:15:19 -04:00
Waseem Daher 39e936242b Reindent.
(imported from commit 58b50e4e8cf39da6986fd0a03202b4b1c4655d51)
2012-10-11 16:15:19 -04:00
Waseem Daher 97daefee1c Responsive compose window.
(imported from commit 432223391cf158a6c8902370a911a08fd3179401)
2012-10-11 16:15:18 -04:00
Waseem Daher 601488e7df Make the narrowbar responsive as well.
This is one approach, anyway. Another is to keep it inside
message_list, which is what we (currently) do in the composebox.

(imported from commit 64c69b931012e3d21b7a10e3909f7a13f7dcfc4f)
2012-10-11 16:15:18 -04:00
Keegan McAllister 99209b4c0a register.html: Remove 'escape' filter
Now that we have enabled Django autoescaping, this happens automatically.

(imported from commit 43ac39e34354297b195facfde5a49dd071bf995e)
2012-10-11 15:01:54 -04:00
Keegan McAllister 7137787984 Escape variables interpolated into <script> within index.html
Django's escapejs prevents breaking out with an embedded </script> tag.

It only works on bare string contents, not JSON-ish lists and such.  So we
generate stream_list and people_list with template loops now.

(imported from commit 07fe4bebaa3fa11bc479b4378b8989560ce77f6f)
2012-10-11 15:01:54 -04:00
Keegan McAllister 648ed8bb0d Remove stupid copy
(imported from commit 428648daf82928ef34380923c0b2de47a18f9d67)
2012-10-11 11:17:50 -04:00
Tim Abbott ac3f4393ff Rename instance to subject.
(imported from commit 6b4693da03f106448c137cf81cf9801cac44f2b8)
2012-10-10 18:01:39 -04:00
Tim Abbott 0562e52974 Rename newstyle_class to newstyle_stream.
(imported from commit b5b9dc1a899c31a07c9c5eba84fd4846aeb4cd08)
2012-10-10 17:48:18 -04:00
Tim Abbott f2fef23d82 Rename classname to streamname.
(imported from commit 098bf15c39080797ea5fbc2a9dc3d5842c934eaf)
2012-10-10 17:48:18 -04:00
Tim Abbott 5509419084 Rename #class* to #stream*.
(imported from commit a8f15f636f3801ba1152f1020e885240984d070e)
2012-10-10 17:48:17 -04:00
Tim Abbott 873f8fd2bb Rename class-message to stream-message.
(imported from commit fe69222bdca28bab303adca8ea8448a6aac35e40)
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 6dc913766d Rename 'classes' to 'streams'.
(imported from commit 8ad6791f39d49e90a2828b6af86d039ba5ca5abc)
2012-10-10 17:47:13 -04:00
Keegan McAllister 7850305dcf index.html: Narrow the scope of autoescape off
(imported from commit 8a2903ba219f1792501977318ecb44db3ae8f50e)
2012-10-10 17:24:49 -04:00
Keegan McAllister 66ed141dc1 Enable Django template autoescaping
This has been disabled since forever, but we've mostly been assuming it's
enabled.  Let's actually turn it on and see what breaks.

(imported from commit a194ba4b77b5290c31b46401d400bece68a33e6d)
2012-10-10 17:24:49 -04:00
Waseem Daher ad4551128b Rename "Topic" to "Subject".
(imported from commit ad35917f2f3d3d382426d4514cefd1ef100ee2a4)
2012-10-10 11:57:32 -04:00
Tim Abbott 42c05b9690 Rename the zephyr template to the message template.
(imported from commit c15e2cc08d3604a82d90a96efa4f70d101971df4)
2012-10-10 10:32:59 -04:00
Tim Abbott e10966f1bb Rename zephyr_message to new_message_textarea.
(imported from commit 7176738a9bf04bf96327338626e63adf03884a56)
2012-10-09 22:42:19 -04:00
Tim Abbott 2748625ed2 Rename zephyr_picture to message_picture.
(imported from commit 829ccc59184ff7728c6da61d4ed71db1695e1729)
2012-10-09 22:42:19 -04:00
Tim Abbott 363c658896 Rename zephyr_comp to message_comp.
(imported from commit 752b669c3298dd791ba26de9fd815faa1b4e8a73)
2012-10-09 22:42:19 -04:00
Tim Abbott 0d2410952d Rename zephyr_list to message_list.
(imported from commit e9fbf075036f85aaf95d492701efb464347d9586)
2012-10-09 22:42:19 -04:00
Tim Abbott 7d70b31511 Rename send_zephyr to send_message.
(imported from commit 211d5a78435fe797191425a2ed975ca1885a15a6)
2012-10-09 22:42:19 -04:00
Tim Abbott 836971d3b3 Rename zephyr_content to message_content.
(imported from commit 05e255ec275a8aeaf3967d6a4305cc4440c81913)
2012-10-09 22:42:19 -04:00
Tim Abbott a259244f0b Rename zephyr_newstyle_* to message_newstyle_*.
(imported from commit 774588d19c782255ce128cbadb20aef8373d0030)
2012-10-09 22:42:19 -04:00
Tim Abbott 183f87f335 Rename zephyr_recipient_box to just recipient_box.
(imported from commit 82084fa50e51d646b1f8ea225c7ec6b1f3b7b66d)
2012-10-09 22:41:51 -04:00
Tim Abbott a62cd32107 Rename zephyr_compose* to compose*.
(imported from commit 103351bbdb7657720d7b7b9f57ee88e5957d09a4)
2012-10-09 22:41:17 -04:00
Tim Abbott bc988b16e3 Rename zephyr_table to message_table.
(imported from commit 5a898b642235516a193eaacdf430ca9bb0eccc38)
2012-10-09 22:40:13 -04:00
Tim Abbott 78c303e44a Rename zephyr-type-tabs to message-type-tabs.
(imported from commit 623d226209bc6cbe20721be08a271e52185ea65e)
2012-10-09 22:40:12 -04:00
Tim Abbott 864a26acd6 Rename the new_zephyr text area to new_message_content.
(imported from commit b5d09625a9c50865be7a6401e8da95efe06410fc)
2012-10-09 22:40:12 -04:00
Jessica McKellar b07bb45e35 Fix regression focusing on content box after autocompleting a single huddle name.
There are other focus issues related to switching between a class
message and huddle during composition, but this fixes the immediate
problem.

(imported from commit ec7ebc1c68e52942e9eaa0ea61e0de2f6ccae521)
2012-10-09 18:00:08 -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
Jessica McKellar 9544964277 Having tabbing from a huddle recipient focus on the content input box.
This stopped working after unifying the content boxes for streams and
huddles.

(imported from commit cd4e733ff8b3a2fe43c4551b9615ba922ff005a1)
2012-10-09 13:33:50 -04:00
Jessica McKellar 6050a0a251 Advance focus to the next input field after autocompleting class or instance.
(imported from commit 068009946f0581834e268f1ed3d5e7e6a940fcde)
2012-10-09 11:45:46 -04:00
Waseem Daher c32a6a4d88 HTML cleanup since the two compose forms are now unified.
This also prevents the "bounciness" associated with the fact
that the stream/huddle selector was an absolutely positioned
div relative to the bottom of the compose window.

(imported from commit 413003a83c187efd45d0281f7cb6c9d0bd550674)
2012-10-09 11:14:21 -04:00
Tim Abbott d510a62976 Rename huddle recipient field to #huddle_recipient.
(imported from commit 8670f06679aa1554003aa2832dec3ed6d00ad1c3)
2012-10-09 10:27:40 -04:00
Waseem Daher 1f2c0faee4 Unnarrow when you click 'home'.
Potential downside: If you were narrowed and went to, e.g.,
settings, you would lose your place. If we wanted to be more
fancy we could have this code fire only if you were already
on the #home tab.

(imported from commit 5e8d90ba255076a11aa6f7a58c447156729ca23f)
2012-10-07 17:02:22 -04:00
Waseem Daher 10c15ba1cf Don't use <a> when you really want a button.
href="#" will cause the browser to jump to the top of the page, which
breaks everything in the scrolltheworld world, unless you suppress the
event.

(imported from commit ae03cbb9e8a82f28e8536f29485e9e947e7e76c2)
2012-10-06 22:18:35 -04:00
Tim Abbott 358351d423 Use the new_zephyr form for personal zephyrs, rather than a duplicate.
(imported from commit 741a785efba9ea40b5c1022d710360f086a2d859)
2012-10-05 17:44:55 -04:00
Tim Abbott d9f03d9842 Import xdate javascript library.
(imported from commit 6a9344a07672c377f38d29f6d8a5d866684c8456)
2012-10-05 15:42:54 -04:00
Waseem Daher 0c3ace82d5 Use throttling on our handling of scroll events.
This actually is a bit cleaner than our last approach,
because (I believe) we run our scroll handler code
even after the final scroll event, which prevents the
pointer from getting hidden by rapid scrolls.

(imported from commit 3bde4e8f067cd2406f90c04425c6e4ffb81ea784)
2012-10-05 15:39:10 -04:00
Waseem Daher 10adfee7b0 Clicking "New Message" no longer resets your position on the page.
The issue was that our 'button' was actually a link with href='#',
and we didn't actually cancel the event; so it jumped to the
top of the page.

(imported from commit e66decb3a202ea22176ec539a1ec1d405faf0117)
2012-10-05 14:52:46 -04:00
Waseem Daher 6d37154a36 Better, but still not great, small-window behavior.
I'd like it to ultimately be the case that if you make the window
too narrow, the menubar goes to the very top and has small icons.

(imported from commit 0a5fe548d4d848c0358c9780df7af1fe1abc93fa)
2012-10-05 11:50:40 -04:00
Waseem Daher c59cb40a71 CSS cleanup.
Try to adhere to Bootstrap grid system a bit more consistently.
Unstyle subscriptions page for consistency.
Still not sure why the "affix" jumps when we switch to "Subscriptions."

(imported from commit 1c28de4e2ef3d6ed3d1bdcfd143eadefba2b46cb)
2012-10-05 11:50:40 -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
Luke Faraone 8f81dc5670 Changing your gravatar should be in a new window.
(imported from commit 4877bcdfc1ad2b0597a13078816c39a8768bcd71)
2012-10-04 16:46:20 -04:00
Waseem Daher 738fe500f0 Unbreak settings/subscriptions windows with some div cleanup.
(imported from commit 427ead3b0cb6ddaf399394ca6c3e363cc8264efe)
2012-10-04 16:35:53 -04:00
Waseem Daher 59a00cb1ab Eliminate scrolling-tab.
scrolling-tab used to be used to target which tab would be a recipient
of the scroll events generated by PgUp, PgDn, etc. Since we now let
the browser handle these natively, we don't need to worry about it.

(Instead, when we hook the 'scroll' event, we should make sure that
home screen.)

(imported from commit c555d960da995a09b370867c96d17f4ce4f2171f)
2012-10-04 15:47:20 -04:00
Waseem Daher 86ffd0de7a Make composebox look better.
Make it look as wide as normal messages, and improve the closing 'x'.

(imported from commit 2aae92192ba8fc9bc4ee28a57755c4bd40726fb4)
2012-10-04 15:45:59 -04:00
Waseem Daher f1efc6f920 Remove scroll buttons.
(imported from commit ddb3ed5073fc66c130e345b3a2eff8abfab06f9b)
2012-10-04 15:45:59 -04:00
Waseem Daher 785485041d Allow the whole page to scroll for 'Home'.
(imported from commit a61627cca0fb3624b343fae5b9a575f1b389e57a)
2012-10-04 15:45:58 -04:00
Waseem Daher 94663ed215 Enable scrolling in a reasonable way on tabs other than 'Home'.
(imported from commit 11a7b6e0055b5202003a0cdb93d90f5f9ebedf2a)
2012-10-04 15:45:58 -04:00
Luke Faraone 29555559d2 Create better error pages for 404 and 500.
(imported from commit c2903b630131c55b9e14369ca0b7f1a8f0fe765c)
2012-10-04 15:31:23 -04:00
Luke Faraone d0a1d32c2b Make the confirmation redirect as short as possible; don't render a waiting page first.
(imported from commit 05b035a59bd3cfced56649b95c0ed91a811d0041)
2012-10-04 14:52:32 -04:00
Luke Faraone 120d0aa99d Validate the register.html page.
(imported from commit 10ce8b637ae40ab733c01c2adbf6a2ad61a85d82)
2012-10-04 10:59:43 -04:00
Keegan McAllister ffff63eaad Move some subscriptions-related code
(imported from commit 49f6e525e3aa8a7a5336f713c94e81fee6546dfa)
2012-10-03 18:25:59 -04:00
Keegan McAllister 8d17de1247 Move some early setup code
(imported from commit ca57718e4a71f43bbf229d2a6e8c70174bb3583f)
2012-10-03 18:25:59 -04:00
Keegan McAllister 50d84e9ca8 Move some UI-related code
(imported from commit 28dc554ed91c14f8a8b4be282a211d3d50cf9873)
2012-10-03 18:25:59 -04:00
Keegan McAllister 37f8445318 Split more files out of zephyr.js
I would like to have split this into several commits, but it's hard to do
incrementally, because functions need to be defined before their use in global
data.

(imported from commit 31533396b236f3b657950b073982c317256f082a)
2012-10-03 18:25:59 -04:00
Waseem Daher 9b268e53ed Remove 'Search' from the navbar.
My expectation is that you may or may not get to "Search" by clicking
something like this.

(imported from commit 3f09286b1a8fa80455d6f6d55997f6f829fbad15)
2012-10-03 14:23:46 -04:00
Luke Faraone 568c7300ef Spacing, labelling fixes to register.html.
(imported from commit fee13c25740a0d0a80b44c3771c989d1c8cd30fe)
2012-10-03 13:51:01 -04:00
Luke Faraone ca50ecb945 Align registration form components for consistency.
(imported from commit 7933ea5fbc01c7d2ddd0bda71b5d2344aa6349a5)
2012-10-03 13:51:01 -04:00
Luke Faraone 2de8a1a59d Submit the confirmation form instantly for zero-delay registration.
(imported from commit b9465ba00a6e3bf57bb6d832bf1f3a98184fc36a)
2012-10-03 13:51:01 -04:00
Waseem Daher 2c294694fd Restyle narrowbar to avoid wrapping.
Previously, when we narrowed on a super-long class/instance or
a huddle with lots of people, the box overflowed. This is an
attempt to fix that, even if it isn't the prettiest.

(imported from commit 4eb58726a4c4714bd5435a791ad8fea0eabb58ed)
2012-10-03 13:38:33 -04:00
Tim Abbott 7acfb5c71c Rename /zephyr/ to /send_message/.
(imported from commit 41c2ff67cfc514e53aff8648c36f545526e324ed)
2012-10-03 12:30:37 -04:00
Tim Abbott e79805847b Rename the 'new_zephyr' argument to the more descriptive 'content'.
(imported from commit b47e2c4823bbfbf2f94cbafb24ed5d78dfbe841b)
2012-10-02 17:29:55 -04:00
Waseem Daher 61c7558b65 Long class and instance names get auto-abbreviated.
This required some serious retooling of the table,
and some thinking about the interactions between
table-layout: fixed and colspan.

And some of it is still a little magic-number-y.
(Like that 97% width on zephyr_compose_box -- without
 it, the stream compose box looks weird in Chrome,
 but not Firefox.)

(imported from commit 20c426ad2dae5efa3107890b28976a957bb3d1e3)
2012-10-02 16:00:46 -04:00
Jessica McKellar 588db5b4c5 Make class names case-insensitive.
(imported from commit e76e50156ca8dab1f7b3124351997e75ef08e521)
2012-10-02 15:16:26 -04:00
Waseem Daher 2873e45b3f Tweak signup email text slightly.
(imported from commit 4f8427a731376d7e9d5eb387673324bb25141743)
2012-10-01 18:05:01 -04:00
Jessica McKellar 28e668bb46 Handle home view subscriptions error cases.
(imported from commit 7f31b5c4837c524c3ad5a0538ca1f01ad73141a3)
2012-10-01 15:36:10 -04:00
Luke Faraone aca5cef3eb Redirect to login when attempting to resignup with a used email address.
(imported from commit d58a5dda9a0af409a6ee57cfcd30be45020352d2)
2012-10-01 10:45:58 -04:00
Luke Faraone 50dfbf7a1b Implement confirmation for new user signups.
We add a few templates for django-confirmation. We define a
"PreregistrationForm" which is validated by accounts_home, which then
generates a confirmation object and emails the user. This required creating
a new table for a PreregistrationUser with an email and status (confirmed)
field.

The register function now no longer accepts a "email" field in the form
and deals only with confirmation IDs to determine the email used to sign
up a user.

(imported from commit 4fcde04530aa7ad4de84579668daee7290b424ac)
2012-10-01 10:45:58 -04:00
Waseem Daher d13dd0a953 Restyle personals, attempt #2.
(imported from commit a8bdf6ad1d7e3dd24b8d42b0f46472ba2db15900)
2012-09-28 14:34:09 -04:00
Waseem Daher d767d0ee49 Style the compose dialog, too.
(imported from commit 5e464c18d913b016d1a9d4514e2aef7e56c5df2c)
2012-09-28 13:42:56 -04:00
Jessica McKellar 9cbdbc4893 Don't update the selected zephyr on mouseover.
But do keep the pointer on the screen as you scroll, and smoothly
scroll all the way up to the top or all the way down to the bottom.

(imported from commit 6acad2a16339ee5eeeebd62a853000c21e4b7152)
2012-09-28 10:59:38 -04:00
Waseem Daher 8c6e274dc6 Compose window class/instance should not be clickable.
(imported from commit b32bc57e101d232fb9d0a1f1272aba35b536576f)
2012-09-27 18:03:46 -04:00
Waseem Daher 1c63c2b19c Compose box UI experiment.
(imported from commit cf95f39da1a8c6558d2a3c3629efe425e274e80d)
2012-09-27 17:39:54 -04:00
Keegan McAllister 3429e77178 Don't display the "Loading..." indicator if the user has no messages
(imported from commit a050218ccde3b82c570a9373cbab5e3fb22abcde)
2012-09-27 16:15:10 -04:00
Keegan McAllister 4e846f9059 Change the home page back to the register form, but go to login on log out.
This reverts commit 5c21c3b44ebc69377177ceb50b43dfd560f0b4d1.

(imported from commit ef983386ee11cbe3a75a7f0555f81ac71240c4c0)
2012-09-27 15:54:33 -04:00
Waseem Daher cd296da113 CSS cleanup.
(imported from commit a7a13e57cf43368d66e94d01ef25ec14d0c15657)
2012-09-27 15:40:11 -04:00
Waseem Daher 42ac10b9c3 Restyle narrowbar slightly.
This removes the duplicate 'x' and '<-' issue that Tim identified
previously.

(imported from commit 0572978731d12eb6689edec105f8e0e35c74f0e0)
2012-09-27 15:40:11 -04:00
Waseem Daher 0f8f60f30d Round corners on gravatars.
(imported from commit 858bfa920f42e366daa2fa4422a20e41ff11238e)
2012-09-27 14:56:53 -04:00
Luke Faraone ce4d3f6d52 Display the user's gravatar to them in the settings panel.
Previously, we were trying to expand a variable which wasn't defined. We
correct that here. Furthermore, we don't right-align the gravatar if
its being shown in the settings panel by removing the "profile_picture"
class.

(imported from commit 1ae09d1a44aca87962f971af82393bf4ece6d16c)
2012-09-26 17:29:18 -04:00
Keegan McAllister 35dcc04822 Add an interim "Loading..." indicator
We will probably re-style this eventually.

Also, the animation freezes during template rendering.  And the HTML is a "give
up and use tables" situation.

(imported from commit 847374b616dc7ce909834f23d5ed9522aa457254)
2012-09-26 17:11:00 -04:00
Keegan McAllister 21d76b3398 Don't send instance_list in index.html
It gets populated from the zephyrs we receive in the initial get_updates_longpoll.

(imported from commit 83c773d211ea323233a986ccf12fd797236c08a5)
2012-09-26 17:11:00 -04:00
Keegan McAllister 12e458df80 Get initial messages from get_updates_longpoll
(imported from commit 2bb9c51409735abe23bad758338b13121aea4c99)
2012-09-26 17:10:59 -04:00
Luke Faraone ca8441b3fb Use HTTPS CDN link for jquery.validate.
(imported from commit e56962ec10fe1bfcb29374b719aef837e394edf4)
2012-09-26 16:48:27 -04:00
Luke Faraone 7057091b94 Autofocus username field on login page.
(imported from commit 6f9fbac7c4f05ebcd8ed7208c4b439198a94d36a)
2012-09-26 16:45:28 -04:00
Luke Faraone be2ed0d686 Display errors in the registration form to the user.
If there's an error with the user's email address, make the email field
editable.

(imported from commit a7b902a9c1dc6b1283ad1f7dc6e28954cbbabcc3)
2012-09-26 16:42:10 -04:00
Luke Faraone 873147330e Make the big "Humbug" title a link.
(imported from commit af16043a1562a7a31efbd6f21d626c90d4d277be)
2012-09-26 16:42:10 -04:00
Luke Faraone ae6cfee818 Implement a new login redesign per Waseem. Be a little cute about it.
Split off some content previously placed into base back into index.html.
Move content previously localised in accounts_home to a new content_base
for use in the non-app version of the site.

We wrote up some copy and styled it according to taste.

In our new signup form, we no longer collect a short name and instead
extrapolate from the email.

(imported from commit cd734b13a4bda7f304129379524c4cc96b77b24b)
2012-09-26 16:42:10 -04:00
Waseem Daher deb5cc771a Restyle compose box to be more consistent with our experiment.
(imported from commit a035c82e83a0bb1a2eea24de18044e3022ecdde5)
2012-09-26 16:19:01 -04:00
Waseem Daher 05d5c58d9f Unbreak the compose window.
For some reason it was super-wide, probably due to a bug of mine.

(imported from commit be5079d61eadb7b011e5c57084938f90bb741bc5)
2012-09-26 15:34:53 -04:00
Waseem Daher 97b20a8cb6 A new Waseem design candidate.
(imported from commit 0acb3ef0e37752178d4809d77d0281568a75b98e)
2012-09-26 14:29:17 -04:00
Jessica McKellar f60e9de1f2 Linkify URLs in zephyrs.
(imported from commit df7e355648d2c4d6319de049933547ed96402fd8)
2012-09-26 10:33:33 -04:00
Keegan McAllister 9efb63f6b8 Display SQL queries when DEBUG = True and URL like /?show_debug=y
(imported from commit dc3efd7aee2975f7d007296ba1ee1f72b262c493)
2012-09-25 18:40:59 -04:00
Jessica McKellar 14ceb7e888 Add hotkeys for composing a new message and toggling betweeen message types.
(imported from commit 5778b12d204f803a4c46b0f32ec19d9410108b36)
2012-09-25 13:00:43 -04:00
Jessica McKellar 810229288b Track and be able to return to your high water mark.
(imported from commit 52a1ce8c84ad3f4eea16b7abaf075ebffc794c9a)
2012-09-25 10:04:34 -04:00
Jessica McKellar 6685bfdd10 Add page up and down arrows to the zephyr list.
(imported from commit e66dfc4eef150e5b84d98ab7346d4d66852699b3)
2012-09-25 10:04:34 -04:00
Keegan McAllister 4793cee888 Switch to Handlebars templating
Benchmarks [1] show it's much faster than ICanHaz, though we will have to work
to realize those gains.

[1] http://jsperf.com/jquery-template-table-performance/77

(imported from commit b037a6f15e27fd49af88f814ff949811dbcd48f2)
2012-09-24 17:45:51 -04:00
Keegan McAllister cd7ee170b8 Move Javascript templates into index.html
...which includes subscriptions.html.

(imported from commit d6297b8b0828fdc1b71393a8549bf2796633a2d0)
2012-09-24 17:45:51 -04:00
Jessica McKellar b276596855 Add page up/down support for all tabs.
This does not yet try to keep the pointer in view.

(imported from commit 865413ba70e271ed12d5cc45d13e56ff9a3275f9)
2012-09-24 14:03:18 -04:00
Keegan McAllister 07e1314462 Rename initial_zephyr_array -> zephyr_array
We keep adding stuff to it in get_updates_longpoll.

(imported from commit be33421c9df16191112e5bcc7c4a476080d52859)
2012-09-24 11:58:37 -04:00
Luke Faraone 5bbe023c23 Refactor index.html, move things to base.html.
In this commit we also remove the navbar from base.html for implementing
further changes as requested by Waseem.

(imported from commit 85a8ea82ff0e271120adde83e15eb671b5584722)
2012-09-24 11:40:09 -04:00
Jessica McKellar 703a1cd6d9 Add error handling for subscription AJAX requests.
(imported from commit 9ed019da01aaa85302000ad62441b85786c2c528)
2012-09-24 10:16:22 -04:00
Keegan McAllister a53cbc9f36 Move hotkeys into a new file
(imported from commit a589cd4623c4707122d5d5936aa0bc555c38557a)
2012-09-21 17:52:02 -04:00
Waseem Daher f1aa17cf1d Change some URLs associated with subscriptions.
Put all the 'API'-ish URLs in the /json/ namespace so that
/subscriptions and /subscriptions/add, etc. can be real
user-facing URLs if we want them to be.

(imported from commit 1455a32d27e44547ab1874b6289243cb40c85dde)
2012-09-21 17:36:29 -04:00
Waseem Daher 5a164f19c2 Clean up subscription functions.
Now that 'manage_subscriptions' only removes subscriptions,
let's name it that. Also, since both functions now only
act on one subscription at a time, use them in the singular.

(imported from commit 52cfc7b36eb1533da7aec1bc3a6e460151a56da8)
2012-09-21 16:30:29 -04:00
Waseem Daher a27edbce7d Restyle subscriptions page.
(imported from commit 41339c5af38ae5ea4801fc1e23b7184c277145f3)
2012-09-21 16:04:44 -04:00
Tim Abbott ed46a453ba Add (mostly unstyled) settings page.
(imported from commit 492c5f498c2fec452e6c724555bc4a5a2c4c151a)
2012-09-21 14:47:26 -04:00
Keegan McAllister 6bb1dabed5 Add a 500 error template
(imported from commit 54c1e9a30cf87e28349eb39a566bf721ffdd4cf9)
2012-09-21 13:47:41 -04:00
Keegan McAllister e4b63aae95 Fix autofocus of the email field
...which is still called id_username.

(imported from commit f3ca47a5675bccf8c8acde536db042a88bc4b7b5)
2012-09-21 13:44:13 -04:00
Keegan McAllister 6a71cd9a51 Use a proper <label> for the username field
(imported from commit c7ddab5f4a41f30352bbbae9bff41f877f4b27b4)
2012-09-21 13:44:13 -04:00
Tim Abbott f1476963bf Fix display of email address.
(imported from commit 3be3319dff6aa9d24ae3a7275a8e6d2c1c1113f4)
2012-09-21 11:33:56 -04:00
Waseem Daher 03a936f046 Add settings page, iconify menu.
I don't love some of these icons, so I view them as pretty temporary.
(I'd like, e.g., settings to be a gear.)

(imported from commit 0433f226082acc37392e97b20648be8eee704b7b)
2012-09-21 11:28:42 -04:00
Tim Abbott 94cab0042b Remove 'username' label in login form.
(imported from commit 474e8ac5f4946ea3a08f44f7653a8f1b9cef9c89)
2012-09-21 11:27:12 -04:00
Tim Abbott 135c82717d Authenticate by email.
Approach from http://www.micahcarrick.com/django-email-authentication.html.

(imported from commit 796b8e08d8e1f9769cd3cf8ee61d3724ac3847b7)
2012-09-21 10:34:48 -04:00
Tim Abbott ee8f28a084 Use email addresses as unique identifiers rather than usernames.
Note that this code still assumes one's email address (stripped of
domain) is unique.

(imported from commit e98f96601ad109811978fc00b1165e97d8f7b185)
2012-09-21 09:43:22 -04:00
Keegan McAllister 48fea66e34 More consistent naming for #table and #filtered_table
(imported from commit 966ab97522a79fb5cf6dc1e215487ceba01f6d11)
2012-09-20 15:23:41 -04:00
Keegan McAllister af5282abd4 Add client-side debugging tools
(imported from commit faa87e85f366e91fe33e0f24e00ae1197403605d)
2012-09-19 16:25:23 -04:00
Luke Faraone eb1740e1e7 Use emails in the gravatar seed, don't display a static gravatar for the current user.
(imported from commit 64d1fd4f1cd33796bc907fef9778e088d80b8c5a)
2012-09-19 13:39:34 -04:00
Luke Faraone 72eb05dfc5 Switch to Boostrap Typeahead instead of JQuery-UI Autocomplete.
This reduces the number of CSS/JS files we need to load, which is awesome.

(imported from commit 3d34276a185e61f698163402cff2fd2c75ce0bd7)
2012-09-19 11:51:53 -04:00
Jessica McKellar 28be3581a3 Get gravatars over HTTPS.
(imported from commit 37d12b038e955144e3b7a990db1b72c1fe8a1200)
2012-09-19 10:50:37 -04:00
Luke Faraone c5d1897ab3 Reimplement collapsing, for realsies this time.
We no longer break random things! Its pretty grand, actually.

This reworks and reverts commit fbadd6e854722e41cccd2535748ee47f4efd657b.

Conflicts:
	zephyr/static/js/zephyr.js

(imported from commit 534a120290855d3bf2cf979ac174267c2d07bf68)
2012-09-18 15:56:01 -04:00
Keegan McAllister 996c7fb4eb Add 404 template
Django wants this when DEBUG = False.

(imported from commit 9c30b59aa0976be40ac64d16774c97f0e80f06aa)
2012-09-18 13:45:59 -04:00
Jessica McKellar a8484cb967 Remove subscriptions with an AJAX request.
(imported from commit d34154b31a38ac66cc8f97785c312c98dd53286c)
2012-09-18 12:33:07 -04:00
Jessica McKellar 736f60cf7b Move subscription rows to a Mustache template.
Now that subscriptions are in a tab, we'll need to dynamically
generate the rows.

(imported from commit e8ded6399d28fa52369ece154c5b55102ccbbd8c)
2012-09-18 12:26:29 -04:00
Waseem Daher a70e8dee4d Refactor our different pages into separate templates.
They are all included by index.html in different divs.

(imported from commit bd8b485516007075d33c2614b1de9f08999e927c)
2012-09-18 12:26:29 -04:00
Waseem Daher 5ebac29508 Switch back to 'Home' view when composing new message.
For now the idea is that if you're in the search view (or the
subscriptions view) and you click 'New Message', we should
snap you back to the main view.

This may or may not be the right behavior in the long term.

(imported from commit 43c24e1af9e80225ff9be8a62f4c8c925960436a)
2012-09-18 12:15:24 -04:00
Waseem Daher 6a7c2b3ef7 Add a new pane for 'Search'.
(imported from commit d7d96ad7abffbca794474e289da6ff05aa706265)
2012-09-18 12:15:24 -04:00
Keegan McAllister 0a88386523 Specify size on compose box Gravatar, too
(imported from commit 3a2911d5aadb3057222969d6e38d8dfccf7c15a7)
2012-09-17 22:12:38 -04:00
Waseem Daher c31c27f626 Cause gravatar to appear to left of textbox, rather than top.
(imported from commit 4c04dab329802bf6c4090658bc3ab114c1356c48)
2012-09-17 17:53:04 -04:00
Keegan McAllister 7152fe2f73 Format messages with Markdown
(imported from commit 014a4dddd4d3db61d85c6f6bf1987aff6093fb52)
2012-09-17 15:24:41 -04:00
Keegan McAllister 409d671445 Use absolute path for zephyr.css
(imported from commit 4bedaaebd160c6f0a4b9861a76376e44dadfeca0)
2012-09-17 15:24:40 -04:00
Jessica McKellar aaf537f528 Hide the scrollbar.
I am not thrilled with this hack, even though everyone on the Internet
says this is how you do it
(e.g. http://stackoverflow.com/questions/5820304/hidden-scrollbars-in-firefox-allows-scrolling-but-just-no-scrollbar).

(imported from commit 3a3e782f8f7e489d897187a583e0f7de704b26cd)
2012-09-17 13:51:33 -04:00
Luke Faraone de5ff99c21 Don't generate both zephyr_json and zephyr_dict_json on the server.
Previously we were iterating through all zephyrs twice on the server, now
we are moving part of that to the client so the client has an index of
Zephyrs that it generates itself as part of add_message.

(imported from commit c07a6c36911fa2eae6f216c34331be34b2aa8178)
2012-09-17 13:12:22 -04:00
Waseem Daher 7f6c50b8f1 Add body and /html tags.
(imported from commit be26f902bb2b19442e0ff0c5f19b90ae27e0f1cf)
2012-09-14 16:35:51 -04:00
Waseem Daher b2483d81a8 Reindent in the hopes of improving clarity.
Take a look with 'git show -w' to ignore whitespace changes,
there are some tiny tweaks to try to make sure we close
tags that we weren't properly closing.

(imported from commit 44cba1b8859842fd85a39a3062963af617556ca8)
2012-09-14 16:35:51 -04:00
Waseem Daher 2030d7237e Restyle personal messages box.
It's still not perfect, but it's better.

(imported from commit ec15c3082641a2dd6e076637fbd0792812e6e106)
2012-09-14 16:35:50 -04:00
Jessica McKellar 56ea3d12d5 Clear the compose box after successfully sending a zephyr.
You don't care about that content anymore. We probably want to clear
even more aggressively than this.

(imported from commit 29f6910a12e1b722f5801db644b04f54cf5bfd63)
2012-09-14 15:44:54 -04:00
Waseem Daher ea586ac581 Restyle compose window slightly, add close button.
I still don't love it visually, but it's getting there.
Some obvious issues:
 Personals window is totally unstyled
 Clicking 'new message' should perhaps give you a fresh new window
  not something prepopulated with old stuff. Think about this.

(imported from commit 8b28fd084d550db404eabbe63c056fa6866c0697)
2012-09-14 12:22:25 -04:00
Waseem Daher bee291afaa Restyle the narrow bar slightly.
Put a little 'x' by the class or class-instance indicator, to make
it more analogous to the planned behavior of the view-in-context
search box.

(imported from commit fa01001cffa6a6094ba5fbdcbdc965addb2efa1c)
2012-09-14 11:40:56 -04:00
Keegan McAllister 67b337ce07 Get rid of selectors like span.foo
Just write .foo.  We shouldn't have to care what type of tag it is.

(imported from commit 86c4eeecbe4f5c9875002e3fd81757cd49050268)
2012-09-13 16:32:21 -04:00
Keegan McAllister 00a91d8ff3 Clean up more copy-paste fail
(imported from commit 27233b64439ca4e761060739f019ac03f92f8d56)
2012-09-13 16:32:21 -04:00
Keegan McAllister 7638dc7279 Less confusing names for some classes
(imported from commit 15475d7dc98702a3935b1eb8a1373ab222913a7c)
2012-09-13 16:32:21 -04:00
Luke Faraone 4821175dd5 Provide both a sequential list of zephyrs and an associative array.
The purpose of this is to ensure that we can reference a zephyr by its ID
and get all the data about the zephyr; in the future we may not have all
such data stored in TRs as we do now.

(imported from commit 9128ddd01b46396fd276124ca1e6430538d3dd63)
2012-09-13 14:31:02 -04:00
Waseem Daher 3e5008b143 Remove searchbar from narrowed view.
Today I'm of the mindset that searching is a fundamentally
distinct operation than narrowing, so this reflects that.
(There would be a separate screen and UI for searching,
 I guess.)

(imported from commit 432a4088612dafd06184bec228b63056961325dd)
2012-09-13 10:36:29 -04:00
Waseem Daher e8a1ecad94 Renaming some divs for additional clarity.
unhide -> show_all_messages
narrow_indicator -> currently_narrowed_to
narrow -> searchbox

This is a little clearer about what these buttons/functions
do, which will be useful as we add a little more complexity
associated with searching.

(imported from commit b51e745ea71c212d6735e04011eaea5e71bf6d5a)
2012-09-12 17:31:48 -04:00
Keegan McAllister e6d9b5fa27 register.html: Focus first field
(imported from commit 738227000c288b5f72fe6e91b9998ad72ab092c1)
2012-09-12 16:14:09 -04:00
Waseem Daher 3f42c8422f Experimentally add a search bar.
I'm not exactly sure that this is the interface we'll want for
this, but it's the start of an experiment.

(imported from commit ea18a9b05106546475bc151229955ddafd8e7b8e)
2012-09-12 11:19:33 -04:00
Waseem Daher 1d9fb55b1a Make the filter icon look less clickable.
This was a historical artifact of how that used
to be a search icon right by a textbox.

(imported from commit 6f73bc8b5d174e4c07f1503ffd08650110e80420)
2012-09-11 17:00:37 -04:00
Jessica McKellar bfdf2bef57 [schema] Collect and display names and e-mail addresses.
(imported from commit aa6bceb05fcd5b456c03288cbfed65b14050fe88)
2012-09-11 16:34:53 -04:00
Jessica McKellar 06711afa51 Add a block of whitespace at the bottom of the zephyr feed.
That way you can see new zephyrs as they come in.

(imported from commit 6b72a7f2116130edc0444f601423453801ddb6b5)
2012-09-11 16:27:12 -04:00
Waseem Daher cca0e8f521 Restyle narrowbar slightly.
I have some serious concerns with this implementation,
but I think it's still an incremental improvement.

(imported from commit 6ed8d2545c727e25bf85b98a1528dbf3d155bc92)
2012-09-11 16:20:16 -04:00
Keegan McAllister a5d105dbae Move styles out of index.html
(imported from commit 8b3732ff67af71dac49886004370b6d4759b140f)
2012-09-11 14:38:33 -04:00
Keegan McAllister d8c3d60c18 Remove Bootstrap cutesy nonsense
(imported from commit fd959ce9cfb8df774fa438f8def61994f2ab8173)
2012-09-11 14:38:33 -04:00
Keegan McAllister 75c34a7f1b Fix a bunch of code style problems
(imported from commit 473ae8fdd64783f7a0989b17cae39826de42d30d)
2012-09-11 14:38:33 -04:00
Luke Faraone fef89daa46 Pad the top and bottom of the zephyr window.
(imported from commit f95a6fe7584add5f6b60db57824123ccba8badf0)
2012-09-11 13:39:01 -04:00
Luke Faraone 34b594b96b Reimplement the narrow bar.
(imported from commit 19e41c1238dff404813a21b9dc318458d5f29c64)
2012-09-11 12:12:02 -04:00
Keegan McAllister e5ac53674a Use fixed table layout
(imported from commit 12eb4882b03e6cf4b633334481a82da70b868ce1)
2012-09-11 11:56:34 -04:00
Luke Faraone 1da8c16367 Make "new message" open the compose window.
(imported from commit d63f4915f884dfa2bc11653d17782e5ee4c6191e)
2012-09-11 10:54:25 -04:00
Luke Faraone 4503aaae89 Implement gravatars.
(imported from commit 1e07d295ee7c12a95091e0785a9a9c3c4e856ede)
2012-09-10 18:18:09 -04:00
Luke Faraone cfc42b1d82 Implement portions of Waseem's new UI.
This is mostly working; things that need to be implemented:
 - Ask users for their Real Name
 - Personal replies need skinning
 - Miscl UI changes to match mockups

(imported from commit 3638cf5ec2ba2306004ba6db6fa4c25c47f76517)
2012-09-10 14:32:42 -04:00
Keegan McAllister 42fcb7789e subscriptions.html: Focus new subscriptions field on load
(imported from commit a3a0f84a83838aa04e69a951667bda6d5e508b93)
2012-09-07 11:35:17 -04:00
Keegan McAllister 474f08198b Send zephyr template inline with index.html using django-jstemplate
(imported from commit 58cc8a50d463548aa283658dbe0aae366ecab39f)
2012-09-06 15:48:15 -04:00
Keegan McAllister 8f1cee0b88 Move third-party components into static/third/
(imported from commit 709c78a6e41afcd4202a8264c9103ac7827158ec)
2012-09-06 15:48:15 -04:00
Keegan McAllister b1eb0fd0fd Inhibit caching of zephyr.css
(imported from commit 5e1af66b12454f791f7edfcc3f01be03b00e4b2f)
2012-09-06 14:54:10 -04:00
Luke Faraone f6b481546f Offer to subscribe / create classes if user zwrites to a non-subbed class
Here we check if a class exists. If not, we prompt the user to create, sub,
and send his message to the class. If the class exists but we're not subbed
we prompt the user to sub.

This commit also added a decorator to views.py and refactored out some
redundant code.

(imported from commit 7234ef6c080f2a6de6ff0922635dddd90032f7fe)
2012-09-06 14:33:55 -04:00
Tim Abbott 38b30e5997 [schema] Add realms to the schema.
Note that realms aren't actually used for anything, aren't prompted
for, etc, so this is mostly just a schema change and the refactoring
needed to allow setting the realm in the future.

(imported from commit b8b483dcc9601b288702284879e9c99707a50a5c)
2012-09-06 11:02:34 -04:00
Keegan McAllister 4dd1567426 Keep third-party jQuery style in the jquery dir
(imported from commit 9e34277b90c13b3ce71521fe0657014f186fc1c3)
2012-09-06 11:00:34 -04:00
Tim Abbott 84ece4b3fe Combine the zephyr() and personal_zephyr() functions.
(imported from commit a39b70f019901d0dd6994d4c440002111e4c29e1)
2012-09-04 19:14:46 -04:00
Luke Faraone 974b560659 Add autocomplete for personals, classes, and instances.
Here we pull in the jqueryui library and a style sheet to provide a widget
to do autocomplete for various fields. We populate a list of all ever-seen
classes, instances, and people (C/I/P) into JS arrays and then pass them to
jqueryui.

Each time a new C/I/P appears, we reinitialise the autocomplete functions
so they will notice the new data.

(imported from commit f1ab69c99d21f68ccf40c015bd43960f463c6ff2)
2012-09-04 16:14:48 -04:00
Keegan McAllister ac2553cdff Replace get_state with a variable embedded into index.html
(imported from commit 3ef4a0163107248618a25e242ab30fdff5da17e0)
2012-09-04 13:01:00 -04:00
Keegan McAllister 2e8b1fa14a Use client-side templating to render zephyrs
(imported from commit 5ac650c3df0fa8caa823407d9d1a65a38f7e63c6)
2012-09-04 13:01:00 -04:00
Tim Abbott d85e80483f Eliminate the dummy row.
(imported from commit 4f0cd12e77cbe4d6a29baed9902c7c7074fcff27)
2012-09-04 11:49:13 -04:00
Luke Faraone 37d02a232a Don't include zephyr.js in /subscriptions/
That code added no value and actually crashed on page load.

(imported from commit d6f0be6aaa5e1ac938a588387564800bd5807f90)
2012-09-04 11:08:27 -04:00
Keegan McAllister 115edb57b2 Eliminate tab characters from source code
(imported from commit 60c0742b8998ee08189b576b38cd0b4416f22b66)
2012-08-31 16:51:46 -04:00
Luke Faraone cd5b623cfd Reply to the recipient instead of the sender if replying to my own personal
Previously, if hamlet wrote to iago, and then hit "r" on his own message,
the form would prompt hamlet to reply to himself. Now, Humbug will DTRT and
prefill the form with iago instead.

(imported from commit cb3260d1d0bc89b184dac84ebf1e5642d0bc1606)
2012-08-31 16:50:24 -04:00
Keegan McAllister 2d30c9440d Retry if long polling fails
(imported from commit fc2d09976231974bf48efbcf5dfc480be36e26ec)
2012-08-31 15:33:04 -04:00
Jessica McKellar 99925f4aaf Add the ability to add new subscriptions.
(imported from commit 0a7fdc17087240b13631627a053c580c2e4b5319)
2012-08-30 17:17:59 -04:00
Jessica McKellar 7e56e7a0f4 Add a navigation link for managing subscriptions (for starters, just unsubbing).
(imported from commit 23274a8790bf1f017e9c33db52bf746e291f23ba)
2012-08-30 17:17:47 -04:00
Keegan McAllister d57d19e562 Move all zephyr HTML generation to the client
(imported from commit 3afec768a5cd220c14ce615e03c29ee22754fdf2)
2012-08-30 16:41:09 -04:00
Keegan McAllister ddacce81b7 More responsive UI for sending messages
(imported from commit 8a6c4e78788f46dde4fe166e17828eb9e7bdcaff)
2012-08-30 16:19:44 -04:00
Keegan McAllister a1a7291fe5 Send zephyrs via Ajax
(imported from commit cdfd69079212d36a9e4e9d2d01dc7b6a93b6a4e0)
2012-08-30 16:19:44 -04:00
Tim Abbott 70f96ad674 Fix log out URL.
(imported from commit b0405266792b1cbeea3b30f20e942fd3ad046eff)
2012-08-30 16:17:33 -04:00
Keegan McAllister 556837d3a6 Indicate clickability on labels
(imported from commit cc3c48879d50c0808d465492c20a887bef408a91)
2012-08-29 17:25:04 -04:00
Keegan McAllister d87fdaad99 Quote hrefs on accounts_home
(imported from commit 9b04e654be54b70ccaf91c1ca54d8d533e3a712a)
2012-08-29 17:25:04 -04:00
Jessica McKellar a8fa6b156a Turn newlines into linebreaks.
(imported from commit 67999641a8cff471be1430e421f259b1c558444d)
2012-08-29 16:47:53 -04:00
Keegan McAllister a0e59fbbc9 Narrow on all personals together
(imported from commit 2dc2646344767acbda7f1d8d6f847f8a69d597cf)
2012-08-29 16:23:56 -04:00
Keegan McAllister 03a087a654 Rework display of personals
Code cleanup, and add an arrow to indicate sender and recipient

(imported from commit 24881ee1e5f3bc9209f9ec485195dcd7178d86fb)
2012-08-29 15:53:38 -04:00
Keegan McAllister 053122c3d1 Drop the responsive navbar
(imported from commit 9ccf5a2f43242f35e510adab58ac6ca4715bceec)
2012-08-29 15:40:10 -04:00