Commit graph

880 commits

Author SHA1 Message Date
kurros dfffbeec46 optimize what gets passed to emojione.unicodeToImage 2016-01-02 12:14:48 -05:00
Lorenz Hübschle-Schneider 407f9111ad Update Angular to 1.4.x series (1.4.8)
Angular now has a .$$watchersCount property, which makes our watcher
counting function unnecessary.

Also add sha384 emojione SRI hash
2015-12-27 19:42:51 +01:00
Lorenz Hübschle-Schneider 01d0891a2d Themes: Add black theme for AMOLED displays, fix theme selector background in dark theme
Deprecates / closes #671
2015-12-26 11:47:09 +01:00
Lorenz Hübschle-Schneider d06219102c Merge pull request #718 from torhve/serviceworker
Implement click handler for the notification
2015-12-22 16:26:08 +01:00
Lorenz Hübschle-Schneider d8a1beb4db Fix missing argument in notification showing 2015-12-22 15:49:09 +01:00
Lorenz Hübschle-Schneider 688c6f1ee5 Merge pull request #714 from torhve/infscroll
Implement infinite scrolling
2015-12-22 14:25:33 +01:00
Tor Hveem 1565c0e72d less vibrations 2015-12-22 14:03:30 +01:00
Tor Hveem 9985e91a69 use service workers for notifications
If Service Workers are available use them to display notifications
instead of the old way of creating notifications directly.

This has the side effect that it works nicely on chrome on android which
the old method does not.

This also paves the way to set up GCM for push notification in the
future which can give us push notifications without having the app running.

This patch can be improved in the future to get existing notifications
and change the message instead of just adding more and more
notifications.

See: ServiceWorkerRegistration.getNotifications() and
ServiceWorkerRegistration.update() from
https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration
2015-12-20 15:10:44 +01:00
Tor Hveem df36d56fa7 Implement infinite scrolling
I't not perfect but it's a start.
2015-12-19 19:45:33 +01:00
Tor Hveem 31ba8db33d Fix problem with saving of sound notify 2015-12-18 13:48:51 +01:00
Lorenz Hübschle-Schneider 8b045049ce Merge pull request #710 from glowing-bear/weechatconf
fetch weechat configuration variables
2015-12-18 10:05:19 +01:00
Tor Hveem c9dbdc39e4 fetch weechat configuration variables
Usage: fetchConfValue('weechat.look.buffer_time_format')
will result in models.wconfig['weechat.look.buffer_time_format'] to be
set when the result returns from WeeChat.

Could maybe be extended to also call a callback when it's available if
needed.
2015-12-17 17:46:43 +01:00
Tor Hveem e1102522ac weechat.js: implement infolist 2015-12-17 17:17:16 +01:00
Patrick Melanson 86f6a37702 semicolons :'( :'( :'( fixes failing build 2015-12-17 10:57:21 -05:00
Patrick Melanson e3f2a160b9 #700 increment buffer.lastSeen on date change message 2015-12-17 10:47:48 -05:00
Tor Hveem 68a766af0a Fix for password error
The old error handler wasn't really working for unknown reasons, but
this seems to fix it.
2015-12-16 14:01:38 +01:00
Tor Hveem 5494fefbcb use spinner for connect/reconnect/fetchmorelines 2015-12-14 16:02:49 +01:00
Lorenz Hübschle-Schneider ceceac78a2 Use buffer localvars instead of regex hackery
Fixes #589
2015-12-06 13:53:57 +01:00
Mukunda Modell 3b60f992b4 Switch to adjacent buffer with alt+arrow
Use alt+up and alt+down to switch to previous / next buffer.
Works when bufferlist is nested or flat.

This implements issue #511.
2015-12-04 08:43:48 -06:00
Hannu Hartikainen b0f4ee4413 fix #688 and provide a unit test 2015-12-01 21:31:12 +02:00
Tor Hveem e63877ad41 Merge pull request #685 from glowing-bear/date-change-fixes
Date change fixes
2015-11-29 17:01:40 +01:00
Lorenz Hübschle-Schneider a631a913c7 Fix initialisation of global unread count
Fixes #595
2015-11-28 21:25:06 +01:00
Lorenz Hübschle-Schneider 507a39f68f Don't show date change message for free buffers
This requires requesting the buffer type and handling the
apropriate event
2015-11-28 20:59:00 +01:00
Lorenz Hübschle-Schneider 735798831f Date change marker: Don't modify last line's date 2015-11-28 20:56:19 +01:00
Lorenz Hübschle-Schneider f5422e14f4 Merge pull request #681 from dancek/domfilter-nested-links
disallow nested links in DOMfilter (fixes #680)
2015-11-28 16:14:38 +01:00
Hannu Hartikainen d1176a5b2b disallow nested links in DOMfilter (fixes #680) 2015-11-28 17:04:57 +02:00
Tor Hveem 134ac86743 Merge pull request #678 from glowing-bear/date-change
Add date change markers
2015-11-28 13:50:19 +01:00
Lorenz Hübschle-Schneider da7a7f85e8 Date change: refactoring 2015-11-28 13:23:41 +01:00
Tor Hveem 4f686d512d Request nicklist using ptr instead of fullname 2015-11-28 12:29:38 +01:00
Patrick Melanson 9334f44cde more human readable date change, per #679
For one day later: Friday (November 27) (examples in en-US)
For n>1 days: Friday (November 27, 2 days later)
For n<0 days: Friday (November 27, 1 day before)
For different years: Friday (November 27, 2015, 2156 days later)
2015-11-27 15:13:26 -05:00
Patrick Melanson 271a5d0626 when switching buffers, will inject date change if date changed 2015-11-27 15:13:01 -05:00
Lorenz Hübschle-Schneider 5dc40cb134 Date change: prettier messages, code cleaning
Has a weird bug:
https://github.com/glowing-bear/glowing-bear/pull/677#issuecomment-158891237
2015-11-23 10:59:00 +01:00
Patrick Melanson 9955056ed9 dates change with weechat 2date behaviour 2015-11-22 21:02:10 -05:00
Patrick Melanson 0a1726e359 date change messages are chat_day_change color, multiple messages generated for diff of 1-5 days 2015-11-20 18:31:55 -05:00
Lorenz Hübschle-Schneider b883a52b09 Date change message prototype 2015-11-15 21:50:29 +01:00
Lorenz Hübschle-Schneider b327123f48 Merge pull request #670 from pmelanson/653-check-before-brackets-around-ipv6
IPv6 address literals won't be surrounded by [ ... ] if it's already there
2015-11-14 09:35:10 +01:00
hormigas b5594d5754 adding imgur gifv support to the videoPlugin 2015-11-13 21:38:32 +00:00
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
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 &quot; 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