Commit Graph

1004 Commits

Author SHA1 Message Date
Luke Faraone 6c3a328426 API key fetching should happen over POST, not GET.
(imported from commit 351d0035a55f49f00693081584d882c1aef7dd01)
2012-10-17 16:36:49 -04:00
Luke Faraone 12bad46740 Introduce API method to return a user's API key by logging in.
This makes it easier for mobile clients to use the API by enabling them to
present the user with a familiar username / password prompt, rather than
by asking them for their API key.

(imported from commit 6ed06cfe86f87e7aef54a4be7835fb7bf8d7f209)
2012-10-17 15:33:05 -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
Keegan McAllister 38750b5f02 Add a tree of symlinks to obfuscate static URLs
(imported from commit bb90863848ef5133c0cd90d5167b7004d72073f9)
2012-10-17 15:04:33 -04:00
Keegan McAllister cfb72a7337 Add robots.txt
For now, disallow everything.

(imported from commit fad7ba7ec28c86342a5c11bc721cdf45507c7c4f)
2012-10-17 15:04:33 -04:00
Keegan McAllister b59e895bbf Remove favicon
Browsers tend to cache these forever, and it's not our final logo.

(imported from commit 48e607c9e7ff95ee523dd339b3fcc9a1b189fa7f)
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 fdfe81bfb9 Don't linebreak between '(not you?)'.
(imported from commit 20569aed3fac59d979a05c456e21cdf668c78bcf)
2012-10-17 14:30:06 -04:00
Tim Abbott 7237b4a73e Fix sending to a stream with a space in its name.
Previously if you tried to send to "a b", we actually ended up trying
to send to "a%20b", since we were url-encoding the stream name and
then not properly decoding it.

(imported from commit 307d2999bd309e47fc654ae4422ab4372edde064)
2012-10-17 14:06:00 -04:00
Tim Abbott 8a7779ad49 Tab should toggle stream/huddle even if you clicked the compose botton.
(imported from commit a705c7cd0d6067dc05da7a64f29fb3ef42838785)
2012-10-17 12:05:43 -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
Waseem Daher bf73a54576 Have Spacebar exhibit the same scrolling behavior as PgDn.
(imported from commit 46a1204a9a8b973e7fa6bae9c65a9dc9f341077c)
2012-10-17 11:25:38 -04:00
Waseem Daher 2d4857d6c1 Remove extraneous calls to keep_pointer_in_view.
PgUp, PgDn will already call the scroll handler, which will
of its own accord call keep_pointer_in_view.

(imported from commit 8b6e53eaeda91d0f35775de72e16d63dc6c8340b)
2012-10-17 11:25:38 -04:00
Keegan McAllister c31462c278 Allow users to embed Gravatars in messages
We'll use this internally for the commit bot.  We might eventually disable it
for external users.

(imported from commit 3136cd9faadc6b81355889d2ee6472985da87fbe)
2012-10-17 01:11:33 -04:00
Keegan McAllister 81f0d61c3b Factor out Gravatar hash calculation
(imported from commit 29872722fb4856773d98fc987a1e2d6eb99ad8b2)
2012-10-17 01:09:16 -04:00
Waseem Daher 93954177f9 Code a little more defensively in update_floating_recipient_bar.
That andSelf is only necessary if a .recipient_row were immediately
followed by a .bookend_tr, which, I don't know, after a redesign could
very well be the case, so let's guard against it now, especially since
our performance on scroll is currently pretty good.

(imported from commit 1011555fbfd30943b4aa917997d6e35bcce959fc)
2012-10-16 17:26:02 -04:00
Tim Abbott b5c1178ac7 test_public_urls doesn't work with Tornado urls.
(imported from commit fe56a80842ac7f34fc0af0f916ce26f94a4baca8)
2012-10-16 17:25:00 -04:00
Tim Abbott 539c3abbab @asynchronous needs to be the outer wrapper.
(imported from commit 24b8f157d600e69276178d609820d3f0dfb685a7)
2012-10-16 17:10:15 -04:00
Waseem Daher 433ac07b37 Very very slight speedup in get_next_visible/get_prev_visible.
In my limited trial, this sped the call up, on average, from
0.507ms to 0.473 ms... so, admittedly, not a lot.

