Commit graph

879 commits

Author SHA1 Message Date
David Cormier
6814379bdb Merge pull request #154 from torhve/better-string-decoding
Decode and encode array directly without for loop
2014-02-18 09:56:06 -05:00
creesch
abefa7430a Implement swiping for mobile devices 2014-02-18 14:40:02 +01:00
Tor Hveem
b379d50351 Decode and encode array directly without for loop 2014-02-18 13:25:03 +01:00
David Cormier
27690ada58 Work around a WeeChat protocol inconvenience
Until WeeChat sends a confirmation for init we have to assume
that the commands will be received synchronously even though
they are sent asynchronously
2014-02-17 21:46:00 -05:00
David Cormier
ba20a79c72 Send init commands when connection is successful
Initialization commands are sent when we are sure that
the password has been accepted and that the init has been
processed by the weechat relay
2014-02-17 21:19:34 -05:00
David Cormier
8c386f7553 Create helper functions for initialization methods 2014-02-17 21:15:10 -05:00
David Cormier
3a5dfd5e94 Collapse sidebar with css selector
Fixes #152
2014-02-17 20:49:49 -05:00
Lorenz Hübschle-Schneider
c490e33898 IRC linky: don't match HTML encoded chars (), >, etc.) 2014-02-17 20:08:55 +00:00
David Cormier
4e5f239980 Merge pull request #144 from lorenzhs/linkify
Linkify IRC channels
2014-02-17 10:24:00 -05:00
Lorenz Hübschle-Schneider
c1760e5433 Fix JS coding style
TODO: rebase this as a fixup. I don't think the github web interface supports that.
2014-02-17 12:37:14 +00:00
Lorenz Hübschle-Schneider
1a5b36b6f7 switchToActivityBuffer: Prioritise notifications
If there is a buffer with a notification, go there. Otherwise, go to one with unread lines.
2014-02-17 12:31:23 +00:00
Lorenz Hübschle-Schneider
93f40c64e9 Fix embed DOM classes
Classes, IDs and Names in the DOM have to begin with a letter. The $$hashKey
however might not, so prefix it with embed_. This also makes the classes more
unique, which is a good thing. Additionally, don't scroll on undefined should that
ever happen.

Fixes #45
2014-02-16 16:55:27 -05:00
Lorenz Hübschle-Schneider
2e963da581 Don't use jQuery, simplify 2014-02-16 16:55:27 -05:00
Lorenz Hübschle-Schneider
e48fe29cf8 Automatically scroll plugins into view 2014-02-16 16:55:27 -05:00
Lorenz Hübschle-Schneider
eaf5adf467 Linkify IRC channels
Make '#foo' in a message or buffer title clickable, taking the user to the IRC
channel specified, joining it if necessary.
2014-02-16 14:10:56 +00:00
Lorenz Hübschle-Schneider
f70f399741 remove unnecessary use of jQuery 2014-02-15 11:39:11 -05:00
Lorenz Hübschle-Schneider
f018876987 Fix botched merge 2014-02-14 16:40:44 +00:00
David Cormier
36049447cd Fix jshint errors 2014-02-14 09:32:30 -05:00
Tor Hveem
0f44465faa Better connection / password error handling 2014-02-14 09:16:40 -05:00
David Cormier
e68e7dd01d websockets: add support for user specified onmessage 2014-02-14 09:09:09 -05:00
Lorenz Hübschle-Schneider
f8f25107de Fix read marker and scrolling behaviour
* don't always jump to the bottom on incoming messages
* don't fiddle with the read marker when loading more lines
2014-02-11 21:45:57 +00:00
Lorenz Hübschle-Schneider
7c2403e7a1 Scrolling: Do not use webkit-specific function to scroll readmarker into view
Sorry for that.
2014-02-11 20:40:25 +00:00
Lorenz Hübschle-Schneider
8068be8de2 Remove setting and calculate number of lines from display properties 2014-02-10 20:18:44 +00:00
Lorenz Hübschle-Schneider
56055d61c8 Make the code a little prettier 2014-02-10 20:18:40 +00:00
Lorenz Hübschle-Schneider
40716ca649 Fix issue with incorrect read marker on startup 2014-02-10 20:15:50 +00:00
Lorenz Hübschle-Schneider
7764fc6910 Dynamically load lines for each buffer on startup
Add setting for number of lines to fetch initally.

