Commit Graph

503 Commits

Author SHA1 Message Date
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