I think this is a little conceptually cleaner, though, and it handles
the common path with the least work, which I like.

(imported from commit c8b827a2e8111fbdd54bcabe05ac36f64523c466)
2012-10-16 17:06:36 -04:00
Waseem Daher b730dc7983 Huge speedup in get_next_visible/get_prev_visible.
nextAll/prevAll walks the entire DOM, basically.
This code only walks the DOM until we find a new .message_row.

This speeds up the average time of a call to this function from about
6.38ms to 0.678ms, in my benchmarking.

Admittedly, the whole outer loop here could still use some
optimization, if we want to; do we really need to call this 1000
times?

(imported from commit 852e2f660a16f8cfd7be35d3271aedb1ac481663)
2012-10-16 17:06:36 -04:00
Waseem Daher cada47a981 Slight speedup in get_next_visible/get_prev_visible.
http://api.jquery.com/first-selector/ mentions that using ":first" in
query selectors can be a little slow since we can't use the browser's
native querySelectorForAll implementation.

In my tests, this cut the average time down from 6.70ms to 6.38ms.
So, not great, but this function is most frequently called
many times in a big while loop, so, better than nothing.

(imported from commit d7725edd0c81431829fe353c6dd2bc61b1de6b19)
2012-10-16 17:06:36 -04:00
Tim Abbott 94944d2c5e Fix updating the pointer.
(imported from commit e0214c59c7c14b3c6791e4da205386253f6861c1)
2012-10-16 16:56:21 -04:00
Tim Abbott 6642a65269 Convert last few json views to use the json_success api.
(imported from commit 7a617ec7e7c8607e8ba87e7a9b8599a83b91666c)
2012-10-16 16:54:41 -04:00
Tim Abbott 8388353859 Clean up the decorators code for the API.
(imported from commit b3fd6cfa475f021e35043148ad9a38633d9bddfe)
2012-10-16 16:38:42 -04:00
Tim Abbott a859c10017 Don't redirect to a login page when responding to json messages.
Also update tests to actually check all our URLs.

(imported from commit 86de2027d140da6118e2f2f60c1c86511b16c141)
2012-10-16 16:38:39 -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 fab64fd7b0 Make the client reload the page when it detects a server restart
If the client is not composing a message, we can just force a page
reload.  However, if he is composing a message, we must preserve that
message while still reloading as soon as possible.

We take the following approach: if the client has not completed the
composition after 5 minutes, do a compose-preserving reload
(described below).  If he sends the message before the timeout
expires, reload the page after a successful send.  If the send fails
(not due to server timeout), however, we do a compose-perserving
reload in case the error was due to the data format changing.  If the
send failed due to server timeout, we don't reload because the reload
will probably also fail.

In a compose-preserving reload, we redirect to an URI that has a
fragment indicating we are doing a reload and containing all the
necessary information for restoring the compose window to its
previous state.  On page load, we check the fragment to see if we
just did a compose-preserving reload, and, if we did, we restore the
compose window (or just try the send again in the case of send
failure).  The URI fragment looks like:

(imported from commit af4eeb3930c24118e088057d4da456748fbd2229)
2012-10-16 15:30:41 -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
Zev Benjamin 24c1a2d7f1 Make compose box accessor functions also be setters
(imported from commit ab568cc2c224b8558148f158d1c9c1f89bb1eb49)
2012-10-16 15:30:09 -04:00
Waseem Daher 6dad169d12 Workaround for 'Can't click stream name in narrowed view' issue.
There was this very cute problem where if you were narrowed and
scrolled to the top of the page, you couldn't seem to click on the
stream or subject name.

The issue was: the floating_recipient_row div was visibility: hidden,
which means that it made top_statusbar big enough to cover up that top
part, capturing the clicks.

