Commit Graph

912 Commits

Author SHA1 Message Date
Lorenz Hübschle-Schneider e236d937e2 Simplify usage of modal 2014-07-19 15:05:15 +01:00
Lorenz Hübschle-Schneider 7d5bc0f078 Accordion without jQuery / bootstrap js
it's not quite 100% as nice though
2014-07-19 15:05:14 +01:00
Lorenz Hübschle-Schneider 23fb4da05a Implement modal without bootstrap.js and jQuery 2014-07-19 15:05:14 +01:00
Lorenz Hübschle-Schneider 8816fe221e Animate sidebar with CSS transitions 2014-07-18 13:46:01 +01:00
Lorenz Hübschle-Schneider 638aeb6697 Merge pull request #363 from glowing-bear/fixlocalstorage
localstorage: fix initial value setting
2014-07-18 13:37:32 +01:00
Tor Hveem f7ef7e95b9 Merge pull request #365 from glowing-bear/defaultsettings
Enable hierarchical server view by default
2014-07-18 14:25:47 +02:00
Lorenz Hübschle-Schneider 2c4a28f559 Enable hierarchical server view by default
Also fix its label

Fixes #331
2014-07-18 12:35:13 +01:00
Lorenz Hübschle-Schneider 74f9ac94ea Use the function form of 'use strict' 2014-07-18 12:23:25 +01:00
Lorenz Hübschle-Schneider fa6f108fe5 Make debug mode a parameter, not a setting 2014-07-18 12:17:19 +01:00
Tor Hveem bc8f86ebae Merge pull request #354 from glowing-bear/yr
Yr.no meteogram embedding
2014-07-17 15:31:36 +02:00
Tor Hveem 836b2940ce Use crossbrowser compatible attr. names 2014-07-17 15:06:39 +02:00
Tor Hveem 6318a94163 Helpers for class styling
Implement our own helpers for getting and setting class styles instead
of using jquery functions, since we are getting rid of jquery
2014-07-17 15:06:39 +02:00
Tor Hveem 6a3b4a1506 new option for overriding font size 2014-07-17 15:06:39 +02:00
Tor Hveem 16f9897964 use angular.element instead of jquery 2014-07-17 15:06:39 +02:00
Tor Hveem cdcdcb096b User configurable font choice. Fixes #351 2014-07-17 15:06:38 +02:00
David Cormier 2a2c7e1281 Merge pull request #350 from glowing-bear/keep-keyboard-open
Focus input bar after pressing the send button
2014-07-16 16:54:56 -04:00
Tor Hveem a7a8d60aea localstorage: fix initial value setting 2014-07-16 20:34:50 +02:00
David Cormier 4142883b29 Merge pull request #348 from glowing-bear/fix-initial-line-loading
[FIXED] Fix the initial loading of lines
2014-07-15 09:45:57 -04:00
Lorenz Hübschle-Schneider 8e1e871411 Fix matching (#segments) 2014-07-14 23:21:23 +01:00
Lorenz Hübschle-Schneider 885b47eaaf Add yr.no plugin 2014-07-14 22:51:07 +01:00
Lorenz Hübschle-Schneider 39b6d7a179 Fix URL regex
Old one doesn't match umlauts and other unicode stuff
New one is a lot more general and similar to what angular uses
2014-07-14 22:51:07 +01:00
Lorenz Hübschle-Schneider a2cc3558c3 Remove ngAnimate for the moment, we're not even using it
It does have a very significant performance impact, in my
measurements, buffer switching is 30% faster without it!
2014-07-07 18:54:56 +01:00
Lorenz Hübschle-Schneider 1194b170e5 Fix the initial loading of lines
This fixes a bug where the initial line loading would be triggered multiple times,
and a bug that incorrectly set requestedLines, causing this behaviour to repeat
2014-07-06 11:30:38 +01:00
Lorenz Hübschle-Schneider 4be8742ac5 Focus input bar after pressing the send button
This prevents the keyboard from closing on mobile
2014-07-04 14:45:27 +01:00
David Cormier a904add7cc Merge pull request #346 from glowing-bear/channelregexonceagain
Allow a minus sign before a #channel link
2014-07-02 08:57:34 -04:00
David Cormier 528237071f Merge pull request #343 from glowing-bear/defaultport
Fix default port
2014-07-02 08:55:44 -04:00
Lorenz Hübschle-Schneider ba74f2a7e5 Allow a minus sign before a #channel link 2014-07-02 08:41:50 +01:00
David Cormier a105466b33 Merge pull request #344 from glowing-bear/fixlinetrimming
Don't trim unread lines
2014-07-01 19:36:51 -04:00
Kramer Campbell b21662da3c Remove duplicate source of truth with buffers. 2014-07-01 15:07:34 -07:00
Lorenz Hübschle-Schneider 0b8a3eb045 Don't trim unread lines
Also fix read marker after trimming
2014-07-01 19:41:27 +01:00
Lorenz Hübschle-Schneider f5855e0712 Revert "Set port variable instead of placeholder"
This reverts commit 6b4d2fddbb.

...because it didn't work. I just got an empty box and the variable wasn't set
2014-06-30 20:24:50 +01:00
David Cormier 48a07ee1fe Rename 'lines' to 'lines_per_screen' 2014-06-26 22:36:30 -04:00
Lorenz Hübschle-Schneider 984ceaf4e5 Trim long buffers
Fixes #338
2014-06-26 21:38:04 +01:00
Kramer Campbell 9aa6a374cd Add option to show seconds in timestamps. 2014-06-23 09:34:27 -07:00
Anders Bergh b8c4b1fbac Wrap IPv6 literals with brackets. Fixes #323. 2014-06-21 18:56:27 +02:00
Anders Bergh d456663db5 Replace all non-ASCII bytes with "?" in case of broken UTF-8. 2014-06-19 16:52:07 +02:00
Lorenz Hübschle-Schneider f1c21ff23b Catch broken UTF-8 to enable loading of buffers with broken lines 2014-06-19 12:48:12 +01:00
Lorenz Hübschle-Schneider 4a04ff8a8f Scroll on resize
main application of this: opening the keyboard on mobile devices
2014-06-18 22:29:51 +01:00
Lorenz Hübschle-Schneider abcadf040e Allow `+` and `@` before a channel name as well for linkification
useful for /whois
2014-06-18 17:58:42 +01:00
David Cormier 6b4d2fddbb Set port variable instead of placeholder
Suggesting a port in the placeholder can be confusing, as it may
lead people to believe that this value will be sent to the server
while in fact it will not be.

Fix #324
2014-06-16 22:53:39 -04:00
Tor Hveem 30fd4794e9 Do not automatically switch to newly open buffer.
Fixes #279
2014-06-10 16:59:45 +02:00
Lorenz Hübschle-Schneider f374bebc4e Turn notimestamp into a positive setting (showtimestamp) 2014-06-07 19:52:22 +01:00
Lorenz Hübschle-Schneider ce2a4e89da Show timestamps on mobile by default
This is overriden by the setting
2014-06-07 19:52:22 +01:00
Lorenz Hübschle-Schneider 86f4c7308b Image plugin: case insensitive regex
Fixes #305
2014-05-21 17:45:49 +01:00
Lorenz Hübschle-Schneider e53f614a04 Fix tab-completion of empty string
Closes #301
2014-05-13 12:16:05 +01:00
Lorenz Hübschle-Schneider 6b99efb4ac Handle _buffer_localvar_{add,remov}ed events
fixes indendation of newly opened buffers
2014-05-09 17:36:35 +01:00
Lorenz Hübschle-Schneider 703953a0f6 Rename highlightNick to addMention
...because that's what it does
2014-05-09 09:13:46 +01:00
Tor Hveem 71ecdb2608 Log unhandled events 2014-05-08 13:24:57 +02:00
Lorenz Hübschle-Schneider a2073d893e Fix buffer closing
0cbf5fc4 uncovered an old bug
Thanks for noticing, @torhve
2014-05-08 11:05:08 +01:00
Lorenz Hübschle-Schneider 3d9619abaf Fix nick clicking
- move to correct scope
- use Angular input model instead of accessing DOM directly
- nicklist has changed, adapt to that
2014-05-07 23:40:08 +01:00
Lorenz Hübschle-Schneider 28d3bde907 inputBar.sendMessage: remove unused variable 2014-05-07 23:27:50 +01:00
Tor Hveem 47c9b38d75 Merge pull request #292 from glowing-bear/fixinitialhighlight
Fix initial query notifications
2014-05-08 00:16:08 +02:00
Tor Hveem 06f3e50684 Fix problems with inputbar history and nick complete 2014-05-08 00:04:12 +02:00
Lorenz Hübschle-Schneider abfa26d6ed Clean up buffer model a bit
* use type local variable to determine whether to indent
* local_variables is not used, don't export/save it
2014-05-07 18:58:59 +01:00
Lorenz Hübschle-Schneider 64af1f357c Fix query notifications on first connect
Fixes #284
2014-05-07 18:57:13 +01:00
Lorenz Hübschle-Schneider 236b0da97b Merge pull request #291 from torhve/fix-empty
Don't send empty commands, use angular model instead of accessing element value directly. Fixes problem with pressing enter will send previous value in history.
2014-05-07 18:20:59 +01:00
Lorenz Hübschle-Schneider 91bca211ee Merge pull request #290 from torhve/sslerror
Better user feedback for connection problems
2014-05-07 18:20:08 +01:00
Tor Hveem 91b0ddc259 Fix syntax. Emit relaydisconnect so connect button changes 2014-05-07 19:15:47 +02:00
Tor Hveem 3f595ea0ac Don't send empty commands, use angular model instead of accessing
element value directly. Fixes problem with pressing enter will send
previous value in history.
2014-05-07 19:01:12 +02:00
Lorenz Hübschle-Schneider 2eddc9ff3d Merge pull request #288 from torhve/clear
Support clearing of buffer lines with command /c or /clear
2014-05-07 17:58:27 +01:00
Tor Hveem 695c429c4f Only support the weechat defaults for clearing buffer 2014-05-07 18:55:48 +02:00
Tor Hveem fbfeec8fca Change the connect button text based on connection status 2014-05-06 22:00:02 +02:00
Tor Hveem d2f11ad89d Catch DOMException 2014-05-06 22:00:02 +02:00
Tor Hveem f21cf4c046 Support clearing of buffer lines with command /c or /clear 2014-05-06 18:39:48 +02:00
Lorenz Hübschle-Schneider 84270655ee Don't send input bar contents on buffer switch
Fixes #277
2014-05-04 11:21:35 +01:00
Tor Hveem b06f6f8589 Merge pull request #280 from glowing-bear/fixnickspeak
Fix bug where updateNickSpeak would fail on lines without a prefix
2014-05-03 16:58:27 +02:00
Lorenz Hübschle-Schneider aab111bb80 Fix that bug where only one line was loaded
Let me tell the story backwards:
For some reason, only one line would be fetched in `fetchMoreLines`, but
neither `numLines` nor `buffer.requestedLines` were `undefined`. The
paramater `numLines` must have had some strange value, though.
`connection.fetchMoreLines` is invoked through the main controllers
`$scope.fetchMoreLines`, which sets the parameter to `$scope.lines` if it was
undefined before. That value is computed in `$scope.calculateNumLines`,
which takes the height of the lines area and divides it by the height of the first
bufferline. This computation is retriggered on every `resize` event.
The first bufferline is the 'fetch more lines' link at the top of the window. If the
currently active buffer doesn't have more lines, it is hidden with `ngHide`,
causing its `clientHeight` property to be `0`, and the number of lines to be
fetched `$scope.lines = Infinity` (due to a division by zero).
In `connection.fetchMoreLines`, the following request is then made:
`"buffer:0x" + buffer.id + "/own_lines/last_line(-" + numLines + ")/data"`
to which WeeChat responds with one line. Voilà, there's your mess.
2014-05-03 15:07:12 +01:00
Lorenz Hübschle-Schneider 36a35628e2 Fix bug where updateNickSpeak would fail on lines without a prefix 2014-05-03 14:12:55 +01:00
Lorenz Hübschle-Schneider d363121556 Remove unnecessary uses of jQuery and dead code
Native code is faster anyways ;)
2014-04-28 13:52:21 +01:00
Lorenz Hübschle-Schneider 1d2e5f1d0b Better countWatchers
The old one missed a few, two on the input and the one in the title.
This version also doesn't use jQuery

