Commit Graph

534 Commits

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