So instead we make top_statusbar also visibility: hidden so that
the clicks get through.

(imported from commit 471e041ba1c429ad0b6e225da22585dc72120945)
2012-10-16 14:25:12 -04:00
Waseem Daher ea7770c4b7 Properly handle mousewheel events when we're simultaneously at top and bottom.
(imported from commit 72efb1c52b5aed759150d9d2fe82ca619a25ff35)
2012-10-16 12:16:26 -04:00
Waseem Daher ca1dcf222f Don't allow the top of the pointer to be past the 2/3 mark.
Given that we now look at the top of the pointer rather than the
bottom for this check, our previous 4/5 number was far too permissive
(and led to your selected message often getting covered up by the
compose window).

Anecdotally, this feels a bit better to me.

(imported from commit 39ca7924db56272f7e623708ce0125b2a7012656)
2012-10-16 11:46:17 -04:00
Waseem Daher fc5287e7ed Redo above_view_threshold/below_view_threshold to prevent glitching.
In particular, we had this issue on huge messages. Suppose you had a
huge message and were scrolling up from the bottom. Initially it would
get selected as the message underneath it was below the
threshold. Then, when you scrolled again we said "oh, well, the top is
too tall, it's also *above* the threshold" and moved the pointer back
down. So it glitched back and forth.

Now we consider you above the view threshold by looking at your
bottom, and below the view threshold by looking at your top, which
seems to resolve this issue.

(imported from commit 2434d1103ab3fa894ade612ac1fb10b2f3cd66cf)
2012-10-16 11:46:17 -04:00
Keegan McAllister ed094b6a84 Markdown: Disable headings using our extension
(imported from commit cd40f6bf010ff30775ca2af494b9566843444797)
2012-10-16 11:39:00 -04:00
Keegan McAllister d8556707aa Markdown: Disable images
(imported from commit 6656b15fa690b463265af6384a73529ee635f688)
2012-10-16 11:35:58 -04:00
Keegan McAllister 1769b4c21b portico.css: Get rid of div.foo / span.foo selectors
(imported from commit eb98aed3b95bcfbfb3f2b420b61318ab0a43b0f8)
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
Waseem Daher ca7855e03e Use outerHeight instead of height.
I think this'll allow for a slighlty more accurate drawing of our
floating recipient row in the even that some of these things have
borders and others don't.

(imported from commit 31714f7356604e1d9c64bcc7f6fd14b8a02a99b5)
2012-10-15 22:47:42 -04:00
Waseem Daher aaca685c4c A cheating way of eliminating the floattheworld 1px issue.
If we make the recipient_rows the same size for huddles and stream
messages, this becomes a non-issue. (Previously, the border on huddles
was 2px, which I think caused our invisible row to have its height
grow by 1px -- which was a problem, because then it left a little 1px
gap that you could see through when we scrolled over non-huddle
messages.)

(imported from commit d1f24e5c536bdf9c0827a15b611ba680ee4e5e36)
2012-10-15 22:47:42 -04:00
Waseem Daher b76422d8d0 Cache the window selector as 'viewport' in an attempt to improve performance.
(imported from commit 3e01382260938737fbee663f6a9e94ad495ef21e)
2012-10-15 22:47:42 -04:00
Waseem Daher 45629a362d Break apart the scroll and mousewheel handlers.
I'm actually not sure if this is a performance gain or not; I guess it
depends if any of the stuff inside mousewheel or scroll took longer
than 50ms to call (and right now it does).

