Commit graph

743 commits

Author SHA1 Message Date
pmelanson
643278478f IPv6 address literals won't be surrounded by [ ... ] if it's already there 2015-11-13 20:56:43 +00:00
Lorenz Hübschle-Schneider
a6c2e6f387 Insert URL at caret when dropping image into GB
unfortunately this pollutes the root scope a bit more
2015-11-10 19:40:30 +01:00
Magnus Hauge Bakke
3f661ded6c Support sending multiple images 2015-11-07 12:45:05 +01:00
Magnus Hauge Bakke
f2bb543796 Add support for dropping images on bufferlines and input form 2015-11-07 12:45:05 +01:00
Lorenz Hübschle-Schneider
3b4f91249f Convert indention to spaces 2015-11-07 12:45:04 +01:00
Magnus Hauge Bakke
f2953d1190 Add image upload progressbar and error msg 2015-11-07 12:44:22 +01:00
Lorenz Hübschle-Schneider
960d5ba17a Insert image URL into input bar 2015-11-07 12:44:22 +01:00
Magnus Hauge Bakke
aef26a2dc5 Add file input with button and send file to imgur 2015-11-07 12:44:22 +01:00
Magnus Hauge Bakke
f6bfa4161b Add imgur provider 2015-11-07 12:44:21 +01:00
Magnus Hauge Bakke
0d7d8e0cce Add directive for file input change 2015-11-07 12:29:53 +01:00
Tor Hveem
a02573a9c2 Construct plugin elements async. Fixes #660
This commit changes the plugins that uses angular.element to load
resources directly to instead return a function that runs
angular.element. When the browser runs angular.element('<img>') and gets
a src attr it will fetch the content in the src. This makes the
browser running gb automatically fetch all plugin content that gets
linked even if the user didn't request it.

Maybe we could change our plugin architecture to split the match
function and the generator functions so this could be solved more
elegantly.
2015-10-19 14:54:21 +02:00
Alex Schneider
1d628ed849 Remove comments that we don't really need 2015-10-17 16:23:48 -07:00
Alex Schneider
6dcb579de4 Fix sanitization by constructing elements in Javascript.
This is still technically a hack, the elements should really be defined in a view with templates, but it fixes the issue with sanitize where it can't sanitize if it can't parse HTML.
2015-10-17 16:15:42 -07:00
David Cormier
0afa7bc184 plugins: sanitize user input before passing it to plugins 2015-10-16 15:13:53 -04:00
Colin Arnott
2f8ab9dbf3 roll back tls upgrade for giphy plugin link, as it conflicts with printed link 2015-09-28 17:35:28 +00:00
Colin Arnott
875001f1b2 simplify regex matching and increase readability of the giphy plugin and have plugin link to original userfacing url, not cdn image file 2015-09-26 22:40:30 +00:00
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