TODO: styling
2014-02-10 20:15:50 +00:00
Lorenz Hübschle-Schneider
5a90e2e830 Fix scrolling issue and reduce the number of scrolling events on startup
Don't trigger scrolling on each line when batch loading lines
2014-02-10 20:15:50 +00:00
Lorenz Hübschle-Schneider
32bcb1c943 Fetch more lines on request 2014-02-10 20:15:50 +00:00
Lorenz Hübschle-Schneider
6b31a3e59a Reset favico on unloading. Should resolve bookmark favicon issue.
See https://github.com/ejci/favico.js/issues/23 for detail
2014-02-10 19:26:30 +00:00
David Cormier
0107dabb2d Fix jshint errors 2014-02-09 19:40:25 -05:00
David Cormier
81054f06bd Move specific weechat websocket manipulation in glowingbear.js 2014-02-09 19:40:25 -05:00
David Cormier
a49ce938ea Add comments to websocket handlers 2014-02-09 19:40:25 -05:00
David Cormier
1da061fec2 Rename conn module to ngWebsockets 2014-02-09 19:40:25 -05:00
David Cormier
1b1b97c448 Remove unnecessary onmessage function 2014-02-09 19:40:25 -05:00
David Cormier
eddffd6e63 Remove spurious dependencies from connection 2014-02-09 19:40:25 -05:00
David Cormier
d4a4f1bd7f Create websockets module 2014-02-09 19:40:10 -05:00
Lorenz H-S
7d386f04c2 Use strict comparison operators 2014-02-08 13:20:33 +00:00
Lorenz H-S
0cd4f04740 improve spacing and other syntactical stuff 2014-02-08 13:14:23 +00:00
David Cormier
f4ee683100 Only retrieve plugin content when 'Show Content' is pressed 2014-02-06 21:21:49 -05:00
David Cormier
6b12926887 Move plugin to it's own directive 2014-02-06 21:00:07 -05:00
David Cormier
6605a49f7c Rename websockets.js to glowingbear.js 2014-02-06 20:39:58 -05:00
David Cormier
991e870304 Merge pull request #126 from torhve/fix-scrolling
Fix a scrolling bug with chrome
2014-02-05 09:26:51 -05:00
Tor Hveem
e4bbb64b4a Sort buffers by number before switching to buffer with activity. This
better resembles how weechat works
2014-02-05 09:11:55 -05:00
David Cormier
4753ef92a7 Merge pull request #111 from lorenzhs/fixComment
Fix comment so my completion doesn't suggest rootscope instead of rootScope
2014-02-05 09:08:00 -05:00
Tor Hveem
e96ae165b2 Fix a scrolling bug with chrome 2014-02-05 11:20:16 +01:00
David Cormier
38ac95c863 Merge pull request #122 from lorenzhs/fixfavico
Fix Favico
2014-02-02 06:40:24 -08:00
Lorenz H-S
cbd5d145dc Fix Favico
Use one favico instance which is dynamically modified
This uses a feature that is not yet part of the latest favico.js release, and needs
a fix that isn't even merged yet. Both are included in commit
8e624ba7f0
2014-02-02 13:00:17 +00:00
Lorenz H-S
f0fe8be18a Do channel indendation in CSS.
Fixes the issue with new query buffers' titles not being shown.

Doesn't introduce any new watchers
2014-02-02 11:26:43 +00:00
David Cormier
1bf6f98bde Add missing () to constructor 2014-01-27 11:14:48 -05:00
Tor Hveem
3879e07e46 Fix Favico 2014-01-22 11:32:08 +01:00
Tor Hveem
f9ba30f102 Collapsable sidebar for mobile sized screens 2014-01-22 11:08:07 +01:00
David Cormier
51e01ec6d4 Add missing semicolons 2014-01-22 11:08:07 +01:00
Tor Hveem
0bd443715a Remove autofocus since it is very mobile unfriendly 2014-01-22 11:08:06 +01:00
Lorenz H-S
5ad01dac81 embed youtube over SSL 2014-01-09 21:45:00 +00:00
David Cormier
ce37e66a15 Merge pull request #109 from lorenzhs/scrolling
Improve scrolling
2014-01-07 10:42:33 -08:00
David Cormier
222419cdcc Merge pull request #113 from lorenzhs/reduceWatchers
Reduce number of watchers
2014-01-06 10:32:41 -08:00
Lorenz H-S
b88b046222 Bind bufferlist only once where possible 2013-12-28 16:58:32 +01:00
Lorenz H-S
f38c4b020e Fix scrolling behaviour for good (?) 2013-12-28 16:50:31 +01:00
Lorenz H-S
9b89341b74 Fix comment so my completion doesn't suggest rootscope instead of rootScope 2013-12-26 18:35:03 +01:00
Lorenz H-S
fe0c070a6c Only scroll when at the bottom of the buffer
I think this behaviour is a lot more natural. Because it no longer "scrolls to bottom", I also renamed it.
2013-12-23 22:34:21 +01:00
Tor Hveem
797be76c95 try to improve scrolling experience 2013-12-23 22:33:20 +01:00
Lorenz H-S
836edf917d Making compression optional was a stupid idea. Revert.
Instead, add a parameter to the connect function that allows disabling compression.
2013-12-20 16:10:58 +00:00
Lorenz H-S
d1e6bd6698 Add UI support for compression 2013-12-20 13:31:37 +00:00
Lorenz H-S
bf6e92fc24 Implement support for compression (not enabled yet) 2013-12-20 13:31:31 +00:00
Lorenz H-S
f67ac87057 Move dependencies to a different folder
fixes build :)
2013-12-19 16:45:29 +00:00
David Cormier
e51932aaa5 Revert "Remove files no longer needed due to use of Bower"
This reverts commit 6ef681f722.
2013-12-19 10:36:48 -05: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
b23fb71d1d Use strict comparators 2013-12-17 15:36:54 -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
David Cormier
cbf6bd9920 Use dot notation in models 2013-12-17 15:29:05 -05:00
David Cormier
09616a34c4 Merge pull request #96 from lorenzhs/bower
Remove files no longer needed due to use of Bower
2013-12-17 11:48:53 -08:00
Lorenz H-S
6ef681f722 Remove files no longer needed due to use of Bower 2013-12-17 19:46:46 +00:00
Lorenz H-S
da748f911b Keep message/command history for each channel
* Can be navigated with up/down arrow keys
* Currently entered text is preserved when going into history
* When choosing a history entry, previously entered but not submitted text will be restored to input buffer