(imported from commit e3fcc4a14cd8787fa2357a43ed878ab08646e4f2)
2012-10-15 22:47:42 -04:00
Waseem Daher d51aec272d Rename. More consistent references to floating_recipient_bar.
(imported from commit 7bfd2bf55ede0604349faf06944c551a0d23fb73)
2012-10-15 22:47:42 -04:00
Waseem Daher 1c56ad00c9 Optimize update_floating_recipient_bar's showing-and-hiding code.
(imported from commit 6cd67d9c7bf418ae78288363636ee75fdc3fcada)
2012-10-15 22:47:42 -04:00
Waseem Daher 1781a4a616 Optimize update_floating_recipient_bar's "pick a subject/stream" code.
(imported from commit a6e615a3939fb072cc9cd310e653f13d690a55cc)
2012-10-15 22:47:42 -04:00
Waseem Daher daf06b9beb Hack around visibility: collapse for Chrome.
(imported from commit 25e6453fe6fa1c5a3c72f56bec2e4bbb089edb4f)
2012-10-15 22:47:42 -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 acb75ecf67 Only float narrowbar when #home is active.
(imported from commit a2da9b5a41e5a645d0c72ef48ff4a856558bed15)
2012-10-15 22:47:41 -04:00
Waseem Daher a80ba151b0 Eliminate scroll direction detection.
(imported from commit 2aa8665c9ffa137830fc871061d7e72ba5ccfc6f)
2012-10-15 22:47:41 -04:00
Waseem Daher 6015d1d928 Refactor the 'floating stream/subject' bar.
(imported from commit 76528653c29809bc461693b069140bfdfbeec97b)
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 d95b4a30e2 Resize the narrowbox, not the 'narrowcontent' when we shrink.
This allows us to put other stuff in the narrowbox and have
it also magically get resized. At least in theory.

(imported from commit 92975e3d0893b34d52cad910462cbf2ccaed2eab)
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 5141cd7ab9 Make a setting for where we redirect home for not logged in users
(imported from commit 95bae4e52d8a8a34c001975e8d3547db5ba256a2)
2012-10-15 18:44:36 -04:00
Tim Abbott bcc895b95b Avoid expensive queries to check whether the user has any messages.
(imported from commit 035ec44db7a2f61b1c04e80feebe9af1a214505c)
2012-10-15 17:10:55 -04:00
Keegan McAllister ab9832092d Remove an unnecessary @require_post
(imported from commit c8a43e696dbcfa4cdb494f286e6f0b989d328bd9)
2012-10-15 17:05:37 -04:00
Keegan McAllister bc43613a10 Some import cleanup
(imported from commit 265cebb011309b9a880035ccd587a5e51554803a)
2012-10-15 16:16:10 -04:00
Keegan McAllister fa729c838a Move our various Markdown hacks into their own file
(imported from commit b03a5c64cc95964936c4aba7d667807969e35d21)
2012-10-15 16:16:09 -04:00
Zev Benjamin 828fc05da5 Don't display one's own email when replying to multi-person huddles
(imported from commit afcf48e17b3dc6f1103f089f8746d462e90c0db7)
2012-10-15 15:57:41 -04:00
Zev Benjamin 084608ebda Clear compose box when replying to a message
(imported from commit 1fe21a6d1a5f6f946e14583dc81ede961dbf57c9)
2012-10-15 15:45:15 -04:00
Zev Benjamin 8f3aea5cbf Fix narrowing to personals with a specific user
(imported from commit 06f84dd056e8212cb146a17bec37d0bbe63651d0)
2012-10-15 15:40:55 -04:00
Tim Abbott 8bc511d24e Re-initialize the markdown engine every 30 messages.
Otherwise, the performance leak associated with highlighted code can
cause get_updates to become increasingly slow.

