Commit Graph

194 Commits

Author SHA1 Message Date
Tor Hveem 0bd443715a Remove autofocus since it is very mobile unfriendly 2014-01-22 11:08:06 +01:00
David Cormier ce37e66a15 Merge pull request #109 from lorenzhs/scrolling
Improve scrolling
2014-01-07 10:42:33 -08:00
Lorenz H-S f38c4b020e Fix scrolling behaviour for good (?) 2013-12-28 16:50:31 +01:00
Lorenz H-S fe0c070a6c Only scroll when at the bottom of the buffer
I think this behaviour is a lot more natural. Because it no longer "scrolls to bottom", I also renamed it.
2013-12-23 22:34:21 +01:00
Tor Hveem 797be76c95 try to improve scrolling experience 2013-12-23 22:33:20 +01:00
Lorenz H-S 836edf917d Making compression optional was a stupid idea. Revert.
Instead, add a parameter to the connect function that allows disabling compression.
2013-12-20 16:10:58 +00:00
Lorenz H-S d1e6bd6698 Add UI support for compression 2013-12-20 13:31:37 +00:00
David Cormier 0912a2b55b Remove extra comma and unnecessary semicolons 2013-12-17 15:39:22 -05:00
David Cormier 6d5573a148 Delete trailing whitespaces 2013-12-17 15:30:22 -05:00
Lorenz H-S da748f911b Keep message/command history for each channel
* Can be navigated with up/down arrow keys
* Currently entered text is preserved when going into history
* When choosing a history entry, previously entered but not submitted text will be restored to input buffer

Closes #75
2013-12-17 19:37:45 +00:00
David Cormier 887092eb4b Remove unused variables and __proto__ inheritance 2013-12-17 08:44:24 -05:00
David Cormier 27dbb1fc83 Remove global variables 2013-12-17 08:44:24 -05:00
David Cormier d5366c9918 Use strict equals 2013-12-17 08:44:24 -05:00
David Cormier 6d526f7e42 Use not notation for objects 2013-12-17 08:43:22 -05:00
David Cormier 8e83786f72 Add missing semicolons 2013-12-17 08:43:22 -05:00
David Cormier a78f49c0fc Add bindonce and remove 50% of the watchers in the buffers 2013-12-16 11:40:53 -05:00
David Cormier c88576fad2 Add button to count watcher and debug mode
Performance issues are mainly caused by spurious angularjs watchers.
This debug mode provides a button to display the number of registered
watchers in the console.
2013-12-16 11:17:47 -05:00
David Cormier f85b7110da New buffers are always active 2013-12-14 12:53:35 -05:00
Lorenz H-S 9368f2480d Open query when clicking nick in the sidebar 2013-12-14 15:40:05 +00:00
David Cormier 706b5838a1 Return the angular promise on sendMessage 2013-12-14 10:32:14 -05:00
Lorenz H-S f129460426 initalise lastread marker to last line initially fetched from server 2013-12-13 23:59:51 +00:00
Lorenz H-S 78121ff3a6 Add possibility to order channels hierarchically by server 2013-12-08 21:29:48 +00:00
Lorenz H-S c4d29a7eb0 Fix ordering of channels
As channels aren't added right away (but as soon as the info was
received from the server), somehow the orderBy didn't do its job.
2013-12-08 20:42:30 +00:00
David Cormier c03dc77e49 Split initialization commands
Initialization commands are sent individually. Improves connection
speed.
2013-11-09 16:52:26 -05:00
David Cormier 026881a29c Revert "Split messages with newline into multiple messages"
This reverts commit 6dd35fa890.

The commit breaks support for chrome.
2013-11-09 12:40:27 -05:00
Tor Hveem 6dd35fa890 Split messages with newline into multiple messages 2013-11-02 17:43:45 +01:00
Tor Hveem 70abe58afe New keyboard shortcut alt-n: toggle nicklist 2013-10-29 12:50:02 +01:00
Tor Hveem 69200c7854 Prevent user from accidentally leaving the page 2013-10-28 13:55:46 +01:00
Tor Hveem 6258303465 New user setting for display embedded content by default 2013-10-28 13:32:47 +01:00
David Cormier 59206770e2 Isolate the nick completion in the inputbar's scope 2013-10-27 17:56:39 -04:00
David Cormier 03cb90c036 Move completeNick method to inputBar directive 2013-10-27 17:56:37 -04:00
David Cormier ef24986431 Move inputbar related events to inputbar directive 2013-10-27 17:56:08 -04:00
David Cormier fcfe8ba4be Create inputbar directive 2013-10-27 17:54:51 -04:00
David Cormier 6055e699ff Modifies angular model instead of dom element
fixes #74
2013-10-27 16:31:37 -04:00
David Cormier 84cc93fbb0 Initialize angularjs routing module 2013-10-27 15:49:51 -04:00
David Cormier 1f455c813a Callback ids cycle from 0 to 1000 2013-10-27 15:41:45 -04:00
David Cormier 51abcc6953 Document messager methods 2013-10-27 12:26:16 -04:00
David Cormier 75e8c87f09 Group all messaging commands 2013-10-27 12:13:10 -04:00
David Cormier 8167b25c36 Remove doSend
Replace calls to doSend with calls to send
2013-10-27 12:07:01 -04:00
David Cormier 0f503fa521 Rename doSendAllWithCallback to sendAll 2013-10-27 12:05:49 -04:00
David Cormier 0c3496f798 Rename doSendWithCallback to send 2013-10-27 12:05:37 -04:00
David Cormier a3ea312773 doSend always doSendWithCallback
The goal of this change is to provide only one way of sending
messages. By default, a callback will always be returned, and
the caller will decide if it needs to use it.
2013-10-27 12:03:45 -04:00
David Cormier 8c51ab18d3 Send all init commands in batch 2013-10-27 11:47:25 -04:00
David Cormier ec4956a379 Implement doSendAllWithCallback
doSendAllWithCallback sends all the messages of the list
and returns a promise that is resolved when all the individual
promises are resolved.

Useful for avoiding long chains of .then().then().then() ..
2013-10-27 11:30:37 -04:00
David Cormier 02f51ad0df Split creating the defer and returning the promise 2013-10-27 11:30:37 -04:00
David Cormier 335ec46fc6 Wrong password test with failure callback 2013-10-27 11:30:37 -04:00
David Cormier d6ceadb1be Fail all callbacks disconnection / error
Callback promises are resolved when their answer is received
If the websocket disconnects or fails before receives its answer,
it's promise is rejected.
2013-10-27 11:30:29 -04:00
Tor Hveem e8e44d85ce Maintained cached flatnicklist, maintain shownicklist cached value for
template
2013-10-27 10:50:18 +01:00
Philippe Proulx a415a3ec3c No need to sort the flat nick list for completion
... because the completion function sorts it another way anyway.
2013-10-27 05:06:02 -04:00
Philippe Proulx 2101e52131 Add Escape and Alt+L keyboard shortcuts
* Escape: disconnect
  * Alt+L: focus on input bar
2013-10-27 04:57:56 -04:00