Closes #75
2013-12-17 19:37:45 +00:00
Lorenz H-S
2cf47c6161 Visually highlight highlights 2013-12-17 14:37:22 +00:00
David Cormier
887092eb4b Remove unused variables and __proto__ inheritance 2013-12-17 08:44:24 -05:00
David Cormier
27dbb1fc83 Remove global variables 2013-12-17 08:44:24 -05:00
David Cormier
d5366c9918 Use strict equals 2013-12-17 08:44:24 -05:00
David Cormier
6d526f7e42 Use not notation for objects 2013-12-17 08:43:22 -05:00
David Cormier
8e83786f72 Add missing semicolons 2013-12-17 08:43:22 -05:00
David Cormier
6562ce22b4 apply jshint on weechat 2013-12-17 08:43:21 -05:00
David Cormier
a78f49c0fc Add bindonce and remove 50% of the watchers in the buffers 2013-12-16 11:40:53 -05:00
David Cormier
c88576fad2 Add button to count watcher and debug mode
Performance issues are mainly caused by spurious angularjs watchers.
This debug mode provides a button to display the number of registered
watchers in the console.
2013-12-16 11:17:47 -05:00
David Cormier
f85b7110da New buffers are always active 2013-12-14 12:53:35 -05:00
Lorenz H-S
9368f2480d Open query when clicking nick in the sidebar 2013-12-14 15:40:05 +00:00
David Cormier
706b5838a1 Return the angular promise on sendMessage 2013-12-14 10:32:14 -05:00
Lorenz H-S
f129460426 initalise lastread marker to last line initially fetched from server 2013-12-13 23:59:51 +00:00
Lorenz H-S
78121ff3a6 Add possibility to order channels hierarchically by server 2013-12-08 21:29:48 +00:00
Lorenz H-S
c4d29a7eb0 Fix ordering of channels
As channels aren't added right away (but as soon as the info was
received from the server), somehow the orderBy didn't do its job.
2013-12-08 20:42:30 +00:00
David Cormier
c03dc77e49 Split initialization commands
Initialization commands are sent individually. Improves connection
speed.
2013-11-09 16:52:26 -05:00
David Cormier
026881a29c Revert "Split messages with newline into multiple messages"
This reverts commit 6dd35fa890.

The commit breaks support for chrome.
2013-11-09 12:40:27 -05:00
Tor Hveem
6dd35fa890 Split messages with newline into multiple messages 2013-11-02 17:43:45 +01:00
Tor Hveem
70abe58afe New keyboard shortcut alt-n: toggle nicklist 2013-10-29 12:50:02 +01:00
Tor Hveem
3c01ad1b68 Fix bug with switching to core buffer when buffer is closed 2013-10-29 12:34:16 +01: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
69200c7854 Prevent user from accidentally leaving the page 2013-10-28 13:55:46 +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
David Cormier
59206770e2 Isolate the nick completion in the inputbar's scope 2013-10-27 17:56:39 -04:00
David Cormier
03cb90c036 Move completeNick method to inputBar directive 2013-10-27 17:56:37 -04:00
David Cormier
ef24986431 Move inputbar related events to inputbar directive 2013-10-27 17:56:08 -04:00
David Cormier
fcfe8ba4be Create inputbar directive 2013-10-27 17:54:51 -04:00
David Cormier
6055e699ff Modifies angular model instead of dom element
fixes #74
2013-10-27 16:31:37 -04:00
David Cormier
84cc93fbb0 Initialize angularjs routing module 2013-10-27 15:49:51 -04:00
David Cormier
1f455c813a Callback ids cycle from 0 to 1000 2013-10-27 15:41:45 -04:00
David Cormier
51abcc6953 Document messager methods 2013-10-27 12:26:16 -04:00
David Cormier
75e8c87f09 Group all messaging commands 2013-10-27 12:13:10 -04:00
David Cormier
8167b25c36 Remove doSend
Replace calls to doSend with calls to send
2013-10-27 12:07:01 -04:00
David Cormier
0f503fa521 Rename doSendAllWithCallback to sendAll 2013-10-27 12:05:49 -04:00
David Cormier
0c3496f798 Rename doSendWithCallback to send 2013-10-27 12:05:37 -04:00
David Cormier
a3ea312773 doSend always doSendWithCallback
The goal of this change is to provide only one way of sending
messages. By default, a callback will always be returned, and
the caller will decide if it needs to use it.
2013-10-27 12:03:45 -04:00
David Cormier
8c51ab18d3 Send all init commands in batch 2013-10-27 11:47:25 -04:00
David Cormier
ec4956a379 Implement doSendAllWithCallback
doSendAllWithCallback sends all the messages of the list
and returns a promise that is resolved when all the individual
promises are resolved.

Useful for avoiding long chains of .then().then().then() ..
2013-10-27 11:30:37 -04:00
David Cormier
02f51ad0df Split creating the defer and returning the promise 2013-10-27 11:30:37 -04:00
David Cormier
335ec46fc6 Wrong password test with failure callback 2013-10-27 11:30:37 -04:00
David Cormier
d6ceadb1be Fail all callbacks disconnection / error
Callback promises are resolved when their answer is received
If the websocket disconnects or fails before receives its answer,
it's promise is rejected.
2013-10-27 11:30:29 -04:00
Tor Hveem
4596c129f1 support extended colors in nicklist 2013-10-27 11:04:43 +01:00
Tor Hveem
e8e44d85ce Maintained cached flatnicklist, maintain shownicklist cached value for
template
2013-10-27 10:50:18 +01:00
Philippe Proulx
a415a3ec3c No need to sort the flat nick list for completion
... because the completion function sorts it another way anyway.
2013-10-27 05:06:02 -04:00
Philippe Proulx
2101e52131 Add Escape and Alt+L keyboard shortcuts
* Escape: disconnect
  * Alt+L: focus on input bar