(imported from commit 3c81f245a795e5dd2629c0e571054f2d87089cb7)
2012-10-15 15:29:49 -04:00
Zev Benjamin a85c1f62d2 Visually distinguish when a message is persistently vs. temporarily selected
(imported from commit d626b3460a3a3ad46bd9ebfb65d73a6c267c2251)
2012-10-15 13:25:39 -04:00
Zev Benjamin 0bf78df2f6 Display full names in narrow description for huddles
(imported from commit 665df20d129df4d7e516f145f064b90c6e0f34af)
2012-10-15 13:25:39 -04:00
Zev Benjamin b42cf1d4c8 Fix persistent message selection across narrows
(imported from commit 958ce299108f8bbc8579e7446053d7fc9f018b81)
2012-10-15 13:25:39 -04:00
Tim Abbott cd14988b47 Reset the failures count to 0 when restoring from suspend.
(imported from commit 11b03f8a0565063cc7381dd32a96af79bd26a0d1)
2012-10-15 13:20:54 -04:00
Tim Abbott 71146c8718 Use select_related to get the userprofiles for new message recipients.
(imported from commit afa729230f4ef6fb7f591b3f852fa0b271d64992)
2012-10-15 12:56:03 -04:00
Tim Abbott 002294d522 Save UserMessage objects within a transaction.
(imported from commit bd7f36801a754d4f9c09b5d370eee6b62a470b1a)
2012-10-15 12:54:53 -04:00
Tim Abbott ec37eaf734 Use select_related() when querying UserProfile objects.
(imported from commit 584859312e089ad98c4b43032ea29f03eb44a97f)
2012-10-15 12:29:27 -04:00
Tim Abbott 917a06d5cf Use select_related for the get_updates queries.
(imported from commit 403a5906f9619fb1d6dc10e57ebcaab7e8f00f16)
2012-10-15 11:54:12 -04:00
Tim Abbott 7ebc720347 performance: Use select_related when computing autocomplete lists.
(imported from commit fde08787998179451e6684a101c80aaafca917f6)
2012-10-15 11:39:10 -04:00
Tim Abbott a92be363d7 performance: Cache display_recipients.
(imported from commit 9ca18bd75213423cbf17c6262113822d3009c320)
2012-10-15 11:38:54 -04:00
Tim Abbott 4062550ef7 Fix tab not toggling the compose window in Firefox.
(imported from commit 4dfd3d6eb3e81c519d0aefbfe0b3b1390adb241b)
2012-10-15 10:45:31 -04:00
Tim Abbott db3c40fad1 Don't display yourself on list of huddle recipients.
(imported from commit 17919c153ad380adbb0a9dc2c111ea1686603414)
2012-10-12 18:41:04 -04:00
Tim Abbott ec1533b0b1 Fix display of huddles.
(imported from commit c894411331fd0fa905d0c72d5cfa78317fad8c2b)
2012-10-12 18:37:34 -04:00
Tim Abbott 89aa539024 Display fullnames for headings on huddles and personals.
(imported from commit bfd296bd962b6c44d4da3e5dfa1a6791c4c46b8a)
2012-10-12 18:35:28 -04:00
Tim Abbott 41e935fd28 Send the sender_short_name to clients.
(imported from commit 1652f5cadbe9c90d4c6d53c97cb23305aaaaa34d)
2012-10-12 18:35:28 -04:00
Zev Benjamin 827cc31aa7 Be more efficient about adding new people to the people list
(imported from commit ff0a891fd8f60b01308c6be21d3f8eb645d4ee31)
2012-10-12 18:18:04 -04:00
Zev Benjamin 09deef9611 Improve autocomplete for multi-person huddles
(imported from commit 3dacbc6b8c8470177844987e509bc1d413a10766)
2012-10-12 17:29:52 -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
Zev Benjamin f5131356f4 Fix test broken by 0917d5c2ed1b156603ce53aaec88ecbe26f5f39c
(imported from commit 1efce3527c52722deb5ea5ece4aa2bca5e0665c5)
2012-10-12 14:30:23 -04:00
Zev Benjamin 35342481dc Scope subject autocomplete to the stream
(imported from commit 6e9972c93d5f56f29db37b522e20768b8fb641df)
2012-10-12 13:15:06 -04:00
Zev Benjamin 88009b4854 Auto-complete huddle names based on full name.
This also makes the people_list a list of objects containing the person's full name and email.