From: http://stackoverflow.com/a/18539624 by StackOverflow user "plantian"
2014-04-28 13:40:27 +01:00
Tor Hveem 20a8289072 Revert the revertion of multiline and clean it up for new directive. 2014-04-26 18:16:46 +02:00
Lorenz Hübschle-Schneider 9f46e656cb Improve youtube matching URL
closes #266
2014-04-25 18:39:01 -04:00
Tor Hveem 921e28d0e2 Remove the old and now unused flat nicklist 2014-04-25 21:05:20 +02:00
Tor Hveem 4e08a52f25 Use recent speaker instead of alphabetical nick tab complete
Use _ for sorting.

Fix jshint problems and naming things.

Fix comments
2014-04-25 20:33:01 +02:00
David Cormier aa42027e98 Merge pull request #258 from lorenzhs/performance
Performance improvements
2014-04-24 10:18:51 -04:00
Lorenz Hübschle-Schneider 58f7c9b9be Improve nick clicking in buffer
* focus input line (stops keyboard from disappearing on mobile)
* add a space after the colon (and detect that in multiple highlight detection)
2014-04-23 17:19:42 +02:00
Lorenz Hübschle-Schneider e732d72550 Detect self-signed cert errors 2014-04-22 19:04:31 +02:00
Lorenz Hübschle-Schneider 3ad76d2ff3 Don't ng-repeat function calls, they're expensive
See http://tech.small-improvements.com/2013/09/10/angularjs-performance-with-large-lists/
2014-04-21 18:31:02 +02:00
Lorenz Hübschle-Schneider ac4e130198 Fix the one-line-only-bug
Fixes #247
2014-04-20 20:44:01 +02:00
David Cormier 81c5974369 Merge pull request #257 from lorenzhs/nickclick
Highlight user when clicking their nick
2014-04-19 10:07:50 -04:00
Lorenz Hübschle-Schneider 76d7572622 Highlight user when clicking their nick 2014-04-19 15:47:33 +02:00
Lorenz Hübschle-Schneider 16664cefc0 Double-tap escape to disconnect 2014-04-19 14:13:32 +02:00
Lorenz Hübschle-Schneider fdbf639201 Don't modify buffer in document visibility change handler if not connected 2014-04-15 22:01:13 +02:00
David Cormier 2cc4172ae0 Merge pull request #240 from lorenzhs/fetchlines
Fix bug where no (more) lines were loaded despite there being more
2014-04-07 14:50:56 -04:00
Lorenz Hübschle-Schneider 10bbb63929 Move cursor to end when navigating history
Fixes #244
2014-04-05 22:18:48 +02:00
Felix Eckhofer cd6ee96ae7 Use https for dailymotion 2014-04-04 20:43:13 +02:00
David Cormier 8d94dffec9 Rename isMobileDevice to isMobileUi
Right now we are only checking the width screen so we are not
detecting anything that is mobile specific. Will rename to
isMobileDevice when we introduce more specific checks.
2014-03-30 20:16:29 -04:00
Felix Eckhofer 3ed3df9ede Only hide bufferlist when switching to mobile
Showing the keyboard on mobile will trigger a resize event, therefore
trying to use the bufferlist filter will actually hide the bufferlist
making the feature unusable. Bug introduced by 554b1669.
2014-03-30 23:59:52 +02:00
Lorenz Hübschle-Schneider 0e3bf78087 Fix bug where no (more) lines were loaded despite there being more 2014-03-24 18:05:06 +00:00
David Cormier 2000437c3a Merge pull request #238 from lorenzhs/trailingcomma
remove trailing commas
2014-03-19 14:28:54 -04:00
Lorenz Hübschle-Schneider 0ff0c995d4 remove trailing commas 2014-03-19 18:02:20 +00:00
David Cormier f20f7f950e Merge pull request #234 from lorenzhs/notificationcount
Add notification count to notifications
2014-03-19 13:13:04 -04:00
Felix Eckhofer 9d0fb6b0cd Update path to icon for notifications 2014-03-18 10:53:23 +01:00
Lorenz Hübschle-Schneider 54bb156f01 Add notification count to notifications 2014-03-13 20:33:46 +00:00
Lorenz Hübschle-Schneider 554b16698a Show sidebar when switching from mobile to desktop view
(or the other way around)
2014-03-13 18:49:29 +00:00
David Cormier 24a7fe2d42 Merge pull request #230 from lorenzhs/fixirclinky
Don't irc linky #foo after forward / backward slashes
2014-03-10 14:23:47 -04:00
David Cormier d27d3b415d Merge pull request #231 from lorenzhs/nicklistupdates
Ignore nicklist updates for buffers without a nicklist
2014-03-10 14:23:06 -04:00
Lorenz Hübschle-Schneider a51e5c17ae Don't irc linky #foo after forward / backward slashes
This broke some URLs like http://caniuse.com/#feat=flexbox
2014-03-10 17:19:02 +00:00
Lorenz Hübschle-Schneider 90b29cc5ad Don't update read marker if no more lines could be fetched
Fixes disappearing read marker (set to -1)
2014-03-10 17:10:56 +00:00
Lorenz Hübschle-Schneider 5e19ffd614 Ignore nicklist updates for buffers without a nicklist 2014-03-10 17:01:41 +00:00
Lorenz Hübschle-Schneider 203680ff58 Try to fetch all unread lines if that is a reasonable amount
Partially fixes #139 in that it tries to accomplish this, but until we can request
only non-filtered lines from WeeChat, the best thing we can do is guessing.
2014-03-08 22:47:24 +00:00
David Cormier a3410d45c1 Merge pull request #225 from lorenzhs/defernicklist
Defer nicklist loading until buffer is opened
2014-03-08 17:43:53 -05:00
Lorenz Hübschle-Schneider dc0ce33bea Fetch nicklist by buffer name, not pointer
An invalid pointer will crash WeeChat, while an invalid name will not. A pointer
becomes invalid e.g. if the buffer is closed by another client, g-b not updated,
and the buffer then selected in g-b.
2014-03-08 21:35:03 +00:00
Lorenz Hübschle-Schneider 730c7dab8d Load lines before nicklist
Nicklist is not nearly as important as the actual lines, load them first for better perceived performance. Parsing the nicklist can take a noticeable amount of time for channels with thousands of occupants.