2013-10-27 04:57:56 -04:00
Philippe Proulx
0f1bde187a Support colors in nick list 2013-10-27 04:49:59 -04:00
Philippe Proulx
8ec37d68e2 Support case insensitive nick completion 2013-10-27 04:08:18 -04:00
Philippe Proulx
1eee866347 Do not handle keypress when not connected 2013-10-27 04:08:17 -04:00
Philippe Proulx
5f2a4386f7 Support custom suffix for nick completion 2013-10-27 04:08:16 -04:00
Philippe Proulx
ca47fba200 Nick completion support for end user
Closes #24
2013-10-27 04:07:12 -04:00
Philippe Proulx
782b659474 Prevent default action for Ctrl+G
Ctrl+G is used in Chrome/Chromium, at least, to find the next match
(just like F3).
2013-10-27 04:07:11 -04:00
Philippe Proulx
92dc4736ea Switch between buffers with left Alt key only
Right Alt key, which is the same as Ctrl+left Alt, is used in several
keymaps to input special characters, like right Alt+2 in Canadian
French to input '@'. Do not switch between buffers when using right
Alt.

Fixes #67
2013-10-27 04:06:32 -04:00
Philippe Proulx
0da6014711 Swallow space after caret if needed (middle completion) 2013-10-26 19:07:04 -04:00
Philippe Proulx
a918923852 Implement IRC nick completion uility 2013-10-26 18:44:48 -04:00
Tor Hveem
902f344d25 move logic into models, attempt at sorting 2013-10-27 00:26:17 +02:00
Tor Hveem
348940bee0 fix + - and * operations of nicklist_diff 2013-10-26 23:40:00 +02:00
Tor Hveem
1a451fd705 Improve hiding/showing nicklist 2013-10-26 23:17:32 +02:00
Tor Hveem
a06916f63e Better styles for nicklist, implement UI for hiding 2013-10-26 22:56:52 +02:00
Tor Hveem
404f8c8cba Implement nicklist 2013-10-26 22:19:13 +02:00
Tor Hveem
66963d8329 Style chat time. Hide lines with repeated time 2013-10-26 20:07:21 +02:00
Philippe Proulx
ddf491e8f0 Reduce attribute names length 2013-10-26 13:54:51 -04:00
Philippe Proulx
647e8c5af1 weechat.js: support 1/2/3/4 attributes too 2013-10-26 13:50:53 -04:00
Philippe Proulx
c7a0ab0715 Fix comment following FlashCode's update of doc 2013-10-26 05:17:12 -04:00
Philippe Proulx
439734a49b Optimize style attributes overriding 2013-10-26 04:49:37 -04:00
Philippe Proulx
9772da0095 Implement full support of WeeChat text styling 2013-10-26 04:30:35 -04:00
Tor Hveem
c9f7e9a732 Make scrolling into the bufferlines div, not the whole window
This should improve scrolling experience, especially on webkit.
It also is needed for when nicklist will appear
2013-10-25 22:19:23 +02:00
Tor Hveem
d3aa1d768d Only store password if user requests it. 2013-10-25 13:45:29 +02:00
Tor Hveem
09798fed53 Remove old code 2013-10-25 13:45:29 +02:00
Tor Hveem
f1eddd3022 fix so opera/IE dont bug out on Notification 2013-10-25 13:45:29 +02:00
Tor Hveem
0d963f2fd8 Use CDN for underscore also 2013-10-25 13:45:29 +02:00
Tor Hveem
eda2bf9597 Check for Notification support 2013-10-25 13:45:29 +02:00
Vivien Didelot
15e267a9ee plugins: add AlloCine support 2013-10-23 09:44:21 -04:00
Tor Hveem
dbb2bcb8f9 Fix notify level 2013-10-23 15:29:28 +02:00
Tor Hveem
a505c146f2 Trying to improve scrolling. Still not elegant 2013-10-22 19:58:12 +02:00
Tor Hveem
6b3ab23dcc Remove angular from repository since we use CDN 2013-10-22 19:26:36 +02:00
Vivien Didelot
98ad8d152d plugins: add Dailymotion support 2013-10-22 10:48:05 -04:00
Vivien Didelot
3720ef686e Merge Tor's 'torhve/ffapp' work
This branch adds App support for both Chrome and Firefox.
The reference was https://github.com/torhve/glowing-bear/tree/ffapp
2013-10-22 10:35:51 -04:00
Tor Hveem
1d6f44cedd Add a TODO for future 2013-10-22 16:09:22 +02:00
Tor Hveem
fdb253a972 Clear search term after switching buffer 2013-10-22 14:24:09 +02:00
Tor Hveem
641faa4df3 App support for firefox 2013-10-21 15:51:05 +02:00
Philippe Proulx
2e421f8361 websocket.js: fix a few obvious indentations 2013-10-19 14:11:01 -04:00
Philippe Proulx
1e66b16da9 Fix: do not handle empty hotlist message 2013-10-19 14:07:08 -04:00
Tor Hveem
453a8d5ef3 Make images clickable so you can get full size 2013-10-19 13:10:35 +02:00
Tor Hveem
5712a55620 New option to sync hotlist with weechat. Fixes #56 2013-10-19 12:14:32 +02:00
Vivien Didelot
10480843c2 plugins: add Google Maps support 2013-10-18 17:32:39 -04:00
Vivien Didelot
4eddc8bf57 plugins: add SoundCloud and MixCloud support 2013-10-18 11:13:36 -04:00
Tor Hveem
5923093071 New plugin: spotify 2013-10-18 16:47:53 +02:00
Tor Hveem
45a0d0cd21 Fix bug with onlyUnread and buffer with notifications without unread
messages
2013-10-18 15:59:46 +02:00
Tor Hveem
33ee9bd951 fix bug with new buffers and notify level 2013-10-18 15:58:26 +02:00
Sebastien Bourdelin
d6de5805a2 Handle wrong password. Fixes #4.
This commit introduces a way to handle wrong password.