(imported from commit cff9b3de8cab0c9b2690ffa60d65d666302b989f)
2012-10-12 11:35:45 -04:00
Zev Benjamin 7a305c1882 Add more information to error message
(imported from commit 0917d5c2ed1b156603ce53aaec88ecbe26f5f39c)
2012-10-12 11:34:42 -04:00
Zev Benjamin c4d35280ea Make Message's display_recipient field be an object with consistent names for both personals and huddles.
(imported from commit 8b00f16b036ed3fb3f7d56e7393271ec1d458ea5)
2012-10-12 11:34:42 -04:00
Tim Abbott afee537a95 Don't allow users to subscribe to too-long stream names.
Also check for invalid characters when subscribing via the API.

(imported from commit c4730ecb360607c4da264cb1c4b2f9daa2cef293)
2012-10-12 10:48:41 -04:00
Tim Abbott 091bc48926 api_subscribe: Check for too-long stream names.
(imported from commit 20d94eafeb333a9bc09b6b20093e13fd1b241ea8)
2012-10-12 10:45:53 -04:00
Waseem Daher 22099dfe9f Fix scrolling bug related to resize.
When Bootstrap shrinks the divs down into 'tablet' mode, our selected
message might end up being even lower in the screen than it was before
(because more text wraps). But our scrollbar does not automatically
advance to keep it in view -- so we do it manually.

This implementation is a little hackish in that it does some
unnecessary recenter_view-ing in big views (which can be a touch
disorienting) to optimize recentering on resizing for small views.

If that behavior is annoying, we can deal with it by being
smarter about when we trigger the recenter code.

(imported from commit 6834e11f7a37833982c388f15174df661d7f55b3)
2012-10-12 00:17:24 -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 04b0000d83 Embarrassing typo fixes.
(imported from commit 0ea86386e3d4269be63610f4729b1f1762cdc0b7)
2012-10-11 22:49:18 -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 3853bf6dd8 In case we start out very small, trigger resize handler on page ready.
(imported from commit b3492eee7299e89ded422527facf9c8e44421c73)
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
Keegan McAllister d19d3d2bd7 Hack around Markdown parser failures for now
(imported from commit dba079d444d40e36c91508b86b243bdc805c6222)
2012-10-11 21:45:22 -04:00
Keegan McAllister eab84fa195 gitignore zephyr/tests/zephyrdb.test
(imported from commit 755213afd778829a6d3f77a4232b9947b5f01c4a)
2012-10-11 16:25:40 -04:00
Keegan McAllister 3ca3be297e Disable Markdown heading markers by padding with spaces
Because # will display literally now.

This still fails in some cases, such as

    > # foo

(imported from commit 40654a4f1dac940ba131f2a104440b6ecb7eafd1)
2012-10-11 16:23:18 -04:00
Tim Abbott fc99d2983a Add an API call to subscribe to a list of streams.
(imported from commit 0a5d46d5f54fb4c8ebfad8c9adb777c0b4938dfa)
2012-10-11 16:20:45 -04:00
Waseem Daher 04c631fd24 Don't let timestamp float over other content.
Before this commit, the timestamps are higher than the narrowbar,
on the z-axis, so they slide over it as you scroll.

As a philosophical aside, I almost wonder if the timestamps should
live in their own table row, that way they can't possibly overlap
with the message bodies. (This would require reverting Tim-style
sometimes-show-date-and-time timestamps.)

(imported from commit 0c59f1feacebd59b88e76bf056d96e05159d2937)
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
Waseem Daher f13a257087 Make main message area respond better to resizes.
Paradoxically, life is better if we specify a max-width rather
than a min-width!

