Tim Abbott
565acffbc5
Fix populate_db pointer restore.
...
(imported from commit e7984f5a762fde833c3b8520ef556fbd841aacbb)
2012-12-11 17:18:59 -05:00
Tim Abbott
c21535d420
models: Create database indexes on auxiliary Message fields.
...
I suspect we'll want these for narrowing code at some point.
(imported from commit d2077aa4d7a6967bb4cb7d9404a4db4fcf824343)
2012-12-11 17:17:38 -05:00
Tim Abbott
02d65664b4
Increase MySQL batch size to 10,000.
...
This saves 30 seconds in populate_db runtime on MySQL.
(imported from commit 7fe483bf5f32cfa3d09db8ad7a9be79bd0a2a271)
2012-12-11 17:17:38 -05:00
Tim Abbott
3014a12cef
populate_db: Truncate too-long messages on replay.
...
(imported from commit 4d89bf8a9235d5ed65863a851a13c91f4fb8632e)
2012-12-11 17:17:38 -05:00
Keegan McAllister
b283123382
bugdown: Remove special treatment of backslash
...
Fixes #562 .
(imported from commit aa39cf390ef44275c7d5a84ca954c75535d372b1)
2012-12-11 16:54:10 -05:00
Zev Benjamin
695d9a4dc6
Change get_updates_params.reload_pending to reload.is_pending() as the former no longer exists
...
(imported from commit fdc59a27230cb49adee2f5444e440aaa84103e5e)
2012-12-11 16:40:26 -05:00
Jessica McKellar
2f1f1fa6be
Add tests for /json/get_old_messages.
...
(imported from commit 36a076af79635a11d9d48439bd92dfa694ed9df6)
2012-12-11 16:07:09 -05:00
Jessica McKellar
41e688d913
Add exception handling around database lookups based on user data.
...
(imported from commit 4ddab2ed130ef57c967cc9364f8890a4c5b5e347)
2012-12-11 16:07:09 -05:00
Jessica McKellar
435c98b35c
Be more picky about the type of get_old_messages's narrow POST parameter.
...
This addresses 500s observed on prod due to bad narrow values.
(imported from commit 5a865ce41e8a90d3990332d906cba4336eb53ada)
2012-12-11 16:07:09 -05:00
Tim Abbott
cba3ad8315
Humbug errors: Only display most useful request fields.
...
(imported from commit 1d7803b5cd1fb099cecbd14af42e2c48d263bdae)
2012-12-11 16:06:12 -05:00
Tim Abbott
1575c522e1
Humbug errors: Adjust the subject to show server name.
...
(imported from commit 398f0988e7817212a455c73e811be2238695de83)
2012-12-11 16:06:12 -05:00
Tim Abbott
25d95e25c8
Humbug errors: Remove unnecessary newlines in tracebacks.
...
(imported from commit ad5834fa32e13ede1c634e4e9e535d84eb833c95)
2012-12-11 16:06:12 -05:00
Tim Abbott
4dae30e750
Re-enable markdown for all realms but CUSTOMER1Labs.
...
(imported from commit 51e770b50e8c678c245d099dc9177aa49ecb5084)
2012-12-11 12:04:46 -05:00
Zev Benjamin
ebb9cfa65d
Re-enable markdown rendering for API users and the github bot
...
(imported from commit 31db13ef8b7e5224a07f784247092e2eb9cd1654)
2012-12-11 12:02:05 -05:00
Tim Abbott
100df7e349
Add a maximum message length of 10000 characters.
...
(imported from commit a07c872d612521c9792be8dc704a9cfd6c752c75)
2012-12-11 11:33:40 -05:00
Zev Benjamin
19108929a7
github: only describe the first several commits in push notifications
...
(imported from commit aa26d2ae1d2d30350ec6e30729fb5652f385bd19)
2012-12-11 11:04:37 -05:00
Luke Faraone
b9b7d1b8f1
Linebreak zephyrs.
...
(imported from commit c77499b17ce195e36169bcb39a5f5bdfe6a3ce51)
2012-12-10 15:45:04 -05:00
Tim Abbott
6cff3dc735
models: Disable markdown (escaping instead) for now.
...
(imported from commit e92920919cd5d0ef11a478be5a0f8a108b62fff9)
2012-12-10 15:23:57 -05:00
Luke Faraone
6ff666b9d7
Filter out "content" and "secret" from exceptions.
...
(imported from commit 31206f528fc93746133ebe2d9234b6ce0b88cf3b)
2012-12-07 17:32:16 -05:00
Luke Faraone
ced8062509
Use MAX_SUBJECT_LENGTH instead of hardcoded constant.
...
(imported from commit cc885f7ca196ec1de0279a6a6192044ff7c8420f)
2012-12-07 17:32:16 -05:00
Luke Faraone
c65d6113ed
Factor out notifying of a new user into a separate function, notify on manage.py create_user.
...
(imported from commit 1a6aa0536dbfea8035b6bbd76528e70d90aa8b60)
2012-12-07 17:32:16 -05:00
Luke Faraone
7fbee21584
Factor out Message() creation for internal use into separate function.
...
(imported from commit 0352010da4255fc74cd67835e04dbdb1f8bbf4e9)
2012-12-07 17:32:15 -05:00
Luke Faraone
5b70b4a04f
Introduce new manage.py command which creates users with default passwords.
...
(imported from commit ba5ed9cb6ee91435b184845019391e5dc38fc3aa)
2012-12-07 17:32:15 -05:00
Luke Faraone
a604183c5b
Log errors to Humbug, too.
...
(imported from commit 2547625135568f3ea004bf4287471a82bc0a4f38)
2012-12-07 17:32:15 -05:00
Waseem Daher
d04758f5f1
Don't make it seem like the composebox messagebox is clickable.
...
(imported from commit cd5840b42c11e69e87fa51085f152a193ec8aebd)
2012-12-07 15:57:35 -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
4bb330bb21
Allow 'Esc' to clear a keyboard-driven Find.
...
(imported from commit d48028531b6e7286d177790ec5adb2e5f256b1e0)
2012-12-07 15:01:20 -05:00
Waseem Daher
64b3f072fe
Restore "Enter advances find" behavior.
...
This fixes https://trac.humbughq.com/ticket/546 .
It's a little unpleasant that this special-casing lives in hotkey.js
-- instead you could imagine doing something where there was a whole
special set of hotkeys when a search is active, like we do with the
composebox, but this gets the job and is probably simplest.
I would have written this as a case that just falls through in the
else condition, but jslint doesn't like that.
(imported from commit 65a1b8aa1efc356b6690dc177058a4fb9e12745a)
2012-12-07 15:01:20 -05:00
Zev Benjamin
f09ddbf80a
Raise a ValueError instead of using an assert to enforce constraints
...
(imported from commit d4b0a9b13df3e2ffd33ae330f2301118c2e75343)
2012-12-07 13:16:31 -05:00
Zev Benjamin
d31c33e505
github: fix missing argument to format string
...
(imported from commit 423cb4cb62976c5689db255120db5061a8b7be11)
2012-12-06 17:18:57 -05:00
Waseem Daher
de8b6b5125
Make nginx static pages consistent with the Django ones.
...
(imported from commit da5aac54285336926ef0c53bd94ca7d68b5e746a)
2012-12-06 16:03:34 -05:00
Tim Abbott
83af3d4090
do_activate_user: Fix join_date default.
...
(imported from commit ea9f933d6f7e36964ed19ef6d819ad5edc34c483)
2012-12-06 15:49:03 -05:00
Keegan McAllister
273c71e094
get_stream_colors: Use gather_subscriptions
...
(imported from commit fd870d889335860b14ad7a279160495e84bb303f)
2012-12-06 11:04:32 -05:00
Keegan McAllister
b64c8e8979
Add notes about StreamColor schema
...
(imported from commit 2ca71d63a208be1555866235a2dc631f21a0d181)
2012-12-06 11:04:32 -05:00
Keegan McAllister
6776fd389f
gather_subscriptions: Fetch colors along with subscriptions
...
Fixes #533 .
(imported from commit 100b69569f61910a79a911fe82d7c8d14cac1e88)
2012-12-06 11:04:31 -05:00
Zev Benjamin
04063548fe
Fix response for unsubscribe requests
...
The response was being populated with the same stream name over and over again
(imported from commit e205ce6019c1c7980b87ef33fd49497fe9c8691c)
2012-12-06 10:38:07 -05:00
Tim Abbott
b5c8fd73f5
populate_db Use message_type variable consistently.
...
We previously were only using it at the first loop through all
messages, which meant code accessing the message type copied from one
place to another would break (potentially subtly), because things
would work if and only if the very last message happened to have the
same type as what is expected in the relevant piece of code.
(imported from commit ad9ce5efdb200e0c0d5c3ffa6db33113fdad8c5a)
2012-12-06 10:32:45 -05:00
Tim Abbott
28aa976be3
Fix desktop notifications being enabled on every settings change.
...
(imported from commit 09375c78125987de3223a17239fdef9273ccabe6)
2012-12-06 10:32:45 -05:00
Tim Abbott
41ec4d44a0
Don't let users change their fullname to be whitespace.
...
(imported from commit 015fc7cbc06acd5057952a3f09a9b6d3fe68d9fd)
2012-12-06 10:32:45 -05:00
Zev Benjamin
037aebd487
Improve Github push messages
...
This addresses Greg Price's feedback in #527 . We now distinguish
between normal pushes, force pushes, and branch deletions.
(imported from commit 0fab6055f63ffc7e6df283b8bb8ed9971000e6d5)
2012-12-05 16:57:33 -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
Tim Abbott
8b15b11cbd
populate_db: Simplify a bunch of message type checking code.
...
(imported from commit 6eaf857d3eef8d700c5251bdd242b9bbbc8cdb72)
2012-12-05 15:34:19 -05:00
Tim Abbott
970969fc44
Add new timestamp_to_datetime helper function.
...
(imported from commit 6791d009ae2e8371abe2c929e87c816a1981f5fe)
2012-12-05 15:34:19 -05:00
Tim Abbott
f843152427
log_event: Clean up duplicated timestamp setting code.
...
(imported from commit dc3b3144ca23106bef2d953b00dc042115008703)
2012-12-05 15:34:19 -05:00
Tim Abbott
4d607c79f1
populate_db: Remove potentially confusing parenthesis.
...
(imported from commit 9d4dd543f0787c4eae5f7c697b7edcab4cdc8a7c)
2012-12-05 15:34:19 -05:00
Tim Abbott
a6f744a11f
populate_db: Fix inefficient pointer update at end of replay.
...
This cuts a 30s operation down to about 2s on my machine.
And also move the code to run before we print the "done" message and
have logging for how long it is taking.
(imported from commit 2f20f8ca3fee714735a50fe6c6cfd630df452768)
2012-12-05 15:34:18 -05:00
Tim Abbott
156f6ee576
Log an event on new realm creation.
...
(imported from commit 98872c7e5922fecd2bed9b544ff5fffd8147343c)
2012-12-05 15:34:18 -05:00
Tim Abbott
81d560dc1f
populate_db: Preserve the user's date_joined on replay.
...
(imported from commit 91dcb4f41e0e58f165db6a7417e57548914ddab7)
2012-12-05 15:34:18 -05:00
Tim Abbott
8e3bcdaa19
Add user_created event type and appropriate replay code.
...
This is necessary for correctly replaying new user signups on non-MIT
domains.
(imported from commit e5a9d37b8772bd9794579ef16e7039196ac06f62)
2012-12-05 15:34:18 -05:00
Tim Abbott
d6218a15b1
populate_db: Use a function to make email address fixups consistent.
...
Also add a missing fixup on the subscription events.
(imported from commit f7e2577fca8a3df3cef900c8535612ea8615b2e8)
2012-12-05 15:34:18 -05:00
Tim Abbott
fc5e626515
populate_db: Update users table when processing newly created user.
...
(imported from commit cfcf620888e8d395ca2f808cfff1ee5de89ba2ac)
2012-12-05 15:34:18 -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
Tim Abbott
72b9f25cbd
Don't try to scroll to show composebox when no messages are showing.
...
(imported from commit 3835c7de0f3cad777b1fd5b609e9dc71635422ac)
2012-12-05 14:06:57 -05:00
Keegan McAllister
6d9e0095eb
bugdown: Disable reference-based links
...
This is syntax like
Here's [a link][]
[a link]: http://google.com
This is not very useful for short chat-style messages. It will confuse users,
especially because we don't document it. And disabling it saves the effort of
applying the same link fixups as elsewhere.
(imported from commit c23391465486db545302b79c084b4f9cd5cdcc6a)
2012-12-05 13:54:43 -05:00
Keegan McAllister
fb77bdf359
bugdown: Set link target, title attributes on the server
...
For consistency. Fixes #266 .
(imported from commit 63e199a0fe4534df804a82cc98a1fdcf8ccb45da)
2012-12-05 13:54:43 -05:00
Keegan McAllister
80d07f597b
bugdown: Ignore user-specified link title
...
We already override this client-side.
(imported from commit c9569d42d57f206e5fb7d0cc8569b3b578ac1467)
2012-12-05 13:54:43 -05:00
Keegan McAllister
3829c8fd7f
bugdown: Assume http:// for links without a protocol
...
It's unlikely that users want relative links within humbughq.com.
Fixes #447 .
(imported from commit d43a5758e6df448b07f56dc2de28078adaab8aeb)
2012-12-05 13:54:43 -05:00
Keegan McAllister
d8b6cfdc11
bugdown: Fix confusing variable use in LinkPattern
...
(imported from commit 1538911149263340a5ea210c6d804a937f07cd5e)
2012-12-05 13:54:43 -05:00
Keegan McAllister
b577bd54cd
bugdown: Remove code path to bypass sanitize_url
...
(imported from commit 984b87027cb56fe75c2dd9dcf505dde5bc624f8f)
2012-12-05 13:54:43 -05:00
Keegan McAllister
8b3cfc0f1b
bugdown: Use a local copy of markdown.inlinepatterns.LinkPattern
...
With changes for the way things are imported in bugdown.
(imported from commit 11adf7911f7bb945367221f8fa317caa71de3fc4)
2012-12-05 13:54:42 -05:00
Zev Benjamin
817baa72e3
Avoid sending messages to clients more than once due to out-of-order processing
...
This resolves #535
(imported from commit 9a7bf7443d17523e9ba14797a0215ee11262c7de)
2012-12-05 13:51:28 -05:00
Jeff Arnold
8d4ddeb57d
Keep text in the compose box when another stream/subj is clicked on
...
(imported from commit f063c92c4378074a7b27e45787dd1591fdde98b7)
2012-12-05 13:12:52 -05:00
Tim Abbott
e816604c6e
Fix bug where personals might be lost in mirroring.
...
(imported from commit ed78ca442677f3ee8b3149d61e351f624f437d24)
2012-12-05 12:39:56 -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
3032c94668
activity: Prevent cells from wrapping
...
(imported from commit d6f9d935b9ed32351804aa153835a171ff093e10)
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
6efe52b935
activity: Decrease table padding
...
(imported from commit 90bed6ce94442e00e7516f65388b578bdfa920b3)
2012-12-05 11:42:08 -05:00
Waseem Daher
f3ba899fe1
Fix responsive layout on Subscriptions and Settings page.
...
This was a really cute bug where our layout messes up if you resize
the page while "Subscriptions" (or to a less visible extent,
"Settings") is active.
The problem here is that we compute the size of the top navbar
based on the size of main_div -- but when main_div is hidden,
it has a width of zero!
We need to instead look at the width of the pane that *is* active.
Resolves https://trac.humbughq.com/ticket/216
(imported from commit adbef00d190845f90c5cfdb46df4ec7b703635ef)
2012-12-04 23:00:06 -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
Zev Benjamin
a454417843
Prevent users from creating an account that differs only in case from an existing one
...
Fixes #177
(imported from commit 96c6b4c207c920ec94b5fdd69b2937a88669fa93)
2012-12-04 16:37:55 -05:00
Waseem Daher
af401fe659
Fix "resizing window breaks in Chrome" issue.
...
Ironically, I think this might've bee introduced by
commit ca35321c02d5e79e4f9c439a662805c016a333ed,
'Fix "resizing window breaks in Firefox" issue'.
Basically, when the window is 776px wide according to
window.innerWidth, that's the width not including the
scrollbar. However, in Chrome, the media query seems to ignore the
width of the scrollbar, so from the CSS's perspective, the window is
actually ~766px wide, so it goes into condensed mode.
But the rest of our code doesn't, which causes the break.
A bit more on this browser-specific difference at:
http://www.456bereastreet.com/archive/201101/media_queries_viewport_width_scrollbars_and_webkit_browsers/
So the issue we have is, to match the CSS's behavior:
* In Firefox, we should be listening to window.innerWidth
* In Chrome, we should be listening to window.width
We fix this hopefully once and for all by using window.matchMedia --
aka the exact same query that the CSS itself uses. As discussed in my
last commit, this feature is unavailable in IE<10, so we provide a
potentially more fragile fallback, i.e. what we did before this
commit.
(imported from commit d8e6425b81c90c8e0fdda28e7273988c9bfd67ec)
2012-12-04 14:52:29 -05:00
Tim Abbott
386e9eeb22
Fix load_old_messages being called with NaN argument.
...
(imported from commit 32cb17c98b81a40861f3d825e17a687575f35542)
2012-12-04 14:13:04 -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
Zev Benjamin
bc67d9d1d7
Prevent race during get_updates that can cause clients to miss messages
...
This fixes #174
(imported from commit d900957e468815bcb99de67d570dfd7ce4413220)
2012-12-04 12:44:44 -05:00
Zev Benjamin
f4898ea490
do_send_message: use JSON for the user list instead of joining/splitting with commas
...
(imported from commit 85d94ca647d0e6707f4f96e2b7a7b330f76db9d9)
2012-12-04 12:44:44 -05:00
Zev Benjamin
2907c3ca01
Create the Message and associated UserMessages in the same transaction
...
(imported from commit 96daa925142c97e34e68fae8e4bef713731b4173)
2012-12-04 12:44:44 -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
Waseem Daher
3d69853784
Shrink inline gravatars.
...
This causes our deploy message to be less huge.
(imported from commit 5649eb42df0429a6bbaf8c8fd6f8048a66d22aa8)
2012-12-04 11:28:52 -05:00
Tim Abbott
a289efb425
populate_db: Request a new DB connection after run_parallel.
...
This is the only code change needed to make our code
postgres-compatible.
(imported from commit a94ad0856c46ead2892674fe18d86d49876a6160)
2012-12-04 10:59:26 -05:00
Tim Abbott
eea553ce40
banish_broken: Fix handling of jesstess|MIT.EDU@mit.edu.
...
(imported from commit 50e596261dc678a1aa4b28bec34a6f592c8dc748)
2012-12-04 10:59:26 -05:00
Tim Abbott
d850bc764f
Fix stream name case issues in populate_db.
...
When we changed our stream name model to treat stream names as
case-insensitive, we didn't update populate_db to do the same.
This commit makes that update, which is to use the lower-cased stream
name for dictionary lookups and deduplication, but the original-case
stream name for actually creating streams.
(imported from commit fc32ec75a5ae286bce7ec86c6e6fb6893888cbd0)
2012-12-04 10:59:25 -05:00
Tim Abbott
cf31374497
bulk_create_streams: Fix missing select_related().
...
bulk_create_streams was taking about 10 seconds to run with prod data;
this should be a basically immediate operation. The cause was a
missing select_related on one of the loops through all streams.
(imported from commit 8b82f0c41facc3999bb699dbc350708ac69797e9)
2012-12-04 10:55:31 -05:00
Tim Abbott
2ad1b14f23
Set zephyr_mirror_active to False for new MIT users.
...
(imported from commit ffa0513561c994da1b561c0ad50728b8351e22e8)
2012-12-04 10:55:31 -05:00
Keegan McAllister
7907be735e
hotkey: Make Enter an alias for 'r'
...
(imported from commit 9bf1b97304a4a4c1100826fefbba8edf1e4cff12)
2012-12-04 10:52:44 -05:00
Jeff Arnold
f014163aed
When narrowed, we want to load messages older than the oldest message
...
in the narrowed view, not messages older than the oldest message in
the home view
Tim provided most of the code for this patch
(imported from commit ec0bbfd344cac351f56a456fc560848603721135)
2012-12-03 15:58:26 -05:00
Jeff Arnold
5ea4e30caf
Proprely handle get_old_messages when narrowed to personals with yourself
...
(imported from commit 3ace5655d093f4568b4dea512a6e1bbbd6245f10)
2012-12-03 15:58:26 -05:00
Keegan McAllister
f61c26c361
preventDefault for modal mousewheel events but not e.g. subscriptions tab
...
Fixes mousewheel scrolling on the subscriptions tab.
(imported from commit 38d214fd53a478f3076dbfa4d7942ff13ec61369)
2012-12-03 15:35:46 -05:00
Keegan McAllister
2401fab25c
Replace home_tab_active with home_tab_obscured
...
(imported from commit fb8c47079e63594a22c3d47fcf373887bda6e499)
2012-12-03 15:35:46 -05:00
Jessica McKellar
c9c94c6696
Add unit tests for subscription color requests.
...
(imported from commit 6eeeefcfe75b78d36cd94c4d02ca3a1f1a3df3ac)
2012-12-03 12:46:27 -05:00
Jessica McKellar
dbcd6684a2
Add error handling to subscription color requests.
...
(imported from commit b2f65feeb44abe37397de88c616fa1aa01cf8277)
2012-12-03 12:46:27 -05:00
Jessica McKellar
55e68fc89a
Log subscription color changes so they can be replayed by populate_db.
...
(imported from commit 5c7f46ed0d727926e9819cb2d71eb31f241e2e34)
2012-12-03 12:46:27 -05:00
Jessica McKellar
2fd3eb521c
Refactor colorizing requests into a subscription properties model.
...
(imported from commit da4bfee4a12e941d4ec4c9f140973bb138c82c93)
2012-12-03 12:46:27 -05:00
Jessica McKellar
1dbb2c6ed5
decorators: split authenticated_json_view into POST and non-POST versions.
...
(imported from commit cdcfdb51c379c07e94ebc763cf925e6a73747fc0)
2012-12-03 12:46:27 -05:00
Jessica McKellar
6a316daee8
Add frontend support for colorizing streams.
...
(imported from commit 48395ba915d6b22d8a7a8c7fbfb5e462680cef09)
2012-12-03 12:46:27 -05:00
Jessica McKellar
505d35ac9b
Add backend support for colorizing streams.
...
This includes JSON requests to fetch and set stream colors.
(imported from commit 92e19c9a3b72e9012df0178348068ea033b5f060)
2012-12-03 12:46:26 -05:00
Jessica McKellar
71371823f8
[schema] Add a StreamColor table.
...
(imported from commit 2906c30ad326373bc6265bf30dd0a70e11d69c7d)
2012-12-03 12:46:26 -05:00
Waseem Daher
f71affdc11
Layout for colorizing streams.
...
(imported from commit 50d359ed44f46a0c666778bf510dafbb3e6e6f97)
2012-12-03 12:46:26 -05:00
Waseem Daher
bbd2ea4c5a
Add spectrum.js (color picker).
...
(imported from commit 7d25ecab2cb0126df0f165b6cce42a3b266b772c)
2012-12-03 12:46:26 -05:00
Tim Abbott
988b0ce7ba
Fix missing transaction decorator in get_user_activity.
...
The transaction.commit() line inside the except IntegrityError clause
doesn't work unless we've entered transaction management.
(imported from commit 2ae520e05c9a19ec35af7c244631b01d4b9598d6)
2012-12-03 12:30:13 -05:00
Tim Abbott
79f8e2a6a3
get_public_streams: Return only streams someone is subscribed to.
...
This makes subscribing to zephyr classes for the zephyr class
mirroring bot a lot faster, since we don't need to subscribe to the
third of our streams on which no users will actually receive messages.
(imported from commit 029b7fb260b480db5599e3c9f9effc502f6d8b59)
2012-12-01 09:36:36 -05:00
Keegan McAllister
aeb64959dd
exunge_log: Ignore default_streams entries
...
(imported from commit e7b2cd62be0ba868498db286e9e1671441bf07e6)
2012-11-30 17:24:37 -05:00
Keegan McAllister
3715583d29
Implement a command to expunge old UserMessages and Messages from the database
...
(imported from commit a4873dfa8737c483411d12f30daaebebebf859f9)
2012-11-30 17:24:37 -05:00
Keegan McAllister
c8b6e72cbf
Implement a command to expunge old entries from log files
...
(imported from commit 28bc40bf12dd8cea0ff9b842f72e7713640e55a6)
2012-11-30 17:24:37 -05:00
Keegan McAllister
5caf67f27d
Implement a framework for data retention policies
...
And add customer1.invalid to it.
(imported from commit 32b0293bc48abf5d9a3bd36f14f6b16d48ea6ff2)
2012-11-30 17:24:37 -05:00
Keegan McAllister
36816c46e2
Add a function to remove all Messages that are not referred to by any UserMessage
...
(imported from commit cdad013aed0fd8d1bc6ec8c2dcf5905390a01339)
2012-11-30 17:24:37 -05:00
Zev Benjamin
c5bf05ad0a
Make clicking on 'Find <search term>' work
...
(imported from commit 756bd6cb3533e985e031954ece9228a146c5160e)
2012-11-30 17:03:52 -05:00
Zev Benjamin
0af3199d7c
Desynchronize web client reloads
...
(imported from commit 216df5996f597ccd47bbc80e3f2fdaae751789d0)
2012-11-30 15:04:46 -05:00
Zev Benjamin
46f4a5eb38
Add util module
...
(imported from commit 3844e136fb799c6f57f8823255addf00a07ef686)
2012-11-30 15:04:46 -05:00
Zev Benjamin
d29c77b14c
Name unconditional reload time constant and appropriately move its use
...
(imported from commit 5ead2dbe0f170f8b93e726de6d6ed10a985882ab)
2012-11-30 15:03:19 -05:00
Jessica McKellar
37968bc9c7
If necessary, scroll to avoid occluding the message to which you are replying.
...
(imported from commit adf23d647a3d462d6236d8f1039da89a31b782d5)
2012-11-30 14:32:41 -05:00
Keegan McAllister
83660d7020
mousewheel: Explain why the home_tab_active() check is outside throttled_mousewheelhandler
...
(imported from commit 6fd5504fb5fb0e72426fa60e051b7e912696b8c2)
2012-11-30 13:58:04 -05:00
Keegan McAllister
3ce4427614
ui.js: Whitespace fixes
...
(imported from commit d7bb9fe17e319f60f1cc65bdfd381dc2f5d25a3a)
2012-11-30 13:01:02 -05:00
Keegan McAllister
ee17165ad5
ui.js: Simplify event setup
...
(imported from commit 96444a0776e6408eb7e885a630855a0f33e0b6ff)
2012-11-30 13:01:02 -05:00
Keegan McAllister
45e515cc20
Handle mousewheel events properly in modals, different tabs, and compose box
...
Fixes #109 .
(imported from commit ebcc90deeba712296998bfaa2df46ec6be305219)
2012-11-30 13:01:01 -05:00
Keegan McAllister
11487a0fd8
Ignore hotkeys when a modal pop-up is visible
...
Fixes #382 .
(imported from commit 50162fde211a88de5e7f410fd7b1ed0df12d6082)
2012-11-29 19:28:59 -05:00
Keegan McAllister
cb7b2eec80
Prevent an animation glitch on showing the compose box
...
See added comment for details.
(imported from commit 0248500be07584729d03e2543100a320e0410eee)
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
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
c25d1ea8e7
Guard against incorrect use of compose.set_mode
...
(imported from commit 294441f2b9107ce2488866764c3d30c35133a14a)
2012-11-29 16:51:32 -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
d55ccd32af
Remove state machine code from hotkey.js
...
With the removal of process_compose_hotkey, the state machine now has only one
state. Everything else is based on things like "is a text box focused right
now", which is probably a better approach.
(imported from commit 0e39c03956d28e30d2bdbf3b285410ad0cacca3e)
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
4c4e153ace
When load_old_messages restarts itself, we need to repass all arguments
...
Fixes a bug introduced by e30e02c2
(imported from commit ca07eab76295ab1557f6866cff19debaec26e8c2)
2012-11-29 16:08:57 -05:00
Jeff Arnold
4a648e9e71
In the UI, call time travel "Narrow to messages around this time"
...
(imported from commit 4763f67c50bcf540959d9288c86ef854a4e66a1e)
2012-11-29 15:50:43 -05:00
Jeff Arnold
6670cf7b55
The load old messages "button" is now gone.
...
load_old_messages cares whether it is acting on behalf of a narrow
(for_narrow) not whether it is acting on behalf of a button push.
(imported from commit 16c00e015478f94f0631e211a92a7066a38135a8)
2012-11-29 14:18:38 -05:00
Jeff Arnold
50de4db2de
Show the loading spinner when automatically loading more messages
...
(imported from commit 8025dde8696378bbb40b23a14204bfb489eb6798)
2012-11-29 14:18:38 -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
Zev Benjamin
ec0fd19249
Always send back the server generation number when the client requests it
...
During long-polling mode, we were not passing the server generation
number back to the client even when they requested it. This was
causing the web client to initiate reloads every time it got a
non-immediate return from a long-polling request.
(imported from commit 66c16bf5a1c18bdd975b09d672ebdb4db8d4755d)
2012-11-29 13:45:31 -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
Tim Abbott
44235e8e7e
Fix last_message_id computation catching the dummy row hack.
...
This was causing glitching where if you narrow so that zfilt has only
one message, and add messages on top (e.g. via get_old_messages), and
then add messages on bottom (e.g. by receiving one), we end up with
the bookend row missing. One can make this happen with narrowing,
but, this situation happens every time with time travelling.
(imported from commit 71d85980d8aa9431a17b33e9e5111fd3f76cecf3)
2012-11-28 22:26:31 -05:00
Tim Abbott
bc2ace726c
Fix bad Django test suite interaction with get_client default.
...
authenticated_api_view and authenticated_json_view call
update_user_activity with a client generated using
@has_request_variables with a default of e.g. get_client("website").
Because that get_client call only happens once on importing the
module, if those client objects didn't exist previously in the
fixtures, then the first test will generate objects with ids 2 and 3,
and then the second test will dump the database, restore from the
fixtures, and then eventually generate client objects with ids 4 and
5. But since the default values were only computed at module load,
we'll still end calling add_user_activity with client objects with ids
2 and 3, which don't exist in the newly restored database.
Fix this madness by just making sure those two client objects exist in
the database.
(imported from commit d940e129d077a560d9a0f96ec3daa2e16ce21c8b)
2012-11-28 17:41:39 -05:00
Tim Abbott
16b1f63800
decorators: Use @has_request_variables to extract client.
...
(imported from commit 8407a556fcc1922d69e593edee3897957742f3fb)
2012-11-28 17:41:39 -05:00
Tim Abbott
4024306613
Convert server_generation to an int when parsed.
...
(imported from commit 5a6f7454c62b98569a474881e8d2e5965336324e)
2012-11-28 17:41:39 -05:00
Tim Abbott
8a3c4f7d89
get_updates: Only return server_generation is the client sent it.
...
(imported from commit 185bbc8c422d62f45dfb8f4cb8464adc7f1e4078)
2012-11-28 17:41:39 -05:00
Tim Abbott
a44c3ff247
get_updates: Eliminate the reload_pending parameter.
...
(imported from commit c7b57c4ef7fc4d6f0028f174f33ff7ff063d4b9d)
2012-11-28 17:41:38 -05:00
Tim Abbott
55181621bc
Send a nonblocking get_updates request on wake-from-sleep.
...
(imported from commit 91c53f4294a609b1942c6753e9fba4fc4cb2f20f)
2012-11-28 17:41:38 -05:00
Tim Abbott
d23a83ee81
get_updates: Replace "failures" with the new dont_block option.
...
(imported from commit 2b4ecb35c4f14b6c408323662ef6f39c6485c62d)
2012-11-28 17:41:38 -05:00
Tim Abbott
a1d8e9d30f
get_updates: Replace the "mirror" argument with checking "client".
...
(imported from commit bd84c2c7a456de8ea7ec35eaf76b5bf8647ca61a)
2012-11-28 17:41:38 -05:00
Tim Abbott
a6841c7f12
decorators: Pass the parsed client to view functions as request._client.
...
(imported from commit e297cfc9c2c1c4d07f083a28ab3d85d32a8bc85b)
2012-11-28 17:41:38 -05:00
Tim Abbott
d908b7299c
get_updates: Fix client_reload_pending parameter.
...
(imported from commit f14ea8a6e35d9aac3ac568785d9dd0962c773937)
2012-11-28 17:41:38 -05:00
Tim Abbott
87eabc5159
api_get_messages: Use POST() for apply_markdown.
...
(imported from commit 4e0e57d6b93cd9410cf946069ea987c26e0f4f5d)
2012-11-28 17:41:38 -05:00
Keegan McAllister
0f1be6a9f6
rows: Consistently return an empty jQuery object in some corner cases
...
(imported from commit 4a83c8a3671fe13c8ff7c55fa2e22221bd68b21e)
2012-11-28 17:15:25 -05:00
Keegan McAllister
83216a5965
Ensure initial state satisfies selected_message == rows.get(selected_message_id)
...
If the message doesn't exist, rows.get returns an empty jQuery object, not
'undefined'.
(imported from commit 40620f3e4853a662cb93939bf7f0695f81298777)
2012-11-28 17:15:25 -05:00