Tim Abbott
386e9eeb22
Fix load_old_messages being called with NaN argument.
...
(imported from commit 32cb17c98b81a40861f3d825e17a687575f35542)
2012-12-04 14:13:04 -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
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
2fd3eb521c
Refactor colorizing requests into a subscription properties model.
...
(imported from commit da4bfee4a12e941d4ec4c9f140973bb138c82c93)
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
Waseem Daher
f71affdc11
Layout for colorizing streams.
...
(imported from commit 50d359ed44f46a0c666778bf510dafbb3e6e6f97)
2012-12-03 12:46:26 -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
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
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
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
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
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
Zev Benjamin
faf426baa7
Only send pointer updates when user has been idle for a short period
...
This is so we only send a single pointer update when the user scrolls
through a bunch of messages at once.
(imported from commit 20d239d7179e5f57ada99968361a0f9b7b18c591)
2012-11-28 16:36:43 -05:00
Zev Benjamin
48790187ca
select_message_id: Remove no longer applicable update_server option
...
(imported from commit 03076f1d514017b70ec5bd2b34b1a575d0c56f6e)
2012-11-28 16:36:43 -05:00
Zev Benjamin
249b7a527f
Switch to high-watermark pointer model
...
(imported from commit c05d074a404e823eaa0808b6938a3c80e457175b)
2012-11-28 16:36:41 -05:00
Zev Benjamin
fbe41c95d5
Re-enable pointer sync
...
(imported from commit 9f765bbc32e6a3fd91e83aa4016c8e8f8c47bfc1)
2012-11-28 16:36:24 -05:00
Jeff Arnold
ed1eff9bfa
Dismiss all notifications when the tab regains focus
...
(imported from commit 53c807d7a02aabe62a832a129505d690e98e39cc)
2012-11-27 13:39:46 -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
Waseem Daher
60789abd7f
Consistently use 'exports' rather than 'typeahead_helper'.
...
(imported from commit 6106f0ed2708f710a9e3f589560fda58999caa71)
2012-11-27 13:29:26 -05:00
Waseem Daher
2321059240
Don't highlight, e.g. 'Narrow to', in the searchbox typeahead.
...
(imported from commit f16f1417da708ad2060ba603fe14ea113559d100)
2012-11-27 13:28:21 -05:00
Waseem Daher
e0f3c43432
Deduplicate code a little.
...
(imported from commit 52c32776641256fc145ce1ff7a60ca8fb92ea784)
2012-11-27 13:28:21 -05:00
Waseem Daher
8c0445bff5
Sort searchbox typeahead in a more intelligent way.
...
Ensure that every result has one of:
* find what you typed in
* search for what you typed in
* Narrow to a stream related to what you typed
* Narrow to a person related to what you type
(imported from commit 2178f17932f951a48f53d982ef660942562b55dc)
2012-11-27 13:28:21 -05:00
Waseem Daher
ab8496b9ba
Sort streams and subjects in a better way.
...
Modify the Bootstrap default sorter to sort by:
1. Starts-with, in a case-sensitive way
2. Starts-with, in a case-insensitive way
3. Matches anywhere, case-sensitive
4. Matches anywhere, case-insensitive
(This fixes the Keegan-reported issue of "Testing!" taking precedence
over "test" when he types in "tes")
(imported from commit b2a0127956fe7a8bf1cbf30752a6ddc2c49b7198)
2012-11-27 13:28:21 -05:00
Waseem Daher
830f9df3f2
Keep typeahead initialization together.
...
(imported from commit d4035e97a223dc05d5f2d85f0577724fc5067577)
2012-11-27 13:28:21 -05:00
Waseem Daher
660c7437ba
Move code from composebox_typeahead to typeahead_helper.
...
(But don't actually make it work yet -- that's for the next commit.
This makes the diff a bit easier to review, since it's really just
code moving from composebox_typeahead to typeahead_helper, and the
appropriate changes in zephyr.js, rather than code moving AND
changing)
(imported from commit 5cb2e836eeb8807f4eb98424558702d44a0e2b70)
2012-11-27 13:28:21 -05:00
Zev Benjamin
9de11f4df1
Use jQuery.one() instead of binding and unbinding a handler
...
(imported from commit 23b87ee500c0739b04e6fa3c89065d4af13ab9b5)
2012-11-26 16:49:11 -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
Zev Benjamin
d8783cd0c0
Move reload in progress check from compose.show to compose.start
...
(imported from commit 8b84b24ca50a3bd149d67b868dd94908c0354022)
2012-11-26 14:42:27 -05:00