The only way to know it is by sending an other message after the init
one.
If we receive an answer to this second message id then we know we are
connected with the good password, otherwise we will received an onclose
event from the websocket.
2013-10-17 18:54:20 -04:00
Vivien Didelot
55b720466b plugins: (image) support fukung.net
Links to http://fukung.net/v/foobar.gif end by the actual image
extensions, but the full image path is under
http://media.fukung.net/imgs/foobar.gif.

This commit replace the URL prefix if it matches fukung.net/v/.
2013-10-17 18:25:01 -04:00
Vivien Didelot
ea65c5dc44 plugins: (youtube) make video preview slicker 2013-10-17 16:52:26 -04:00
Tor Hveem
fba78d490e Support more URLs for youtube and request html5 player to improve
performance of embedding
2013-10-17 13:36:54 +02:00
Tor Hveem
f4b5cdfbc9 keyHandler for buffer searching 2013-10-17 13:13:01 +02:00
Tor Hveem
3a52840111 New setting for hiding timestamps 2013-10-17 10:50:29 +02:00
Tor Hveem
f5088d54b0 first try instant scrolling, then delayed 2013-10-16 23:59:27 +02:00
Tor Hveem
0222dc1026 Only search buffer name 2013-10-16 23:29:51 +02:00
Tor Hveem
27b277ee6b Bugfix last commit, check for undefined 2013-10-16 23:29:51 +02:00
Tor Hveem
0c2ffab3b9 Searching now works with onlyUnread activated 2013-10-16 23:29:51 +02:00
eirikb
8602f9d477 Replace weechat-protocol.js with weechat.js from https://github.com/eirikb/weechat.js 2013-10-16 23:10:49 +02:00
Tor Hveem
0c26449e8e story onlyUnread setting in localStorage 2013-10-16 15:45:38 +02:00
Tor Hveem
70ff24bd10 add a disconnect button 2013-10-16 14:44:44 +02:00
Tor Hveem
ce22e44534 Use point icon for ng-click 2013-10-16 14:25:07 +02:00
Tor Hveem
cfa7823d39 Fix the parsing of basic colors 2013-10-16 13:39:17 +02:00
Tor Hveem
53d9f51d0c Request hotlist from weechat and sync unread and lastSeen 2013-10-16 01:09:31 +02:00
Tor Hveem
830c486af0 Regard the weechat buffer notify level 2013-10-16 00:32:56 +02:00
Tor Hveem
3a1fb161a7 Remove uneeded parseInt 2013-10-15 19:08:24 +02:00
Tor Hveem
b2174db197 Remove URLplugin, replace URLs inline with a hrefs 2013-10-15 18:58:00 +02:00
Tor Hveem
5ed02a5e54 Change lineinfo into async promise 2013-10-15 17:20:35 +02:00
Tor Hveem
dd77529cba remove old bufinfo handler 2013-10-15 16:57:40 +02:00
Tor Hveem
a9d469867a Add Favio.js support. Fixes #28 2013-10-15 15:21:13 +02:00
Tor Hveem
2617dadb65 Simplify/clean up the unread and notification code 2013-10-15 14:59:06 +02:00
Tor Hveem
a9dcc68af2 Instead of using buffer.notification as a boolean, save number of
notifications into the variable. And when displaying unread messages
display unread notifications if any and if not then display number of
unreads.
2013-10-15 14:31:41 +02:00
Vivien Didelot
8fea1c072e plugins: (url) do not return the whole message 2013-10-14 15:18:00 -04:00
Vivien Didelot
97da1928de plugins: match /nsfw/i tag anywhere in the message
Sometimes you may have trailing whitespace or put this tag at the
beginning of the line.