This also improves/fixes the nicklist emptiness check
2014-03-08 21:34:39 +00:00
Lorenz Hübschle-Schneider 14575f3547 Remove debug logging 2014-03-08 17:07:54 +00:00
Lorenz Hübschle-Schneider ac548777fc Defer nicklist loading until buffer is opened
Drastically improves startup time for users with buffers that have thousands of users
2014-03-08 16:10:41 +00:00
Lorenz Hübschle-Schneider 739c4de0ef Add a isNicklistEmpty method to buffer model, speed up nicklist decision
Flattening the nicklist is really unnecessary. This method is 10x faster for short
nicklists, and much faster for buffers with lots of users.
2014-03-07 17:52:32 +00:00
David Cormier 3d5ed296c2 Merge pull request #218 from lorenzhs/pluginregex
Improve plugin regular expressions, load imgur over https if enabled
2014-03-06 08:24:01 -05:00
David Cormier ff1f240854 Merge pull request #217 from lorenzhs/notificationfix
Display all parts of message prefix in notification
2014-03-06 08:22:25 -05:00
Lorenz Hübschle-Schneider 3c1bdfeb71 Improve plugin regular expressions, load imgur over https if enabled 2014-03-05 15:53:13 +00:00
Lorenz Hübschle-Schneider 4e315b53a8 Display all parts of message prefix in notification
Previously, we only got the first part -- which would be "@" for an op, and not their nick.
2014-03-05 13:31:54 +00:00
Lorenz Hübschle-Schneider 71cafde5a3 Reset unread count on disconnect 2014-03-05 13:21:12 +00:00
Lorenz Hübschle-Schneider 58a26ceea9 Treat messages arriving in active buffer as unread if window is not focused 2014-03-05 13:21:08 +00:00
David Cormier 055dc9eba9 Merge pull request #215 from lorenzhs/patch-1
Tweak channel highlighting regex
2014-03-05 08:13:53 -05:00
David Cormier 2e7c6b3fbe Merge pull request #214 from torhve/fix-bufferlist
Fix bufferlist not working after reconnect

