Commit graph

73 commits

Author SHA1 Message Date
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
David Cormier
d8c4ba78c1 plugins: add html5 video support
Shows ogv, mp4 and webm files inside a video tag
2015-02-17 09:48:18 +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
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
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
Vivien Didelot
ab260cb5a7 plugins: add Vine support
This commit adds support for Vine embeddable content.
2015-01-30 19:13:17 -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
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
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
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
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
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
ceb31c1947 contentForMessage doesn't have to care about content visibility 2014-07-26 09:38:24 -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
86f4c7308b Image plugin: case insensitive regex
Fixes #305
2014-05-21 17:45:49 +01:00
Lorenz Hübschle-Schneider
9f46e656cb Improve youtube matching URL
closes #266
2014-04-25 18:39:01 -04:00
Felix Eckhofer
cd6ee96ae7 Use https for dailymotion 2014-04-04 20:43:13 +02:00
Lorenz Hübschle-Schneider
3c1bdfeb71 Improve plugin regular expressions, load imgur over https if enabled 2014-03-05 15:53:13 +00: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
David Cormier
fb5a477b73 Implement asciinema plugin
Close #66
2014-02-23 10:04:14 -05:00
Lorenz H-S
5ad01dac81 embed youtube over SSL 2014-01-09 21:45:00 +00: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
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
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
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
Vivien Didelot
15e267a9ee plugins: add AlloCine support 2013-10-23 09:44:21 -04:00
Vivien Didelot
98ad8d152d plugins: add Dailymotion support 2013-10-22 10:48:05 -04:00
Tor Hveem
453a8d5ef3 Make images clickable so you can get full size 2013-10-19 13:10:35 +02:00