Ref: #27
2013-10-14 12:01:25 -04:00
David Cormier
2377253676 plugins: fix imagePlugin 2013-10-13 15:14:43 -04:00
David Cormier
741416cb79 plugins: provide names for plugins 2013-10-13 15:00:00 -04:00
David Cormier
b2ee67707b plugins: let plugins name their content 2013-10-13 14:57:54 -04:00
David Cormier
3f56c80f56 plugins: warn the user that content may not be safe for work 2013-10-13 14:49:38 -04:00
David Cormier
a1123ddad0 plugins: automatically hide lines that ends with nsfw 2013-10-13 14:44:37 -04:00
David Cormier
1f7cb5c3ba plugins: use to explicitely trust html 2013-10-13 14:33:09 -04:00
David Cormier
1e8d657608 Remove black foreground colors 2013-10-13 12:22:18 -04:00
David Cormier
14a40c1039 ui: scroll to bottom when receiving activeBufferChanged signal
Triggers the ui manipulation code when the rootScope receives the signal.
Supports multiple ways of changing the buffer (clicking, shortcuts, etc.)
without having to duplicate this code.
2013-10-12 16:09:02 -04:00
David Cormier
fb0ce21fc5 models: add activeBufferChanged signal
When the active buffer is changed on the model, the model
now emits a signal on the rootScope
2013-10-12 16:07:46 -04:00
Tor Hveem
824e86774c Use non-browser specific code for scrolling 2013-10-12 21:16:40 +02:00
Tor Hveem
fc8714b4d4 Fix bug with readmarker 2013-10-12 21:06:59 +02:00
Tor Hveem
ee890222c5 implement last read marker 2013-10-12 21:06:59 +02:00
David Cormier
6271dc6577 shortcuts: implement switching buffer using ALT-number 2013-10-12 12:54:13 -04:00
David Cormier
5cf635bc70 Handle lineinfo with callback 2013-10-12 12:29:10 -04:00
David Cormier
9668b65f7a Add a doSendWithCallBack method
Hooks into the angularjs promise mecanism to send commands to the weechat
realy.
2013-10-12 12:16:46 -04:00
Tor Hveem
6e1ec22fe4 Add target=_blank on links again, it got lost in earlier merge 2013-10-12 17:23:04 +02:00
Tor Hveem
2f1e7834a3 Fix color parsing in prefix 2013-10-12 11:54:19 +02:00
David Cormier
8057c0639c Align nicks on the right. Fixes #19. 2013-10-11 20:37:11 -04:00
David Cormier
f8bb1f4b78 Focus input bar on buffer change. Fixes #15 2013-10-11 19:50:27 -04:00
Tor Hveem
c2bc034293 Always show current buffer in list 2013-10-11 23:47:47 +02:00
Tor Hveem
d797f4a305 Merge remote-tracking branch 'upstream/master' 2013-10-11 23:41:03 +02:00
Tor Hveem
1609346668 Form control for number of lines to sync 2013-10-11 23:27:55 +02:00
Tor Hveem
5a8294b2cc Use separate form fields for host and port 2013-10-11 23:27:29 +02:00
Tor Hveem
0d7cfcf376 Fix problem with activity switch 2013-10-11 23:26:51 +02:00
Tor Hveem
d5608fe7c1 Remove uneeded preventDefault 2013-10-11 23:26:51 +02:00
Tor Hveem
5ea276f648 Show content by default 2013-10-11 23:26:19 +02:00
Tor Hveem
bfa4e9da2d Include sanitize library to get metadata content to work again 2013-10-11 23:26:19 +02:00
Tor Hveem
9a1bcf0cc0 Check for element before scrolling 2013-10-11 23:22:54 +02:00
Tor Hveem
2ee29923c1 Fix keys quirks for different browsers 2013-10-11 23:22:54 +02:00
Tor Hveem
5838824732 Revert color table change 2013-10-11 23:22:54 +02:00
Tor Hveem
70331559b3 Switch to first buffer on startup 2013-10-11 23:22:54 +02:00
Tor Hveem
a686d7e398 implement alt-a and ctrl-g keybindings 2013-10-11 23:22:54 +02:00
Tor Hveem
f1582b463b Implement searching and display buffers with unread lines only 2013-10-11 23:22:54 +02:00
Tor Hveem
f666c0c9fe Implement a workaround to get scroll to bottom working again 2013-10-11 23:22:53 +02:00
Tor Hveem
482ee30bf5 Try to fix scroll issues 2013-10-11 23:22:53 +02:00
David Cormier
aa92b29bcb Remove unused code 2013-10-10 15:39:35 -04:00
David Cormier
c41c33f9ab Merge remote-tracking branch 'torhve/master' 2013-10-10 15:34:33 -04:00
Tor Hveem
21d19b5aac Fix the title change and rename events to use the new model 2013-10-10 12:37:25 +02:00
Tor Hveem
5ae3ca27ca Fix the metadata return value 2013-10-10 12:24:11 +02:00
Tor Hveem
8028070aaa Merge 2013-10-09 17:53:25 +02:00
David Cormier
b4298a1b0c Remove unused code 2013-10-08 19:12:56 -04:00
David Cormier
51221d4a44 plugins: add documentation 2013-10-08 19:08:20 -04:00
David Cormier
7b701079f4 plugins: make PluginManager dependent of userPlugins and register them at runtime 2013-10-08 19:08:20 -04:00
David Cormier
e457e96cd6 plugins: define plugins as Plugin objects 2013-10-08 19:08:20 -04:00
David Cormier
cc2eda7057 plugins: create PluginManager service 2013-10-08 19:08:20 -04:00
David Cormier
1fd6e1b0b6 plugins: Create a plugins service with a Plugin definition 2013-10-08 19:08:17 -04:00
David Cormier
7db8e31a7f plugins: Move plugins to external module 2013-10-08 19:08:13 -04:00
Sébastien Bourdelin
e3ef67d617 model.js: fix an error when parsing null string
Avoiding error when accessing a null string in map.
2013-10-08 11:37:25 -04:00
David Cormier
c4697feede Put class definitions on top 2013-10-08 10:26:20 -04:00
David Cormier
b1d7655776 Add documentation, remove spurious methods and junk 2013-10-08 10:26:06 -04:00
David Cormier
019f1ce585 Support close buffer 2013-10-08 10:13:48 -04:00
David Cormier
1404c04590 Support BufferOpened 2013-10-08 10:05:46 -04:00
David Cormier
02c57fef6d Remove isActiveBuffer function 2013-10-08 10:04:29 -04:00
David Cormier
c0f22c4ec8 Add notification support 2013-10-08 10:03:44 -04:00
David Cormier
236a82ec4e Support text input 2013-10-08 09:55:07 -04:00
David Cormier
553f40e220 Add Buffer model 2013-10-07 21:17:19 -04:00
David Cormier
ebecc5faae Move BufferLine to models 2013-10-07 21:17:15 -04:00
David Cormier
c538d759b8 Add model module 2013-10-07 20:54:00 -04:00
Tor Hveem
0ba0ded728 Only request 20 lines 2013-10-07 16:59:47 +02:00
Tor Hveem
5032af8ab3 fix automatic scrolling 2013-10-07 16:59:42 +02:00
Tor Hveem
628961026b Add support for encryption 2013-10-07 15:38:47 +02:00
Tor Hveem
34b5d84d53 do not trigger unread for lines tagged with notify_none 2013-10-07 12:14:19 +02:00
Tor Hveem
f7abb3448e use different badge color for highlight/notification 2013-10-07 12:04:28 +02:00
Tor Hveem
4fded85019 handle buffer rename, fix buffer title change 2013-10-07 11:45:18 +02:00
Tor Hveem
6a4593ef86 Fix the unread integer 2013-10-07 11:18:44 +02:00
Tor Hveem
599cf0733f Add unread counter to buffer nav 2013-10-07 01:56:26 +02:00
Tor Hveem
befe6e9160 Use target blank on links so users dont navigate away from app 2013-10-07 00:59:40 +02:00
Tor Hveem
8c69511b5f Improve date handling 2013-10-07 00:41:32 +02:00
Tor Hveem
452fc3adfa handle buffer title changed 2013-10-07 00:24:18 +02:00
Tor Hveem
02d0c25c12 handle pagetitle, use better background color 2013-10-07 00:12:44 +02:00
Tor Hveem
2100fabf24 handle initial sync and no notification, use short_name 2013-10-06 23:59:34 +02:00
Tor Hveem
7230e7a3ee Sync initial lines 2013-10-06 20:20:34 +02:00
Tor Hveem
6455256b9e design improvements, and add time to each line 2013-10-06 19:15:34 +02:00
Tor Hveem
8520c7251a Support weechat extended colors, sort buffers 2013-10-06 13:42:45 +02:00
Tor Hveem
e88c1084ca Add notification support 2013-10-06 12:34:41 +02:00
Philippe Proulx
d332635a4e Fix message time display 2013-10-06 00:17:13 -04:00
Philippe Proulx
8a07be5aef weechat-protocol.js: factor common commands formatting code 2013-10-05 21:52:01 -04:00
Philippe Proulx
7780a66264 weechat-protocol.js: file header: mention command formatting 2013-10-05 20:09:59 -04:00
Philippe Proulx
e8ae26d50e Strip trailing slashes 2013-10-05 20:06:28 -04:00
Philippe Proulx
4f07d6048f weechat-protocol.js: add comments to formatting functions 2013-10-05 20:05:57 -04:00
Philippe Proulx
257b4f01cf weechat-protocol.js: add command formatting helper functions 2013-10-05 19:54:07 -04:00
Philippe Proulx
bd4bfe0cb3 weechat-protocol.js: fix hash table parsing 2013-10-05 19:28:54 -04:00
Philippe Proulx
187f22036b weechat-protocol.js: stricter slicing and type checking 2013-10-05 19:10:03 -04:00
Philippe Proulx
f05fb72aaa weechat-protocol.js: comment object and methods 2013-10-05 18:30:16 -04:00
Philippe Proulx
74192c3df4 weechat-protocol.js: implement hash table parsing 2013-10-05 16:42:44 -04:00
Philippe Proulx
de163d6bc9 weechat-protocol.js: add time parsing and factor "number as string" code 2013-10-05 15:58:34 -04:00
Philippe Proulx
fef3e7542a weechat-protocol.js: move getSlice() 2013-10-05 15:32:32 -04:00
Philippe Proulx
0c02cae6a9 weechat-protocol.js: clean _uia2s() 2013-10-05 15:29:18 -04:00
Philippe Proulx
df7d21f63f weechat-protocol.js: use pointer instead of slicing
I don't know if this changes anything to performance, but my instinct
tells me that it's better to update a pointer within a big array to get
slices than creating a new slice each time.

