Commit Graph

340 Commits

Author SHA1 Message Date
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