Fix #183
Open #73
2014-03-05 08:11:12 -05:00
Lorenz Hübschle-Schneider 01f213147e Tweak channel highlighting regex
Don't require white space at the start, punctuation marks are good, too.
2014-03-05 10:56:36 +00:00
Tor Hveem 5552d40ec2 Fix bufferlist not working after reconnect 2014-03-05 11:22:03 +01:00
David Cormier f9defeed9f Use "sonar" sound for notifications 2014-03-04 08:26:32 -05:00
Lorenz Hübschle-Schneider aecae9f0e6 Optionally play a sound on notification
Fixes #42
TODO: find and add a sound file
2014-03-03 21:23:15 -05:00
David Cormier 8a6337e873 Merge pull request #204 from lorenzhs/numlines
Recalculate number of lines needed on resizing
2014-02-28 09:11:39 -05:00
Lorenz Hübschle-Schneider a3b52ddddd Recalculate number of lines needed on resizing
The issue with #bufferlines on mobile has been fixed in 0d580cc, so calculate
the number of (non-wrapping) lines that fit in the window and add a buffer of 10
for hidden lines and to allow scrolling up to fetch more lines (#202)
2014-02-28 10:23:10 +00:00
David Cormier c4dc74ca8d Make allLinesFetched an attribute of buffer
Remove noMoreLines from the rootScope.
2014-02-27 21:55:42 -05:00
Tor Hveem 892dac5fbc Variable fix, and compare fix 2014-02-27 21:55:42 -05:00
Tor Hveem c80e3ce005 Fix spaces 2014-02-27 21:55:42 -05:00
Tor Hveem ad68e32c08 Don't show fetch more lines when there aren't any 2014-02-27 21:55:42 -05:00
David Cormier a5006ce966 Fix jshint error 2014-02-27 21:25:59 -05:00
Tor Hveem 5dd11d72c0 Fix alt-n again 2014-02-28 00:31:32 +01:00
Tor Hveem 00906f34cb Add chrome keycode for < 2014-02-28 00:13:21 +01:00
David Cormier d5cbdf2d4a Respect mobile users settings
Do not set the values for "nonicklist" "noembed" and "notimestamp"
regardless of what the mobile user had set. Only change the default
values for the bindings if none has been set.

Fix #147
2014-02-27 08:28:01 -05:00
Tor Hveem bebc1c7bce Remove duplicate bufferlist storage. Only use object 2014-02-26 19:39:48 +01:00
David Cormier 71a3f00479 Merge pull request #187 from torhve/master
call the right scope
2014-02-26 08:13:43 -05:00
Lorenz Hübschle-Schneider 0cc693fe7d Move mobile device detection to a function
avoids code duplication
2014-02-25 21:17:29 +00:00
Lorenz Hübschle-Schneider 1664b34cc9 Reorder statements for easier reading 2014-02-25 21:12:36 +00:00
Lorenz Hübschle-Schneider 997fe91d3e Remove redundant line
localStorage triggers this on page load anyway
2014-02-25 21:12:36 +00:00
Lorenz Hübschle-Schneider 3f68a156a4 Move initialisation code to functions 2014-02-25 21:12:36 +00:00
Lorenz Hübschle-Schneider e301849a73 Remove unused functions and parameters 2014-02-25 21:12:36 +00:00
Lorenz Hübschle-Schneider 330942b111 Remove unused variable 2014-02-25 21:12:36 +00:00
Tor Hveem d6a64b32b9 call the right scope 2014-02-25 17:33:05 +01:00
David Cormier 4451bff60d Move activeBufferChanged listener to WeechatCtrl
I don't believe that the inputBar directive should know about the
mobile cutoff we have set for GB. We should aim to make it as
reusable as possible
2014-02-25 09:14:08 -05:00
David Cormier c04b6e64f6 Let user specify the id of the input bar
Input bar id is not globally set, but passed to the directive
through the input-id attribute.
2014-02-25 09:12:52 -05:00
David Cormier f3f5330aed Merge pull request #178 from cormier/fix-74
Fix nick completion issues
2014-02-24 12:20:05 -05:00
David Cormier c163e9933f Merge pull request #171 from lorenzhs/fixduplicatenotifications
[WIP?] Fix an issue with notifications being shown when fetching old lines
2014-02-24 10:23:04 -05:00
Felix Eckhofer c1c2297833 Add nick to highlight notification from channels 2014-02-24 15:41:15 +01:00
Felix Eckhofer 18dd4eae1f Replace tabs with spaces 2014-02-24 11:41:25 +01:00
Felix Eckhofer b3b4651e33 Remove trailing spaces 2014-02-24 11:41:25 +01:00
Felix Eckhofer 7a003f8227 Focus input bar when not on mobile
This improves the UX on desktop while avoiding the virtual keyboard
popping up on touch devices
2014-02-24 11:41:20 +01:00
David Cormier 41bdb90a5e Merge pull request #177 from lorenzhs/mobile
Further improve mobile layout
2014-02-23 11:58:04 -05:00
David Cormier 5f25a96b51 Work with inputNode element directly
Instead of using $scope.command, we work with the inputNode element
directly to have control over the caret position. This let us have
nick completition in the same way as WeeChat.

Fix #74
2014-02-23 10:55:59 -05:00
David Cormier f141095312 Add method to retrieve inputNode element from directive 2014-02-23 10:48:21 -05:00
David Cormier fb5a477b73 Implement asciinema plugin
Close #66
2014-02-23 10:04:14 -05:00
Lorenz Hübschle-Schneider 17cc3c9088 Disable swiping on desktop 2014-02-23 14:17:59 +00:00
Felix Eckhofer fa01c0a53f Install Firefox Webapp from local checkout
Ask Firefox to install the currently running copy of glowing bear
instead of the copy from torhve.github.io

This also fixes a bug when glowing bear is not running from a
subdirectory (or one other than /glowing-bear) which would lead to a 404
because of torhve.github.io/original_subdir being loaded instead of
/glowing-bear.

Note that installing to a different subdirectory than /glowing-bear will
lead to the icons not being found due to the fact that all icon paths
inside manifest.webapp have to be absolute.
2014-02-22 13:46:45 +01:00
David Cormier efda3d4963 Merge pull request #170 from lorenzhs/fixactivityswitch
Fix "Switch to buffer with activity" skipping buffers with notifications
2014-02-21 13:49:23 -05:00
Lorenz Hübschle-Schneider 4736da2d92 Fix an issue with notifications being shown when fetching old lines
@xt, does this fix the issue for you?

While we're at it, fix the annoying jump-to-bottom when loading more lines.
2014-02-21 16:33:10 +00:00
Lorenz Hübschle-Schneider d4a5218922 Fix "Switch to buffer with activity" skipping buffers with notifications
This caused two buffer switches in a row, in effect forgetting the notifications
2014-02-21 16:03:35 +00:00
David Cormier a28ee6033b Merge pull request #163 from lorenzhs/flashtitle
Flash title when receiving lines in the background & make use of favico configurable
2014-02-21 09:58:28 -05:00
David Cormier e468fe57f0 Merge pull request #169 from cormier/fix-73
Reinitialize context when relay closes connection
2014-02-21 09:47:04 -05:00
David Cormier 7b79d7dc5a Merge pull request #166 from torhve/swipe-animate
Use ngAnimate to animate sidebar hiding/showing
2014-02-21 09:46:36 -05:00
Tor Hveem 056aa3deed Use CSS classes instead of javascript for margin 2014-02-21 15:35:06 +01:00
David Cormier 83fe15d326 Merge pull request #168 from lorenzhs/notifications
Notifications: Improve channel detection
2014-02-21 08:59:08 -05:00
David Cormier b09e328463 Reinitialize context when relay closes connection
Fixes #73
2014-02-21 08:54:17 -05:00
Lorenz Hübschle-Schneider fb9d5af5fc localstorage: Correctly check whether value is set before setting default
The old condition always overwrote boolean values that were set to false
with the default m( Check for undefined instead.
2014-02-21 10:50:29 +00:00
Lorenz Hübschle-Schneider df1bb08749 Only update title for notifications, not other kinds of activity
Also make the unread count the first thing in the title
2014-02-21 10:22:27 +00:00
Lorenz Hübschle-Schneider effa64084b Notifications: Improve channel detection 2014-02-21 09:49:03 +00:00
Felix Eckhofer e0aef4c6e1 make enter switch to the first match in the list 2014-02-21 09:55:56 +01:00
Felix Eckhofer fead046eed use alt-g for filter bufferlist
this is more consistent with the other existing shortcuts and is also
the same shortcut go.py recommends in weechat-curses
2014-02-21 09:45:56 +01:00
Tor Hveem 46b503e1b4 Use ngAnimate to animate sidebar hiding/showing 2014-02-21 09:34:30 +01:00
David Cormier f10e44efe4 Merge pull request #164 from lorenzhs/notifications
Rework notifications
2014-02-20 19:31:32 -05:00
Lorenz Hübschle-Schneider e5f33275bd Fix the confirmation dialog when closing the tab
* Only nag if we're connected
* Set event return value so Chrome shows the dialog
2014-02-20 23:52:45 +00:00
Lorenz Hübschle-Schneider 157917d40c Rework notifications
* Improve content of notifications
  * More descriptive title
  * The bug that caused the need for manually assembling the message has been fixed (#161 or c5e548c8ab)
* Permission for displaying notifications can only be requested upon user interaction in Chrome, not on page load. Bind to connect button
* Take user to g-b tab and buffer causing the notification on click
2014-02-20 23:29:17 +00:00
Lorenz Hübschle-Schneider d4207ed7e0 Update title with unread count
Further discussion required on a few points:
* show notifications only or unread lines as well?
* only use this when favico is disabled, or indepently?
I welcome all feedback.

Fixes #22
2014-02-20 22:47:53 +00:00
Lorenz Hübschle-Schneider 9ac7b341ec Make use of favico an option
@tribut: does this resolve your issue?
2014-02-20 22:47:24 +00:00
Lorenz Hübschle-Schneider c5e548c8ab Correctly set message text
There might be multiple parts to each message, e.g. if a plugin colourises
some parts of a message.
2014-02-19 22:08:07 +00:00
David Cormier 5b5082dfd4 Merge pull request #160 from cormier/previous-buffer
PR#155 with shortcut added in front page instructions
close #155
2014-02-19 11:53:06 -05:00
David Cormier 80841154b6 Merge pull request #159 from lorenzhs/fixircregex
Reduce number of false positives in IRC channel linkification
2014-02-19 10:46:13 -05:00
Lorenz Hübschle-Schneider 389d6bdedb Reduce number of false positives in IRC channel linkification 2014-02-19 15:38:07 +00:00
David Cormier 51cde96bf6 Standardize code presentation
Fix indentation (4 spaces, no tabs)
Fix indentation in CSS
Fix comment position in CSS file
2014-02-19 10:27:46 -05:00
David Cormier 8e44757e61 Replace magic number 968 with variable 2014-02-19 10:18:20 -05:00
David Cormier 11e5b6fbda Merge development branch of creesch 2014-02-19 09:58:31 -05:00
David Cormier 2e5e3a45eb Revert "Collapse sidebar with css selector"
This reverts commit 3a5dfd5e94.
2014-02-19 09:53:03 -05:00
Tor Hveem 2452858853 Fix globals. Fix init 2014-02-19 11:28:48 +01:00
Tor Hveem 2aa1e02bea New keybinding: Alt-< to switch to previous buffer. Same key as WeeChat 2014-02-19 10:58:26 +01:00
Lorenz Hübschle-Schneider e5476dfd02 Whitespace fixes, some {} blocks 2014-02-18 18:13:23 +00:00
David Cormier 6814379bdb Merge pull request #154 from torhve/better-string-decoding
Decode and encode array directly without for loop
2014-02-18 09:56:06 -05:00
creesch abefa7430a Implement swiping for mobile devices 2014-02-18 14:40:02 +01:00
Tor Hveem b379d50351 Decode and encode array directly without for loop 2014-02-18 13:25:03 +01:00
David Cormier 27690ada58 Work around a WeeChat protocol inconvenience
Until WeeChat sends a confirmation for init we have to assume
that the commands will be received synchronously even though
they are sent asynchronously
2014-02-17 21:46:00 -05:00
David Cormier ba20a79c72 Send init commands when connection is successful
Initialization commands are sent when we are sure that
the password has been accepted and that the init has been
processed by the weechat relay
2014-02-17 21:19:34 -05:00
David Cormier 8c386f7553 Create helper functions for initialization methods 2014-02-17 21:15:10 -05:00
David Cormier 3a5dfd5e94 Collapse sidebar with css selector
Fixes #152
2014-02-17 20:49:49 -05:00
Lorenz Hübschle-Schneider c490e33898 IRC linky: don't match HTML encoded chars (&#41;, &gt;, etc.) 2014-02-17 20:08:55 +00:00
David Cormier 4e5f239980 Merge pull request #144 from lorenzhs/linkify
Linkify IRC channels
2014-02-17 10:24:00 -05:00
Lorenz Hübschle-Schneider c1760e5433 Fix JS coding style
TODO: rebase this as a fixup. I don't think the github web interface supports that.
2014-02-17 12:37:14 +00:00
Lorenz Hübschle-Schneider 1a5b36b6f7 switchToActivityBuffer: Prioritise notifications
If there is a buffer with a notification, go there. Otherwise, go to one with unread lines.
2014-02-17 12:31:23 +00:00
Lorenz Hübschle-Schneider 93f40c64e9 Fix embed DOM classes
Classes, IDs and Names in the DOM have to begin with a letter. The $$hashKey
however might not, so prefix it with embed_. This also makes the classes more
unique, which is a good thing. Additionally, don't scroll on undefined should that
ever happen.

Fixes #45
2014-02-16 16:55:27 -05:00
Lorenz Hübschle-Schneider 2e963da581 Don't use jQuery, simplify 2014-02-16 16:55:27 -05:00
Lorenz Hübschle-Schneider e48fe29cf8 Automatically scroll plugins into view 2014-02-16 16:55:27 -05:00
Lorenz Hübschle-Schneider eaf5adf467 Linkify IRC channels
Make '#foo' in a message or buffer title clickable, taking the user to the IRC
channel specified, joining it if necessary.
2014-02-16 14:10:56 +00:00
Lorenz Hübschle-Schneider f70f399741 remove unnecessary use of jQuery 2014-02-15 11:39:11 -05:00
Lorenz Hübschle-Schneider f018876987 Fix botched merge 2014-02-14 16:40:44 +00:00
David Cormier 36049447cd Fix jshint errors 2014-02-14 09:32:30 -05:00
Tor Hveem 0f44465faa Better connection / password error handling 2014-02-14 09:16:40 -05:00
David Cormier e68e7dd01d websockets: add support for user specified onmessage 2014-02-14 09:09:09 -05:00
Lorenz Hübschle-Schneider f8f25107de Fix read marker and scrolling behaviour
* don't always jump to the bottom on incoming messages
* don't fiddle with the read marker when loading more lines
2014-02-11 21:45:57 +00:00
Lorenz Hübschle-Schneider 7c2403e7a1 Scrolling: Do not use webkit-specific function to scroll readmarker into view
Sorry for that.
2014-02-11 20:40:25 +00:00
Lorenz Hübschle-Schneider 8068be8de2 Remove setting and calculate number of lines from display properties 2014-02-10 20:18:44 +00:00
Lorenz Hübschle-Schneider 56055d61c8 Make the code a little prettier 2014-02-10 20:18:40 +00:00
Lorenz Hübschle-Schneider 40716ca649 Fix issue with incorrect read marker on startup 2014-02-10 20:15:50 +00:00
Lorenz Hübschle-Schneider 7764fc6910 Dynamically load lines for each buffer on startup
Add setting for number of lines to fetch initally.

TODO: styling
2014-02-10 20:15:50 +00:00
Lorenz Hübschle-Schneider 5a90e2e830 Fix scrolling issue and reduce the number of scrolling events on startup
Don't trigger scrolling on each line when batch loading lines
2014-02-10 20:15:50 +00:00
Lorenz Hübschle-Schneider 32bcb1c943 Fetch more lines on request 2014-02-10 20:15:50 +00:00
Lorenz Hübschle-Schneider 6b31a3e59a Reset favico on unloading. Should resolve bookmark favicon issue.
See https://github.com/ejci/favico.js/issues/23 for detail
2014-02-10 19:26:30 +00:00
David Cormier 0107dabb2d Fix jshint errors 2014-02-09 19:40:25 -05:00
David Cormier 81054f06bd Move specific weechat websocket manipulation in glowingbear.js 2014-02-09 19:40:25 -05:00
David Cormier a49ce938ea Add comments to websocket handlers 2014-02-09 19:40:25 -05:00
David Cormier 1da061fec2 Rename conn module to ngWebsockets 2014-02-09 19:40:25 -05:00
David Cormier 1b1b97c448 Remove unnecessary onmessage function 2014-02-09 19:40:25 -05:00
David Cormier eddffd6e63 Remove spurious dependencies from connection 2014-02-09 19:40:25 -05:00
David Cormier d4a4f1bd7f Create websockets module 2014-02-09 19:40:10 -05:00
Lorenz H-S 7d386f04c2 Use strict comparison operators 2014-02-08 13:20:33 +00:00
Lorenz H-S 0cd4f04740 improve spacing and other syntactical stuff 2014-02-08 13:14:23 +00:00
David Cormier f4ee683100 Only retrieve plugin content when 'Show Content' is pressed 2014-02-06 21:21:49 -05:00
David Cormier 6b12926887 Move plugin to it's own directive 2014-02-06 21:00:07 -05:00
David Cormier 6605a49f7c Rename websockets.js to glowingbear.js 2014-02-06 20:39:58 -05:00
David Cormier 991e870304 Merge pull request #126 from torhve/fix-scrolling
Fix a scrolling bug with chrome
2014-02-05 09:26:51 -05:00
Tor Hveem e4bbb64b4a Sort buffers by number before switching to buffer with activity. This
better resembles how weechat works
2014-02-05 09:11:55 -05:00
David Cormier 4753ef92a7 Merge pull request #111 from lorenzhs/fixComment
Fix comment so my completion doesn't suggest rootscope instead of rootScope
2014-02-05 09:08:00 -05:00
Tor Hveem e96ae165b2 Fix a scrolling bug with chrome 2014-02-05 11:20:16 +01:00
David Cormier 38ac95c863 Merge pull request #122 from lorenzhs/fixfavico
Fix Favico
2014-02-02 06:40:24 -08:00
Lorenz H-S cbd5d145dc Fix Favico
Use one favico instance which is dynamically modified
This uses a feature that is not yet part of the latest favico.js release, and needs
a fix that isn't even merged yet. Both are included in commit
8e624ba7f0
2014-02-02 13:00:17 +00:00
Lorenz H-S f0fe8be18a Do channel indendation in CSS.
Fixes the issue with new query buffers' titles not being shown.

Doesn't introduce any new watchers
2014-02-02 11:26:43 +00:00
David Cormier 1bf6f98bde Add missing () to constructor 2014-01-27 11:14:48 -05:00
Tor Hveem 3879e07e46 Fix Favico 2014-01-22 11:32:08 +01:00
Tor Hveem f9ba30f102 Collapsable sidebar for mobile sized screens 2014-01-22 11:08:07 +01:00
David Cormier 51e01ec6d4 Add missing semicolons 2014-01-22 11:08:07 +01:00
Tor Hveem 0bd443715a Remove autofocus since it is very mobile unfriendly 2014-01-22 11:08:06 +01:00
Lorenz H-S 5ad01dac81 embed youtube over SSL 2014-01-09 21:45:00 +00:00
David Cormier ce37e66a15 Merge pull request #109 from lorenzhs/scrolling
Improve scrolling
2014-01-07 10:42:33 -08:00
David Cormier 222419cdcc Merge pull request #113 from lorenzhs/reduceWatchers
Reduce number of watchers
2014-01-06 10:32:41 -08:00
Lorenz H-S b88b046222 Bind bufferlist only once where possible 2013-12-28 16:58:32 +01:00
Lorenz H-S f38c4b020e Fix scrolling behaviour for good (?) 2013-12-28 16:50:31 +01:00
Lorenz H-S 9b89341b74 Fix comment so my completion doesn't suggest rootscope instead of rootScope 2013-12-26 18:35:03 +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
Lorenz H-S bf6e92fc24 Implement support for compression (not enabled yet) 2013-12-20 13:31:31 +00:00
Lorenz H-S f67ac87057 Move dependencies to a different folder
fixes build :)
2013-12-19 16:45:29 +00:00
David Cormier e51932aaa5 Revert "Remove files no longer needed due to use of Bower"
This reverts commit 6ef681f722.
2013-12-19 10:36:48 -05:00
David Cormier 68f24554d1 Remove global for variables 2013-12-17 15:55:41 -05:00
David Cormier c251c3b74c Fix is already defined errors 2013-12-17 15:48:43 -05:00
David Cormier 0912a2b55b Remove extra comma and unnecessary semicolons 2013-12-17 15:39:22 -05:00
David Cormier b23fb71d1d Use strict comparators 2013-12-17 15:36:54 -05:00
David Cormier e2a84470ce Add missing semicolons 2013-12-17 15:35:36 -05:00
David Cormier 6d5573a148 Delete trailing whitespaces 2013-12-17 15:30:22 -05:00
David Cormier cbf6bd9920 Use dot notation in models 2013-12-17 15:29:05 -05:00
David Cormier 09616a34c4 Merge pull request #96 from lorenzhs/bower
Remove files no longer needed due to use of Bower
2013-12-17 11:48:53 -08:00
Lorenz H-S 6ef681f722 Remove files no longer needed due to use of Bower 2013-12-17 19:46:46 +00: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
Lorenz H-S 2cf47c6161 Visually highlight highlights 2013-12-17 14:37:22 +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 6562ce22b4 apply jshint on weechat 2013-12-17 08:43:21 -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 3c01ad1b68 Fix bug with switching to core buffer when buffer is closed 2013-10-29 12:34:16 +01:00
Tor Hveem 1615f3016b Use angular function to linkify text.
Fixes bugs with HTML escaping in text
2013-10-28 14:37:21 +01:00
Tor Hveem 69200c7854 Prevent user from accidentally leaving the page 2013-10-28 13:55:46 +01:00
Tor Hveem d57127cc84 make class for embedded image, and fix its height parameter so its
better for small images
2013-10-28 13:32:48 +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 4596c129f1 support extended colors in nicklist 2013-10-27 11:04:43 +01: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
Philippe Proulx 0f1bde187a Support colors in nick list 2013-10-27 04:49:59 -04:00
Philippe Proulx 8ec37d68e2 Support case insensitive nick completion 2013-10-27 04:08:18 -04:00
Philippe Proulx 1eee866347 Do not handle keypress when not connected 2013-10-27 04:08:17 -04:00
Philippe Proulx 5f2a4386f7 Support custom suffix for nick completion 2013-10-27 04:08:16 -04:00
Philippe Proulx ca47fba200 Nick completion support for end user
Closes #24
2013-10-27 04:07:12 -04:00
Philippe Proulx 782b659474 Prevent default action for Ctrl+G
Ctrl+G is used in Chrome/Chromium, at least, to find the next match
(just like F3).
2013-10-27 04:07:11 -04:00
Philippe Proulx 92dc4736ea Switch between buffers with left Alt key only
Right Alt key, which is the same as Ctrl+left Alt, is used in several
keymaps to input special characters, like right Alt+2 in Canadian
French to input '@'. Do not switch between buffers when using right
Alt.

Fixes #67
2013-10-27 04:06:32 -04:00
Philippe Proulx 0da6014711 Swallow space after caret if needed (middle completion) 2013-10-26 19:07:04 -04:00
Philippe Proulx a918923852 Implement IRC nick completion uility 2013-10-26 18:44:48 -04:00
Tor Hveem 902f344d25 move logic into models, attempt at sorting 2013-10-27 00:26:17 +02:00
Tor Hveem 348940bee0 fix + - and * operations of nicklist_diff 2013-10-26 23:40:00 +02:00
Tor Hveem 1a451fd705 Improve hiding/showing nicklist 2013-10-26 23:17:32 +02:00
Tor Hveem a06916f63e Better styles for nicklist, implement UI for hiding 2013-10-26 22:56:52 +02:00
Tor Hveem 404f8c8cba Implement nicklist 2013-10-26 22:19:13 +02:00
Tor Hveem 66963d8329 Style chat time. Hide lines with repeated time 2013-10-26 20:07:21 +02:00
Philippe Proulx ddf491e8f0 Reduce attribute names length 2013-10-26 13:54:51 -04:00
Philippe Proulx 647e8c5af1 weechat.js: support 1/2/3/4 attributes too 2013-10-26 13:50:53 -04:00
Philippe Proulx c7a0ab0715 Fix comment following FlashCode's update of doc 2013-10-26 05:17:12 -04:00
Philippe Proulx 439734a49b Optimize style attributes overriding 2013-10-26 04:49:37 -04:00
Philippe Proulx 9772da0095 Implement full support of WeeChat text styling 2013-10-26 04:30:35 -04:00
Tor Hveem c9f7e9a732 Make scrolling into the bufferlines div, not the whole window
This should improve scrolling experience, especially on webkit.
It also is needed for when nicklist will appear
2013-10-25 22:19:23 +02:00
Tor Hveem d3aa1d768d Only store password if user requests it. 2013-10-25 13:45:29 +02:00
Tor Hveem 09798fed53 Remove old code 2013-10-25 13:45:29 +02:00
Tor Hveem f1eddd3022 fix so opera/IE dont bug out on Notification 2013-10-25 13:45:29 +02:00
Tor Hveem 0d963f2fd8 Use CDN for underscore also 2013-10-25 13:45:29 +02:00
Tor Hveem eda2bf9597 Check for Notification support 2013-10-25 13:45:29 +02:00
Vivien Didelot 15e267a9ee plugins: add AlloCine support 2013-10-23 09:44:21 -04:00
Tor Hveem dbb2bcb8f9 Fix notify level 2013-10-23 15:29:28 +02:00
Tor Hveem a505c146f2 Trying to improve scrolling. Still not elegant 2013-10-22 19:58:12 +02:00
Tor Hveem 6b3ab23dcc Remove angular from repository since we use CDN 2013-10-22 19:26:36 +02:00
Vivien Didelot 98ad8d152d plugins: add Dailymotion support 2013-10-22 10:48:05 -04:00
Vivien Didelot 3720ef686e Merge Tor's 'torhve/ffapp' work
This branch adds App support for both Chrome and Firefox.
The reference was https://github.com/torhve/glowing-bear/tree/ffapp
2013-10-22 10:35:51 -04:00
Tor Hveem 1d6f44cedd Add a TODO for future 2013-10-22 16:09:22 +02:00
Tor Hveem fdb253a972 Clear search term after switching buffer 2013-10-22 14:24:09 +02:00
Tor Hveem 641faa4df3 App support for firefox 2013-10-21 15:51:05 +02:00
Philippe Proulx 2e421f8361 websocket.js: fix a few obvious indentations 2013-10-19 14:11:01 -04:00
Philippe Proulx 1e66b16da9 Fix: do not handle empty hotlist message 2013-10-19 14:07:08 -04:00
Tor Hveem 453a8d5ef3 Make images clickable so you can get full size 2013-10-19 13:10:35 +02:00
Tor Hveem 5712a55620 New option to sync hotlist with weechat. Fixes #56 2013-10-19 12:14:32 +02:00
Vivien Didelot 10480843c2 plugins: add Google Maps support 2013-10-18 17:32:39 -04:00
Vivien Didelot 4eddc8bf57 plugins: add SoundCloud and MixCloud support 2013-10-18 11:13:36 -04:00
Tor Hveem 5923093071 New plugin: spotify 2013-10-18 16:47:53 +02:00
Tor Hveem 45a0d0cd21 Fix bug with onlyUnread and buffer with notifications without unread
messages
2013-10-18 15:59:46 +02:00
Tor Hveem 33ee9bd951 fix bug with new buffers and notify level 2013-10-18 15:58:26 +02:00
Sebastien Bourdelin d6de5805a2 Handle wrong password. Fixes #4.
This commit introduces a way to handle wrong password.

The only way to know it is by sending an other message after the init
one.
If we receive an answer to this second message id then we know we are
connected with the good password, otherwise we will received an onclose
event from the websocket.
2013-10-17 18:54:20 -04:00
Vivien Didelot 55b720466b plugins: (image) support fukung.net
Links to http://fukung.net/v/foobar.gif end by the actual image
extensions, but the full image path is under
http://media.fukung.net/imgs/foobar.gif.

This commit replace the URL prefix if it matches fukung.net/v/.
2013-10-17 18:25:01 -04:00
Vivien Didelot ea65c5dc44 plugins: (youtube) make video preview slicker 2013-10-17 16:52:26 -04:00
Tor Hveem fba78d490e Support more URLs for youtube and request html5 player to improve
performance of embedding
2013-10-17 13:36:54 +02:00
Tor Hveem f4b5cdfbc9 keyHandler for buffer searching 2013-10-17 13:13:01 +02:00
Tor Hveem 3a52840111 New setting for hiding timestamps 2013-10-17 10:50:29 +02:00
Tor Hveem f5088d54b0 first try instant scrolling, then delayed 2013-10-16 23:59:27 +02:00
Tor Hveem 0222dc1026 Only search buffer name 2013-10-16 23:29:51 +02:00
Tor Hveem 27b277ee6b Bugfix last commit, check for undefined 2013-10-16 23:29:51 +02:00
Tor Hveem 0c2ffab3b9 Searching now works with onlyUnread activated 2013-10-16 23:29:51 +02:00
eirikb 8602f9d477 Replace weechat-protocol.js with weechat.js from https://github.com/eirikb/weechat.js 2013-10-16 23:10:49 +02:00
Tor Hveem 0c26449e8e story onlyUnread setting in localStorage 2013-10-16 15:45:38 +02:00
Tor Hveem 70ff24bd10 add a disconnect button 2013-10-16 14:44:44 +02:00
Tor Hveem ce22e44534 Use point icon for ng-click 2013-10-16 14:25:07 +02:00
Tor Hveem cfa7823d39 Fix the parsing of basic colors 2013-10-16 13:39:17 +02:00
Tor Hveem 53d9f51d0c Request hotlist from weechat and sync unread and lastSeen 2013-10-16 01:09:31 +02:00
Tor Hveem 830c486af0 Regard the weechat buffer notify level 2013-10-16 00:32:56 +02:00
Tor Hveem 3a1fb161a7 Remove uneeded parseInt 2013-10-15 19:08:24 +02:00
Tor Hveem b2174db197 Remove URLplugin, replace URLs inline with a hrefs 2013-10-15 18:58:00 +02:00
Tor Hveem 5ed02a5e54 Change lineinfo into async promise 2013-10-15 17:20:35 +02:00
Tor Hveem dd77529cba remove old bufinfo handler 2013-10-15 16:57:40 +02:00
Tor Hveem a9d469867a Add Favio.js support. Fixes #28 2013-10-15 15:21:13 +02:00
Tor Hveem 2617dadb65 Simplify/clean up the unread and notification code 2013-10-15 14:59:06 +02:00
Tor Hveem a9dcc68af2 Instead of using buffer.notification as a boolean, save number of
notifications into the variable. And when displaying unread messages
display unread notifications if any and if not then display number of
unreads.
2013-10-15 14:31:41 +02:00
Vivien Didelot 8fea1c072e plugins: (url) do not return the whole message 2013-10-14 15:18:00 -04:00
Vivien Didelot 97da1928de plugins: match /nsfw/i tag anywhere in the message
Sometimes you may have trailing whitespace or put this tag at the
beginning of the line.

Ref: #27
2013-10-14 12:01:25 -04:00
David Cormier 2377253676 plugins: fix imagePlugin 2013-10-13 15:14:43 -04:00
David Cormier 741416cb79 plugins: provide names for plugins 2013-10-13 15:00:00 -04:00
David Cormier b2ee67707b plugins: let plugins name their content 2013-10-13 14:57:54 -04:00
David Cormier 3f56c80f56 plugins: warn the user that content may not be safe for work 2013-10-13 14:49:38 -04:00
David Cormier a1123ddad0 plugins: automatically hide lines that ends with nsfw 2013-10-13 14:44:37 -04:00
David Cormier 1f7cb5c3ba plugins: use to explicitely trust html 2013-10-13 14:33:09 -04:00
David Cormier 1e8d657608 Remove black foreground colors 2013-10-13 12:22:18 -04:00
David Cormier 14a40c1039 ui: scroll to bottom when receiving activeBufferChanged signal
Triggers the ui manipulation code when the rootScope receives the signal.
Supports multiple ways of changing the buffer (clicking, shortcuts, etc.)
without having to duplicate this code.
2013-10-12 16:09:02 -04:00
David Cormier fb0ce21fc5 models: add activeBufferChanged signal
When the active buffer is changed on the model, the model
now emits a signal on the rootScope
2013-10-12 16:07:46 -04:00
Tor Hveem 824e86774c Use non-browser specific code for scrolling 2013-10-12 21:16:40 +02:00
Tor Hveem fc8714b4d4 Fix bug with readmarker 2013-10-12 21:06:59 +02:00
Tor Hveem ee890222c5 implement last read marker 2013-10-12 21:06:59 +02:00
David Cormier 6271dc6577 shortcuts: implement switching buffer using ALT-number 2013-10-12 12:54:13 -04:00
David Cormier 5cf635bc70 Handle lineinfo with callback 2013-10-12 12:29:10 -04:00
David Cormier 9668b65f7a Add a doSendWithCallBack method
Hooks into the angularjs promise mecanism to send commands to the weechat
realy.
2013-10-12 12:16:46 -04:00
Tor Hveem 6e1ec22fe4 Add target=_blank on links again, it got lost in earlier merge 2013-10-12 17:23:04 +02:00
Tor Hveem 2f1e7834a3 Fix color parsing in prefix 2013-10-12 11:54:19 +02:00
David Cormier 8057c0639c Align nicks on the right. Fixes #19. 2013-10-11 20:37:11 -04:00
David Cormier f8bb1f4b78 Focus input bar on buffer change. Fixes #15 2013-10-11 19:50:27 -04:00
Tor Hveem c2bc034293 Always show current buffer in list 2013-10-11 23:47:47 +02:00
Tor Hveem d797f4a305 Merge remote-tracking branch 'upstream/master' 2013-10-11 23:41:03 +02:00
Tor Hveem 1609346668 Form control for number of lines to sync 2013-10-11 23:27:55 +02:00
Tor Hveem 5a8294b2cc Use separate form fields for host and port 2013-10-11 23:27:29 +02:00
Tor Hveem 0d7cfcf376 Fix problem with activity switch 2013-10-11 23:26:51 +02:00
Tor Hveem d5608fe7c1 Remove uneeded preventDefault 2013-10-11 23:26:51 +02:00
Tor Hveem 5ea276f648 Show content by default 2013-10-11 23:26:19 +02:00
Tor Hveem bfa4e9da2d Include sanitize library to get metadata content to work again 2013-10-11 23:26:19 +02:00
Tor Hveem 9a1bcf0cc0 Check for element before scrolling 2013-10-11 23:22:54 +02:00
Tor Hveem 2ee29923c1 Fix keys quirks for different browsers 2013-10-11 23:22:54 +02:00
Tor Hveem 5838824732 Revert color table change 2013-10-11 23:22:54 +02:00
Tor Hveem 70331559b3 Switch to first buffer on startup 2013-10-11 23:22:54 +02:00
Tor Hveem a686d7e398 implement alt-a and ctrl-g keybindings 2013-10-11 23:22:54 +02:00
Tor Hveem f1582b463b Implement searching and display buffers with unread lines only 2013-10-11 23:22:54 +02:00
Tor Hveem f666c0c9fe Implement a workaround to get scroll to bottom working again 2013-10-11 23:22:53 +02:00
Tor Hveem 482ee30bf5 Try to fix scroll issues 2013-10-11 23:22:53 +02:00
David Cormier aa92b29bcb Remove unused code 2013-10-10 15:39:35 -04:00
David Cormier c41c33f9ab Merge remote-tracking branch 'torhve/master' 2013-10-10 15:34:33 -04:00
Tor Hveem 21d19b5aac Fix the title change and rename events to use the new model 2013-10-10 12:37:25 +02:00
Tor Hveem 5ae3ca27ca Fix the metadata return value 2013-10-10 12:24:11 +02:00
Tor Hveem 8028070aaa Merge 2013-10-09 17:53:25 +02:00
David Cormier b4298a1b0c Remove unused code 2013-10-08 19:12:56 -04:00
David Cormier 51221d4a44 plugins: add documentation 2013-10-08 19:08:20 -04:00
David Cormier 7b701079f4 plugins: make PluginManager dependent of userPlugins and register them at runtime 2013-10-08 19:08:20 -04:00
David Cormier e457e96cd6 plugins: define plugins as Plugin objects 2013-10-08 19:08:20 -04:00
David Cormier cc2eda7057 plugins: create PluginManager service 2013-10-08 19:08:20 -04:00
David Cormier 1fd6e1b0b6 plugins: Create a plugins service with a Plugin definition 2013-10-08 19:08:17 -04:00
David Cormier 7db8e31a7f plugins: Move plugins to external module 2013-10-08 19:08:13 -04:00
Sébastien Bourdelin e3ef67d617 model.js: fix an error when parsing null string
Avoiding error when accessing a null string in map.
2013-10-08 11:37:25 -04:00
David Cormier c4697feede Put class definitions on top 2013-10-08 10:26:20 -04:00
David Cormier b1d7655776 Add documentation, remove spurious methods and junk 2013-10-08 10:26:06 -04:00
David Cormier 019f1ce585 Support close buffer 2013-10-08 10:13:48 -04:00
David Cormier 1404c04590 Support BufferOpened 2013-10-08 10:05:46 -04:00
David Cormier 02c57fef6d Remove isActiveBuffer function 2013-10-08 10:04:29 -04:00
David Cormier c0f22c4ec8 Add notification support 2013-10-08 10:03:44 -04:00
David Cormier 236a82ec4e Support text input 2013-10-08 09:55:07 -04:00
David Cormier 553f40e220 Add Buffer model 2013-10-07 21:17:19 -04:00
David Cormier ebecc5faae Move BufferLine to models 2013-10-07 21:17:15 -04:00
David Cormier c538d759b8 Add model module 2013-10-07 20:54:00 -04:00
Tor Hveem 0ba0ded728 Only request 20 lines 2013-10-07 16:59:47 +02:00
Tor Hveem 5032af8ab3 fix automatic scrolling 2013-10-07 16:59:42 +02:00
Tor Hveem 628961026b Add support for encryption 2013-10-07 15:38:47 +02:00
Tor Hveem 34b5d84d53 do not trigger unread for lines tagged with notify_none 2013-10-07 12:14:19 +02:00
Tor Hveem f7abb3448e use different badge color for highlight/notification 2013-10-07 12:04:28 +02:00
Tor Hveem 4fded85019 handle buffer rename, fix buffer title change 2013-10-07 11:45:18 +02:00
Tor Hveem 6a4593ef86 Fix the unread integer 2013-10-07 11:18:44 +02:00
Tor Hveem 599cf0733f Add unread counter to buffer nav 2013-10-07 01:56:26 +02:00
Tor Hveem befe6e9160 Use target blank on links so users dont navigate away from app 2013-10-07 00:59:40 +02:00
Tor Hveem 8c69511b5f Improve date handling 2013-10-07 00:41:32 +02:00
Tor Hveem 452fc3adfa handle buffer title changed 2013-10-07 00:24:18 +02:00
Tor Hveem 02d0c25c12 handle pagetitle, use better background color 2013-10-07 00:12:44 +02:00
Tor Hveem 2100fabf24 handle initial sync and no notification, use short_name 2013-10-06 23:59:34 +02:00
Tor Hveem 7230e7a3ee Sync initial lines 2013-10-06 20:20:34 +02:00
Tor Hveem 6455256b9e design improvements, and add time to each line 2013-10-06 19:15:34 +02:00
Tor Hveem 8520c7251a Support weechat extended colors, sort buffers 2013-10-06 13:42:45 +02:00
Tor Hveem e88c1084ca Add notification support 2013-10-06 12:34:41 +02:00