Perhaps the JS engine is clever enough to not create a copy each time
and only update its internal references of the array bounds, but just
in case...
2013-10-05 15:20:42 -04:00
Philippe Proulx
c12f56c614 weechat-protocol.js: uniformize code 2013-10-05 15:10:57 -04:00
Philippe Proulx
7011f8f6b9 weechat-protocol.js: put similar methods nearby 2013-10-05 15:07:49 -04:00
Philippe Proulx
f2b44a4e6b weechat-protocol.js: prepend _ to private methods names 2013-10-05 15:06:30 -04:00
Philippe Proulx
5a14c1a412 weechat-protocol.js: uiatos -> uia2s 2013-10-05 15:03:36 -04:00
Philippe Proulx
3a9ccc4098 weechat-protocol.js: refactor with prototype 2013-10-05 15:01:51 -04:00
Philippe Proulx
9bdcb814ab weechat-protocol.js: clean code (indentation/trailing spaces) 2013-10-05 14:24:36 -04:00
Philippe Proulx
a7f3412b5d protocol.js -> weechat-protocol.js
This makes it more clear that this script's code parses the WeeChat
protocol specifically.
2013-10-05 14:23:18 -04:00
David Cormier
07d09e9aa6 Show timestamp before message 2013-10-05 12:05:38 -04:00
David Cormier
8adbcc1176 Add BufferLine model 2013-10-05 11:57:46 -04:00
David Cormier
e874912e7c Merge pull request #11 from torhve/master
Save the connection paramaters into localStorage