(This has the side effect, though, of sometimes having our message
boxes, etc. be ~548px rather than 640px, but philosophically
it's kind of nice if that all scales nicely).

(imported from commit 7f41c147b727348a148197c74b299cb31636f83b)
2012-10-11 16:15:18 -04:00
Keegan McAllister 0a0bd31407 Remove unused strip_html
(imported from commit 21747b9b5cbbe7b1935905fc9254f4de64db20aa)
2012-10-11 15:01:54 -04:00
Keegan McAllister 2c3d7d6116 HTML-escape messages on output
(imported from commit f199fddf887ffbd22ebac76448accb4c48b64a24)
2012-10-11 15:01:54 -04:00
Keegan McAllister 3fadaae574 Don't escape message metadata as it enters the system
(imported from commit b98deb3dcdc389b079055a06ffafaf138bc79c70)
2012-10-11 15:01:54 -04:00
Keegan McAllister c06aa1a3da Don't escape user metadata as it enters the system
We believe that our output escaping is sufficient.

(imported from commit 4c9d4d79682ef5689bc1eec12a3bbcc34de013a4)
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
Tim Abbott 83f494b1a4 Add API queries to show public streams and the user's subscriptions.
(imported from commit 5f24e35a9bdd1e40406e2acb0c3713a6517d139b)
2012-10-11 14:43:23 -04:00
Zev Benjamin adf75d48e1 Make pressing escape also un-narrow
(imported from commit 17d2cc3e8074af332f98588ad201ec342476d51f)
2012-10-11 14:30:51 -04:00
Keegan McAllister 9811bd5f8a Get UserProfile by email with a join, not two queries
(imported from commit 0698ebb88615cea54196181aeabe869ec466dbc1)
2012-10-11 14:05:53 -04:00
Tim Abbott 676e650a08 Fix mit_sync_bot bug causing constant API requests.
(imported from commit dfa845b98a7e22ee69a9589b8b98ac5a49077793)
2012-10-11 13:00:50 -04:00
Tim Abbott 2de4d1d448 Add social and test to default subs added after DB dumps.
(imported from commit 828c733c9f5d1bdd5fc0aa2e162b800f8db7b22f)
2012-10-11 11:53:57 -04:00
Keegan McAllister 5a7ff70c11 Remove obsolete views
This functionality is part of the home view now.

(imported from commit 5f0327eb62840bf98af49566e6f3c0b86ca43b8d)
2012-10-11 11:23:22 -04:00
Keegan McAllister 48ec15c46d Don't duplicate realm query when registering
(imported from commit b1e3b7144f564c5b2fc23fbf548bf0672deb2932)
2012-10-11 11:08:52 -04:00
Waseem Daher 97e3c36d4b Experiment: Color huddles a little in an attempt to make them stand out.
(imported from commit be19446631831a4fc13cb8bf758902ea9f8304ae)
2012-10-11 10:40:28 -04:00
Tim Abbott eb63177a56 Fix timestamps in logging
(imported from commit c23570fa00ea682681a0065ffddd86670e5c59af)
2012-10-10 21:34:57 -04:00
Waseem Daher 4f8df0c32e Make navbar look a little more visually distinct.
In preparation for maybe changing the background color.

(imported from commit fbab4bfcbdb4067b13eec9ea48e63966abb92a71)
2012-10-10 19:04:11 -04:00
Waseem Daher d35b4f7dbb Add a little padding to the left of the message stream.
(imported from commit 186436195b16588ac11f249162089b860dcbf898)
2012-10-10 18:26:01 -04:00
Tim Abbott a5a8a07370 Increase the maximum instance length to 60.
(imported from commit e1d79e059324be03ecb84d1bdd93f83bcc4a1a8d)
2012-10-10 18:19:38 -04:00
Tim Abbott 4c4cca0945 Fix removal of stale zephyrdb.test files.
(imported from commit 2f3f8b1f05d43ed2fe9e3b5427f0be2e2b05b51b)
2012-10-10 18:13:45 -04:00
Tim Abbott b5bb6b9921 Rename test-settings.py to test_settings.py
(imported from commit c9ad55821bc66a7c11668ac0b40ca13c2e05986e)
2012-10-10 18:13:45 -04:00
Tim Abbott ac3f4393ff Rename instance to subject.
(imported from commit 6b4693da03f106448c137cf81cf9801cac44f2b8)
2012-10-10 18:01:39 -04:00
Tim Abbott 8dca315a18 Rename s/class/stream/ in code local to various js files.
(imported from commit c441f9d7d4155ff3c4b171a2a4a3db4ffbb60ac4)
2012-10-10 17:48:18 -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 98ba39700c Rename is_class to is_stream.
(imported from commit 6a68581c8a3ab72b13907af651a772a4a190ac40)
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 413fdeb655 Rename class_name to stream_name.
(imported from commit e610f5de5edf756ef0a71c5361fcd507adbb1605)
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 081f82c50c Rename narrow_class to narrow_stream.
(imported from commit 4654718c1226f7d0d945436f8dafdfa64d74c92c)
2012-10-10 17:48:17 -04:00
Tim Abbott 613010675c Rename class => stream in populate_db.py.
(imported from commit 8546b2e7823f8df0f69b317bb3c6df1a4da49537)
2012-10-10 17:48:17 -04:00
Tim Abbott 10d6106e36 Rename class => stream in tests.py local variables.
(imported from commit 9fe439a71f49dc0d03d50844dc40d4db33050008)
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
Tim Abbott 493a428cb2 Rename zephyr_class=>stream for local variables in views.py.
(imported from commit 9ea782e0c132f4ab3ca86cd37ff584d0a2308dea)
2012-10-10 17:47:13 -04:00
Tim Abbott 003efb84b4 Rename get_class to get_stream.
(imported from commit 4d393f9fcd46847c54c7e0b6b7add219e8e07fe6)
2012-10-10 17:47:13 -04:00
Tim Abbott 4006e4b1ea Rename class_exists to stream_exists.
(imported from commit 416bd1f4c513216d45913e306f6c8eaa542f3539)
2012-10-10 17:47:13 -04:00
Tim Abbott 39cde772eb Rename valid_class_name to valid_stream_name.
(imported from commit 980135772f5050514b41130b0f1948aee3a3a4e5)
2012-10-10 17:47:13 -04:00
Tim Abbott cdcaaa578f Rename class => stream in models.py.
(imported from commit c9513da997e126bc3c84c6d66176d3402a57db66)
2012-10-10 17:47:13 -04:00
Tim Abbott 44e9e4cebf Rename Recipient.CLASS to Recipient.STREAM.
(imported from commit a530194163f7260c73921137fa1ff671f14516f6)
2012-10-10 17:47:13 -04:00
Tim Abbott 1fc4780a81 Rename create_class_if_needed to create_stream_if_needed.
(imported from commit 1bbc792332981723d3d29b24ad03811d62ced5f1)
2012-10-10 17:47:13 -04:00
Tim Abbott bc3646691d Rename create_classes to create_streams.
(imported from commit 5c2e1f840e4774d392554a4c4cf49746f10550a9)
2012-10-10 17:47:12 -04:00
Tim Abbott 95f95d7e54 klass => model as a local variable to refer to our models.
(imported from commit c58a3133bfd8db13d34f8def4cf73e7526214e8e)
2012-10-10 17:47:12 -04:00
Tim Abbott 8daff2e05e Rename ZephyrClass to Stream.
(imported from commit ae51b7a9e03f322dfe2dfccd250cbfc23adfe32e)
2012-10-10 17:47:12 -04:00
Keegan McAllister 8aa4e8c5f1 URLencode email in URL instead of HTML escaping it
HTML escaping makes absolutely no sense here.  The other occurrence was already
removed in 55fff703924ef28060f0b91af3a6f06a1a636197 .

(imported from commit 3b7569dee381f6db290fc1527553802883e89ed7)
2012-10-10 17:24:49 -04:00
Jessica McKellar c4dd4ea06f Clear compose error messages on New Message or message type tab toggle.
Also highlight a useful input box on tab toggle.

(imported from commit e046cd077039b42069e866267038b92536a05e1b)
2012-10-10 16:59:20 -04:00
Luke Faraone c2117a58e1 Don't use strip_html on passwords.
(imported from commit 2ecea072f545b5902b33bdc8e621871919cbbed6)
2012-10-10 15:16:23 -04:00