Commit graph

877 commits

Author SHA1 Message Date
Colin Arnott
03a6e391f6 added plugin support for giphy gifs as embedded content and created testcases 2015-09-26 05:06:11 +00:00
Tor Hveem
9f6f70eb3e Merge pull request #644 from glowing-bear/url-hash
Add support for supplying credentials in the URL via the hash.
2015-09-17 09:10:55 +02:00
Tor Hveem
cf771eb73f Merge pull request #620 from glowing-bear/noswitch
Use -noswitch option to open buffers
2015-09-17 09:05:35 +02:00
Tor Hveem
1f37f848fc fix another version check 2015-09-17 08:59:38 +02:00
Tor Hveem
9659fa2efc Merge pull request #635 from angus-g/hidden-buffers
Handle hidden weechat buffers
2015-09-17 08:55:54 +02:00
AppleDash
fafed6a915 Add support for supplying credentials in the URL via the hash. 2015-09-11 09:10:05 +02:00
Lorenz Hübschle-Schneider
6ca1deb66d Always show server buffers in hierarchical view
Show them even if 'Only show buffers with unread messages' is set
2015-08-05 17:35:54 +02:00
Angus Gibson
117d9991ec Handle hidden weechat buffers
This adds a new 'hidden' field to the Buffer model, which stays in sync
with weechat's notion of hidden buffers.
2015-07-10 13:52:12 +10:00
Chris Moeller
c7a5d8decf Added a check for DOM 3 getModifierState before attempting to use it, as some browsers may not have implemented that spec yet (Like stable Safari) 2015-06-13 16:54:59 -07:00
Lorenz Hübschle-Schneider
ed44c6747f Merge pull request #625 from torhve/altgrfix
Check modifier state and don't trigger on any altgr event
2015-06-12 13:35:00 +02:00
Tor Hveem
e096284502 Check modifier state and don't trigger on any altgr event 2015-06-12 11:10:48 +02:00
Peter Elmers
febbb3ffdb Re-implement click to join functionality.
Clicking channel names to join broke because of angular issue 9515.
Reimplement the functionality by binding the scope.openBuffer method to
the window and calling it from an onclick handler for channel name
anchors.
2015-06-11 09:10:23 -07:00
Tor Hveem
1f89a0ef0b Use new version check 2015-06-10 10:04:10 +02:00
Lorenz Hübschle-Schneider
2626b5e936 openBuffer: send /join and /query with -noswitch parameter
this functionality is currently broken (#618) but this is a good idea nonetheless
2015-06-10 10:04:10 +02:00
Lorenz Hübschle-Schneider
8c965e0b90 Store WeeChat version is an array of numbers 2015-06-10 10:04:10 +02:00
Lorenz Hübschle-Schneider
cfad82ec3e Properly fix #622 by escaping input into DOM filters 2015-06-08 23:35:18 +02:00
Lorenz Hübschle-Schneider
bdb968d3af More strict escaping
Thanks, @nathan0!

Fixes #622
2015-06-08 22:19:11 +02:00
Lorenz Hübschle-Schneider
0f706c37fe settings: add a cache
From the comment:
This cache is important for two reasons. One, angular hits it up really often
(because it needs to check for changes and it's not very clever about it).
Two, it prevents weird type conversion issues that otherwise arise in
$store.parseValue (e.g. converting "123." to the number 123 even though it
actually was the beginning of an IP address that the user was in the
process of entering).
2015-05-21 21:08:17 +02:00
Tor Hveem
ec877ab224 Switch to buffer after issuing /query. Fixes #318
Save outgoing /query nicks to a list and then check that list when we
get a buffer title rename and then switch to the buffer if the name
matches any nick in the outgoing list. Reason to use title event instead
of buffer opened event is that buffer open event doesn't contain the
short name. That would require parsing and guessing full names and in
general be more complicated (but maybe more correct)

This patch can be further improved in the future to check for existing
buffers and switch to them if they already exist.
2015-04-23 10:47:16 +02:00
Tor Hveem
2fa229851b Move readmarker too when using new style 2015-04-18 12:11:13 +02:00
Tor Hveem
d0cabde132 Send more types of clearing only when using new style 2015-04-18 12:11:13 +02:00
Tor Hveem
5099357a8a Better disconnect responsiveness
Instead of waiting for the websocket to really close, which can take a
long time because network latency, weechat inresponsiveness etc, we just
set our status to disconnected when user wants to disconnect, and we let
the websocket handle the close in its own time in the background.

If the user wants to reconnect this means there will be a new websocket
connection before the old one has failed, but this works just fine.
2015-03-27 10:22:42 +01:00
Tor Hveem
9b2a527cb7 Limit prefix parts to at most 25 chars 2015-03-26 14:41:19 +01:00
Tor Hveem
97b937f015 Use correct pointer string 2015-03-26 13:45:53 +01:00
Lorenz Hübschle-Schneider
78b33798c6 Fix commands for buffers whose fullname contain whitespace
Use pointers if Weechat version is recent enough (1.0+).
Otherwise, not marking stuff as read is probably the lesser evil than crashing weechat...
2015-03-26 11:03:50 +01:00
Johan Stenehall
5643df2292 Add notification and unread count to topbar
Conflicts:
	css/glowingbear.css
2015-03-24 23:27:29 +01:00
Tor Hveem
a1fc84f592 fix nick completion on nicks with special chars 2015-03-24 12:57:57 +01:00
Lorenz Hübschle-Schneider
2be08c57d2 Merge pull request #570 from glowing-bear/emojione-fixes
Emojione fixes
2015-03-23 16:04:06 +01:00
Tor Hveem
36ae273460 check that emojione is defined before usage 2015-03-23 15:09:02 +01:00
Tor Hveem
9432004c5e Clear hotlist in more scenarios
* Clear when switching away from a buffer
 * Clear when sending a message to a buffer
2015-03-23 13:33:16 +01:00
Tor Hveem
feaf76f1ea move hotlistclear into connection
Also some clean up stray debug
2015-03-23 13:33:16 +01:00
Lorenz Hübschle-Schneider
399b3af9f4 Merge pull request #566 from glowing-bear/emojione
Twemoji => Emojione
2015-03-22 13:14:48 +01:00
Tor Hveem
99ccd551b6 Enable by default, except on mobile. Convert by default. 2015-03-22 13:11:39 +01:00
Lorenz Hübschle-Schneider
dc46a9b22a Don't embed content by default
This can be quite slow on buffer switch, especially when gists / tweets are embedded
2015-03-22 12:41:17 +01:00
Tor Hveem
f042f729e1 switch from twitter's emoji lib to emojione 2015-03-21 16:43:46 +01:00
Tor Hveem
c71ce1b404 Use new command for "syncing" hotlist.
This patch also implements parsing version message and using that to
check that the WeeChat is new enough to use the new command.
2015-03-21 14:08:09 +01:00
Lorenz Hübschle-Schneider
2d3c2c11bb Load theme without angular to reduce flicker
Initialising with dark theme prevents flicker
2015-03-21 12:56:30 +01:00
Lorenz Hübschle-Schneider
be8ab42b7c Make MathJax a setting and load it only if enabled 2015-03-21 12:45:45 +01:00
Lorenz Hübschle-Schneider
5740c647d6 Basic MathJax hackery 2015-03-21 12:45:45 +01:00
Lorenz Hübschle-Schneider
6af6d34a4f Dynamically load twemoji if required 2015-03-21 12:27:20 +01:00
Tor Hveem
cf27b11df3 fixes for reconnect feature
Reinitalise models, and more apply state
2015-03-15 23:58:18 +01:00
Tor Hveem
7029511029 Style the reconnect banner, clean up apply usage 2015-03-14 21:16:45 +01:00
Tor Hveem
ca5542e46d Handle signal _buffer_localvar_changed
Our parser already supports this message, we just were not hooking the
signal up with the parser.
2015-03-14 21:16:45 +01:00
Tor Hveem
99f396b652 Check that nicklist exists before updating. 2015-03-14 21:16:45 +01:00
Tor Hveem
ff480cd0c6 fix problem with activating saving of password 2015-03-14 21:16:45 +01:00
Tor Hveem
ed18a250fb save defaults to $store 2015-03-14 21:16:45 +01:00
Lorenz Hübschle-Schneider
de69f820fe Save emojify preference in settings
This fixes a bug where the preference would not be saved
2015-03-14 21:16:44 +01:00
David Cormier
b6260e7cc7 plugins: add html5 video support
Shows ogv, mp4 and webm files inside a video tag
2015-03-14 21:16:44 +01:00
Lorenz Hübschle-Schneider
849da1b5a2 Implement reconnecting upon connection loss
TODO: test in various conditions
2015-02-17 09:42:48 +01:00
Vivien Didelot
c4bddc993d Revert "Check GET parameters in image embedding"
There's no need to check for every GET parameters (using the line ending
'$' character), we can just add a word boundary (the '\b' character)
instead. Thus, revert commit b939bc7ca8.
2015-02-13 09:05:45 +01:00
David Cormier
e45c2be59f Merge pull request #547 from glowing-bear/rewrite-with-urlplugin
Overhaul plugins
2015-02-12 16:24:42 -05:00
Lorenz Hübschle-Schneider
c57911db64 Restructure plugin constructors to make them more convenient 2015-02-08 21:48:31 +01:00
Lorenz Hübschle-Schneider
07d60f96c3 Fix automatic embedding of asynchronous plugins (jsonp)
Closes #540
2015-02-08 11:50:49 +01:00
Lorenz Hübschle-Schneider
4b65847b46 Rewrite youtube plugin with urlPlugin
Remove URL without protocol from tests
2015-02-08 11:23:32 +01:00
Lorenz Hübschle-Schneider
beaa3426dd Rewrite vine plugin with urlPlugin 2015-02-08 11:17:06 +01:00
Lorenz Hübschle-Schneider
18c0db6c4f Fix Asciinema plugin 2015-02-08 11:16:55 +01:00
Lorenz Hübschle-Schneider
d9c230ac44 Include settings.js in minification process; fix strict DI 2015-02-04 22:56:46 +01:00
Lorenz Hübschle-Schneider
54bb9dad13 Add default settings again 2015-02-04 19:57:43 +01:00
Lorenz Hübschle-Schneider
be6e356363 Settings module 2015-02-04 19:56:56 +01:00
Lorenz Hübschle-Schneider
48582cff3f Fix number parsing in localStorage 2015-02-04 19:51:49 +01:00
Lorenz Hübschle-Schneider
c422c2df4d localStorage: remove dysfunctional fallback 2015-02-04 19:51:49 +01:00
Lorenz Hübschle-Schneider
51e5817cbd Fix debug mode
manipulating window.location.search isn't reliable
2015-02-04 19:51:49 +01:00
Vivien Didelot
ab260cb5a7 plugins: add Vine support
This commit adds support for Vine embeddable content.
2015-01-30 19:13:17 -05:00
David Cormier
e56acbc923 Merge pull request #528 from glowing-bear/add-filter-tests
Add some basic tests for filters
2015-01-24 12:32:46 -05:00
Vivien Didelot
b365272aa6 plugins: (image) support :size suffix
Some images URL (such as Twitter hosting site twimg.com) are suffixed
with :size where size can be small, medium or large.
2015-01-14 10:38:25 -05:00
Tor Hveem
638a4595c7 Merge pull request #530 from glowing-bear/twemoji
Adds emoji support using Twitter's twemoji
2015-01-13 13:58:06 +01:00
Tor Hveem
63c7e10832 Merge pull request #496 from glowing-bear/colourise-title
Parse colours in buffer title
2015-01-13 13:54:52 +01:00
Lorenz Hübschle-Schneider
d709c8fd93 Cancel all outstanding notifications when disconnecting / navigating away
Fixes #296
2015-01-03 18:46:36 +01:00
Lorenz Hübschle-Schneider
f125c43ccb Adds emoji support using Twitter's twemoji 2015-01-03 18:29:59 +01:00
Lorenz Hübschle-Schneider
1d4caa91cd Parse colours in buffer title
Requires a WeeChat version including 013165209a
i.e., WeeChat 1.1 or a November 2014 nightly (or later)
(for previous versions, see https://github.com/weechat/weechat/issues/237)

Fixes #308
2015-01-03 18:18:20 +01:00
Lorenz Hübschle-Schneider
de730a4505 Add some basic tests for filters 2015-01-03 11:20:04 -05:00
David Cormier
8eda79e2f3 Merge pull request #527 from glowing-bear/inline-colour-rgb
Add inline colour support for rgb(12,34,56) / rgba(1,2,3,0.4) colours
2015-01-03 10:41:04 -05:00
Lorenz Hübschle-Schneider
0c20484b5a Add inline colour support for rgb(12,34,56) / rgba(1,2,3,0.4) colours
Also improve the regexes
2014-12-30 21:06:17 +01:00
Lorenz Hübschle-Schneider
8a740b765a Fix DOMfilter when replacing multiple occasions
Previously, it would sometimes forget things at the end
2014-12-30 20:23:32 +01:00
Lorenz Hübschle-Schneider
1478b611da Properly escape HTML entities in irclinky filter
Fixes #525
2014-12-30 18:22:20 +01:00
Lorenz Hübschle-Schneider
82fc20ed0d Allow % and ~ in front of channel names as well (irclinky)
Those are IRC modifiers, we want /whois output to be clickable
2014-12-20 20:10:33 +01:00
Lorenz Hübschle-Schneider
d783d0e91b Fix display of buffers without a short_name 2014-11-20 21:18:18 +01:00
Lorenz Hübschle-Schneider
9b7a778186 Fix non-#channels and single-symbol channels (#) 2014-11-20 12:59:33 +01:00
Lorenz Hübschle-Schneider
1f601e56c8 Fix linkification target
The target attribute was passed to the wrong filter
2014-11-06 16:31:31 +01:00
Tor Hveem
09fa14da19 Merge pull request #501 from glowing-bear/more-filter-fixes
Fix conflicts between URL/email and irc channel linkification
2014-11-06 14:40:24 +01:00
Lorenz Hübschle-Schneider
4a41e32fef Ask before sending /quit 2014-11-06 14:21:40 +01:00
Lorenz Hübschle-Schneider
0bc7571217 Fix conflicts between URL/email and irc channel linkification
URL/email links take priority over IRC channel links with this filter order.
2014-11-06 13:55:33 +01:00
Lorenz Hübschle-Schneider
cd124cf5ff Fix escaping in regex parsing buffer fullName 2014-11-02 19:10:45 +01:00
Lorenz Hübschle-Schneider
79ebead64f Disable debug data in Angular unless debug mode is enabled
Performaaance!
2014-10-31 10:07:41 +01:00
Tor Hveem
84c425cb41 Merge pull request #484 from ailin-nemui/scrolling-poll2
[Please test] some scrolling updates via polling
2014-10-28 01:31:35 +01:00
Tor Hveem
1dc32fd847 Merge pull request #483 from glowing-bear/key-overlays
Show quick access keys on Alt keypress
2014-10-28 01:24:11 +01:00
Lorenz Hübschle-Schneider
d95abdd0df Fix inline colour filter by applying to text nodes only
this requires traversing the line's DOM and manipulating things there
2014-10-27 21:54:38 +01:00
Lorenz Hübschle-Schneider
336c8d5a5c Merge pull request #490 from ailin-nemui/pgup-fetch-lines
make pageup key trigger fetch more lines
2014-10-26 22:12:53 +01:00
Ailin Nemui
85ef764faf make pageup key trigger fetch more lines 2014-10-26 21:10:53 +01:00
Ailin Nemui
4e2a5dbe88 fix $apply exception on showSidebar 2014-10-26 21:09:15 +01:00
Ailin Nemui
0b15e2f74f some scrolling updates 2014-10-24 12:26:21 +02:00
Lorenz Hübschle-Schneider
80b0d2ca6a Quick keys disappear only after releasing alt key
Other changes:
- 0.2s delay so they don't appear when pressing Alt+A etc
- don't appear when other modifier keys are pressed
2014-10-20 12:30:30 +02:00
Ailin Nemui
9827710736 Support narrowing buffer selection with Alt+0-9 after using Alt+g or when onlyUnread is enabled, and show numeric overlays for Alt+0-9 keys on the buffers 2014-10-20 11:45:56 +02:00
Lorenz Hübschle-Schneider
10dde0e7d9 Merge pull request #434 from glowing-bear/design-light-theme
Design light theme
2014-10-18 20:55:07 +02:00
David Cormier
bda4e1af3e light-theme: darken most colors by 50% and add it to theme manager 2014-10-18 14:42:45 -04:00
David Cormier
7fa1b7cc9d Create dark theme by extracting theme settings from glowingbear.css
* Remove style.css as those values should be themable as well.
* Update urls in index.html to link to dark theme by default
2014-10-18 14:42:41 -04:00
Lorenz Hübschle-Schneider
66b48d83fb Fix clicking the bear on mobile
closes #469
2014-10-16 16:32:53 +02:00
Lorenz Hübschle-Schneider
4fd5ceadb2 Don't automatically show NSFW content
Fixes #472
2014-10-16 15:50:36 +02:00
Kenneth Chung
fdc598c00f fix a typo and some grammar mistakes 2014-10-14 22:21:22 -07:00
Lorenz Hübschle-Schneider
bc037720bd Fix plugin selectors after angular upgrade
The recent angular update changed the format of the hash keys.
They're now in the format 'object:123' (etc), which isn't a valid
CSS class name any more, but we used the $$hashKey as such.

I used this opportunity to introduce a bit of abstraction there as well
2014-09-28 21:01:13 +02:00
Lorenz Hübschle-Schneider
68adfb6cc2 Hotfix irclinky filter: only #channels
&channels match HTML-escaped special chars like " m(
2014-09-28 20:45:29 +02:00
David Cormier
1ce94f47e4 Merge pull request #463 from glowing-bear/fix-unicode-irclinky
Fix linkification of IRC channels
2014-09-27 18:02:24 -04:00
Lorenz Hübschle-Schneider
de6ea98c72 Rerun async plugins after buffer switch
TODO: cache result. This is necessary at the moment because currently,
they just stop working after a buffer switch
2014-09-25 18:00:54 +02:00
Lorenz Hübschle-Schneider
565ee16990 Fix linkification of IRC channels
Closes #451
2014-09-25 17:26:18 +02:00
Ailin Nemui
081c141760 apply-exception in inputbar/bufferFilter.focus 2014-09-21 22:20:37 +02:00
David Cormier
933af6a983 Merge pull request #420 from glowing-bear/use-strict
[PLS TEST] Use strict
2014-09-17 09:44:32 -04:00
Lorenz Hübschle-Schneider
2475ad2c61 Bufferlist design attempt 2014-09-17 13:24:27 +02:00
Tor Hveem
a87dc569aa Merge pull request #445 from ailin-nemui/up-down-pgup-pgdn
add pgup/pgdn keys and fix history in multiline edits
2014-09-17 12:30:05 +02:00
Tor Hveem
376c006398 Merge pull request #448 from glowing-bear/fix-scrolling-fetchMoreLines
Scroll to correct position when fetching more lines
2014-09-17 11:48:35 +02:00
Ailin Nemui
5e9fd27c89 embedded content: check if scrollIntoViewIfNeeded vendor method is available 2014-09-15 17:35:17 +02:00
Lorenz Hübschle-Schneider
121c165a39 Scroll to correct position when fetching more lines
Fixes #406
2014-09-13 18:25:12 +01:00
Lorenz Hübschle-Schneider
c6e1bca78d Keep core buffer visible with 'only show unread' 2014-09-13 17:39:29 +01:00
Lorenz Hübschle-Schneider
a80db339f8 Use strict
Requires turning IrcUtils into an Angular service, because the global variable
trick won't work with use strict.
Reuse is still easily possible by removing the angular wrapping around it.
2014-09-07 16:55:18 +01:00
David Cormier
8758cad336 Merge pull request #442 from glowing-bear/fix-line-fetching-after-switch
Re-enable "fetch more lines" after trimming lines on buffer switch
2014-09-05 16:45:11 -04:00
Ailin Nemui
a63150e697 add pgup/pgdn keys and fix history in multiline edits 2014-09-05 18:18:05 +02:00
Ailin Nemui
156640c3ba Properly Show and hide the sidebar on mobile layout when using Alt+g 2014-09-05 18:10:12 +02:00
Lorenz Hübschle-Schneider
c501215bae Re-enable "fetch more lines" after trimming lines on buffer switch
Fixes #404
2014-09-04 22:37:46 +01:00
David Cormier
658e876643 fixup font-family and font-size setting glitches
Replace fontSize placeholder by default value. Placeholders should be used
as suggestions, not effective values.

Remove spurious default value for fontFamily (it is defined right below)
2014-09-01 09:37:17 -04:00
David Cormier
9438c3844f Ask confirmation before closing if user has unsent input 2014-08-31 11:14:56 -04:00
David Cormier
24f63be25c When closing the window, disconnect instead of asking the user to do it 2014-08-31 11:12:09 -04:00
Lorenz Hübschle-Schneider
21f8f47efe Split things up into logical blocks 2014-08-31 15:57:36 +01:00
Lorenz Hübschle-Schneider
0c2e7635ed Fix Alt+[0-9] buffer access order
WeeChat sends them in no particular order, we need to sort the buffers by
their WeeChat number. To avoid copying the potentially very large buffer
objects around needlessly, extract the relevant keys and sort, then access.

This is based on ad50220bfd
2014-08-31 14:57:16 +01:00
Lorenz Hübschle-Schneider
226068152f Hotfix strict injection to undo terrible breakage 2014-08-27 18:47:58 +01:00
Lorenz Hübschle-Schneider
69e1e1907d Use strict angular dependency injection
Prerequisite for proper minification
2014-08-27 17:28:01 +01:00
Lorenz Hübschle-Schneider
9501b9f3d3 Fix history keybindings for keypress
because ASCII != keydown code in JS m(
2014-08-26 12:44:34 +01:00
Lorenz Hübschle-Schneider
6f1f84aa62 Prevent triggering ng-focus on input during completion
$apply during another $apply is not possible, and .focus() on the input node
triggers the ng-focus on it (which hides the sidebar, if on mobile), so to
prevent the exception from being thrown, move the input node focusing
out of the $apply with a timeout of 0.
2014-08-24 18:13:24 +01:00
David Cormier
26a5a03435 Merge pull request #418 from glowing-bear/kill-the-watchers
[PLS TEST] Don't watch for changes on existing lines, s/bindonce/angular one-time binding/
2014-08-23 18:18:24 -04:00
Lorenz Hübschle-Schneider
4cdf86ed14 Remove bindonce for Angular 1.3 One-Time Bindings 2014-08-23 12:26:04 +01:00
Lorenz Hübschle-Schneider
2cb6b05498 Wrap inlinecolour filter in $sce.trustAsHtml
This is required because bo-html is unsafe whereas ng-bind-html requires
"safe" HTML (ng-bind-html-unsafe is deprecated since 1.2)
2014-08-23 12:25:26 +01:00
Lorenz Hübschle-Schneider
b939bc7ca8 Check GET parameters in image embedding
This is a great candidate for the tests!
2014-08-18 16:41:30 +01:00
Lorenz Hübschle-Schneider
1235a5e148 Embed Dropbox images
We need to pass a parameter, "?dl=1", to get the actual file
2014-08-18 16:37:45 +01:00
Lorenz Hübschle-Schneider
ae5f0effcf Auto-close keyboard when opening sidebar (bufferlist)
This is for mobile
2014-08-13 09:22:41 +01:00
Lorenz Hübschle-Schneider
f7aa7a0871 Hide sidebar when focusing input bar
This is for mobile
2014-08-13 08:39:32 +01:00
Lorenz Hübschle-Schneider
7d13f49dab Add tweet embedding plugin 2014-08-09 14:18:13 +01:00
Lorenz Hübschle-Schneider
6d988069c7 Add asynchronous GitHub Gist embedding plugin
requires a few selectors to be more precise in our CSS
2014-08-09 14:18:13 +01:00
Lorenz Hübschle-Schneider
3d719f3671 Simplify plugins that detect URLs by eliminating redundancy 2014-08-09 14:18:13 +01:00
Lorenz Hübschle-Schneider
703fcb1668 Add support for asynchronous / lazy plugins
Fixes #253
2014-08-09 14:18:13 +01:00
Lorenz Hübschle-Schneider
0de5511544 Default to using SSL if the page is using it as well 2014-08-07 18:02:39 +01:00
David Cormier
12a8726407 Merge pull request #382 from glowing-bear/fixautoconnect
Prevent autoconnect from connecting twice
2014-08-01 15:57:24 -04:00
David Cormier
770616cf93 Merge pull request #389 from glowing-bear/fix-history-exception
Fix an exception when pressing up-arrow in a buffer without history
2014-07-31 09:26:12 -04:00
Lorenz Hübschle-Schneider
cd4b5c8abe Display HTML colour codes inline 2014-07-31 14:20:42 +01:00
Lorenz Hübschle-Schneider
57ce4e252a Fix an exception when pressing up-arrow in a buffer without history 2014-07-31 14:10:18 +01:00
Lorenz Hübschle-Schneider
88424279c7 Prevent autoconnect from connecting twice
once from the watcher, once from the autoconnect call.
-> remove the autoconnect call, it is not needed
2014-07-28 10:02:43 +01:00
Lorenz Hübschle-Schneider
ccf7b1c51e Adapt common plugins to make use of multiple embeds per message 2014-07-27 12:55:25 +01:00
Lorenz Hübschle-Schneider
e962472414 Fix Google maps regex 2014-07-27 12:55:25 +01:00
Lorenz Hübschle-Schneider
ac31901d7d Allow plugins to return an array of results and display each of them
Also fix the URL regex to match multiple URLs ('g' modifier)
2014-07-27 12:55:22 +01:00
David Cormier
04efb16424 Rename rootScope.visible -> rootScope.auto_display_embedded_content
More verbose but more descriptive
2014-07-26 09:38:24 -04:00
David Cormier
ceb31c1947 contentForMessage doesn't have to care about content visibility 2014-07-26 09:38:24 -04:00
David Cormier
d2a30c1d13 Plugin visibility defaults to value of rootScope.visible
And plugin content is shown if it has to be visible
2014-07-26 09:38:24 -04:00
Lorenz Hübschle-Schneider
dc1ce08800 Merge pull request #384 from glowing-bear/default-font
Make sure that a favourite font is always set when using Glowing Bear.
2014-07-26 13:44:38 +01:00
David Cormier
7ee237cf3a Merge pull request #381 from glowing-bear/fix-esc
Properly iterate over modals in ESC key handler
2014-07-25 16:52:09 -04:00
David Cormier
9b55244f13 Set and bind font-family if unset
Default for desktop is monospace and default for mobile
is sans-serif
2014-07-25 09:43:03 -04:00
David Cormier
7c5a396171 Rename 'monospace' class to 'favorite-font' 2014-07-24 21:36:56 -04:00
Lorenz Hübschle-Schneider
bea1cf6923 Properly iterate over modals in ESC key handler
the old way included attributes like 'length' and would raise an
exception, causing disconnection via double-esc to fail
2014-07-23 19:33:39 +01:00
Lorenz Hübschle-Schneider
fec3c57da3 Don't hide the sidebar when "swiping" with the mouse on desktop 2014-07-23 19:16:48 +01:00
David Cormier
013cc03380 Merge pull request #349 from glowing-bear/dejquery
[PLEASE TEST] Remove dependency on jQuery
2014-07-21 16:18:57 -04:00
Tor Hveem
8a15690557 Merge pull request #377 from glowing-bear/historystash
Move current line into history when pressing down in input bar
2014-07-21 16:43:09 +02:00
Tor Hveem
f95a84a93d Merge pull request #376 from glowing-bear/readline
fix keybindings relying on caretPos
2014-07-21 16:42:13 +02:00
Lorenz Hübschle-Schneider
0984a2f8b4 Make readline/emacs keybindings a setting
Also fix some labels while we're at it
2014-07-21 15:38:28 +01:00
Lorenz Hübschle-Schneider
edb34144c7 Move current line into history when pressing down in input bar 2014-07-21 15:35:53 +01:00
Tor Hveem
a5c68a8053 fix keybindings relying on caretPos 2014-07-21 15:55:50 +02:00
Tor Hveem
065d8a240d New feature: Automatically connect
Check if user saved password, and then offer to automatically connect.
Use a angular watch on the autoconnect and connect as soon as user
selects it.

Check for error messages so it doesn't try to reconnect if there is
errors.
2014-07-20 14:32:53 +02:00
Lorenz Hübschle-Schneider
c9e3c1a55c Close modal with escape key 2014-07-20 11:48:51 +01:00
Tor Hveem
4081b18ed2 Add some emacs keybindings. Fixes #371
Add the most commonly used emacs/readline keybindings to input field and
document them.
Also change the wording on some of the old descritions to clarify
intent.
2014-07-20 12:21:46 +02:00
Lorenz Hübschle-Schneider
15bb4a21d9 Remove now-obsolete toggle prevention function 2014-07-19 15:05:15 +01:00
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