using @agrublev's localStorage module
2013-10-05 08:28:38 -07:00
Tor Hveem
6949f919a1 Save the connection paramaters into localStorage
using a simple angular module for localstorage

Note: it also saves the password into localStorage, this
should be further improved to present a simple checkbox to the user
asking if they want to save the password or not
2013-10-05 16:05:16 +02:00
David Cormier
d468d1f0d6 Put the initialization in one string
Fixes #5, thanks to @torhve
2013-10-05 09:57:45 -04:00
David Cormier
345dc70f7a Support weechat colors 2013-10-04 14:19:37 -04:00
David Cormier
b409bd5e37 Set the background black 2013-10-04 14:19:37 -04:00
Tristan Matthews
1a66d18537 js: allow plugins to declare themselves as exclusive handlers 2013-10-04 08:44:46 -04:00
Tristan Matthews
5168b833cb urlplugin: fix regex 2013-10-04 08:44:46 -04:00
David Cormier
ab490074d3 Add connection error message
fixes #3
2013-10-02 19:55:30 -04:00
Vivien Didelot
862e44ab57 js: add image plugin 2013-10-01 20:54:01 -04:00
David Cormier
4743d3d15a Handle _buffer_closed event 2013-10-01 20:32:45 -04:00
David Cormier
38a960788c Take bootstrap from the CDN 2013-10-01 20:32:32 -04:00
Tristan Matthews
90c874dbde js: added url plugin 2013-10-01 20:03:05 -04:00
David Cormier
951abf878b Always have an activeBuffer 2013-10-01 19:12:29 -04:00
David Cormier
89614a33b5 Hides additional plugin content by default 2013-08-06 17:07:29 -04:00
David Cormier
f9641519f4 Handles additional content with a simple plugin manager 2013-08-06 16:39:10 -04:00
David Cormier
c80dc34770 Displays notifications in buffer title 2013-08-06 16:28:34 -04:00
David Cormier
d71cf8930e Sends password properly 2013-08-05 15:53:59 -04:00
David Cormier
ebf6cc7c8b Checks if event handler is present before trying to run it
Also renames everything to "event" in order to have a consistent
terminology
2013-08-04 22:31:42 -04:00
David Cormier
320b143687 Removes console.log calls and adds amazing comments 2013-08-04 22:25:59 -04:00
David Cormier
7fa45cbc4f Names gui buffer hda call
Removes the need for alternate message handling
2013-08-04 22:14:10 -04:00
David Cormier
987a3b4933 Moves event identification function in protocol 2013-08-04 21:53:23 -04:00
David Cormier
f0012a8acb Moves all handlers in handlers module 2013-08-04 21:39:23 -04:00
David Cormier
7ec5b0c926 WIP: embedded display of youtube videos 2013-08-03 11:25:38 -04:00
David Cormier
9a4bdad55d Supports accentuated characters 2013-08-01 22:07:47 -04:00
David Cormier
1635f1df83 Replaces wrongly named with 2013-08-01 21:55:51 -04:00
David Cormier
40d0145979 Fixes indenting 2013-08-01 21:54:12 -04:00
David Cormier
5af244737e Handles buffer opened
_buffer_opened signal sent by the relay will open
a buffer in the webpage
2013-07-31 08:40:43 -04:00
David Cormier
a2e43c8695 Maps input to buffer
Input is now sent to weechat as command to buffer
2013-07-30 22:55:28 -04:00
David Cormier
dd62e07d08 Sends line to proper buffer 2013-07-30 09:22:37 -04:00
David Cormier
33119f292d Displays buffer names screen 2013-07-30 09:01:08 -04:00
David Cormier
6cf0e687b7 Adds prefix to chat messages 2013-07-28 00:01:35 -04:00
David Cormier
e250bae9c7 Adds underscorejs 2013-07-27 23:59:12 -04:00
David Cormier
9bc33fa76e Adds color parsing
Special thanks to @eirikb for developing this module in weechat.js
2013-07-27 10:43:41 -04:00
David Cormier
0df3112d8d Displays buffer content in main window
Handles the weechat _buffer_line_added event and displays every
new line in the main buffer.
2013-07-21 11:48:32 -04:00
David Cormier
4bebd3af79 Implements principal protocol
Passes test: it properly interprets all data given by weechat's
test command.
2013-07-20 14:23:09 -04:00
David Cormier
f5869438b7 basic support for weechat protocol based on weechat.js 2013-02-24 14:44:03 -05:00
David Cormier
d4b760fc04 can send messages to weechat 2013-02-17 18:49:42 -05:00
David Cormier
251d2ae5a9 login: added simple form 2013-02-16 13:18:14 -05:00
David Cormier
79594237bf initial commit 2013-02-16 12:49:20 -05:00