Commit graph

1294 commits

Author SHA1 Message Date
Alistair McKinlay 761958e3ee Merge pull request #7 from xPaw/invites
Handle invite event
2016-02-19 21:58:22 +00:00
Alistair McKinlay 972aadd674 Merge pull request #58 from maxpoulin64/userlist-lag
Only update the users list when needed
2016-02-19 21:24:09 +00:00
Pavel Djundik 19bc4f37e0 Update lodash 2016-02-19 15:13:53 +02:00
Jérémie Astori 172c8d534a Merge pull request #34 from xPaw/fix-closing-channel
Fix #30: Close channel on the client as soon as close event is registered
2016-02-18 23:23:36 -05:00
Maxime Poulin 5bf205195d Only update the users list when needed
Currently, for join/part/kick/nick/... the server will send an updated list of users and the client will re-render the list entirely. This ends up being a very expensive operation when joined on large channels and causes the client to slow down a lot.
2016-02-17 04:35:55 -05:00
Pavel Djundik 533ec1071b Handle invite event 2016-02-15 19:23:10 +02:00
Alistair McKinlay 0d823f24d6 Merge pull request #37 from deiu/master
Replace deprecated moment().zone
2016-02-15 08:46:09 +00:00
Jérémie Astori d8beaaead8 Merge pull request #33 from xPaw/fix-badly-sorted-userlist
Fix #29: Correctly send sorted user list whenever an user joins
2016-02-15 01:59:33 -05:00
deiu a3227c90b2 Replace deprecated moment().zone 2016-02-14 11:31:11 -05:00
Pavel Djundik 937126a43e Fix #30: Close channel on the client as soon as close event is registered 2016-02-14 12:08:38 +02:00
Pavel Djundik b8dbbf8219 Fix #29: Correctly send sorted user list whenever an user joins 2016-02-14 11:50:48 +02:00
dubzi d909065a8f Also fixed the default freenode hostname in the client file 2016-02-13 22:47:42 +00:00
Jérémie Astori 96158ba43d Rename variable corresponding to the server 2016-02-10 06:20:05 +00:00
Jérémie Astori 39dc4e8957 Update name and link to repo to new project 2016-02-10 06:20:05 +00:00
Mattias Erming 62672e4b1b Merge pull request #588 from xPaw/user-actions
Render user actions separately
2016-01-24 16:03:12 +01:00
Pavel Djundik 12d798f0e2 Send useragent with link expander requests 2016-01-24 17:01:11 +02:00
Pavel Djundik bb98be475a Render user actions separately 2016-01-24 16:59:13 +02:00
Pavel Djundik 06ce48c565 Render user actions separately 2016-01-17 23:18:43 +02:00
JocelynDelalande 8a80ee343d Merge pull request #519 from lyra833/escape-channel
Fixed a bug preventing logging
2015-12-01 22:09:13 +01:00
Olivier Lambert e5858744a2 Limit preview for large image files (fix #500) 2015-11-09 10:07:47 +01:00
William Boman 8fdfd70c7e Comply with ESLint 2015-10-26 03:01:47 +01:00
Alexander Gould 0d6b3b00c3 slashes are replaced with %'s when writing log files 2015-10-14 19:53:27 -04:00
Jérémie Astori df4a91fd05 Merge pull request #409 from kalaksi/fix_topic_on_ui
Fix topic on UI
2015-10-04 14:54:57 -04:00
Olli Mäntylä 4293336f3e Move escaping of topic and improve UI for long topics
- Data should be handled as is and only do the escaping on
the view/template or wherever it is used and escaping is necessary.
Keeps things simple and the focus of escaping values in the right place.
- Remove topic capitalization
- For long topics: hide overflow and add a title to topic span
- Also, simplify the code a tiny bit.
2015-10-03 17:04:05 +03:00
Jocelyn Delande 58aa236dcd Revert "Ignore localhost links" (on prefetch)
This reverts commit 29b66ff0ec.

Rationale:

1) It's not a security feature (abuse of prefetch can be on any server it's not
   more/less risky on localhost), it's pseudo-security measure
2) It's not to us to judge if it has no use-case (in fact it has, ex: two dev
   speaking and experimenting about urls of their local site/app instance,
   local web apps...)

refs #388
2015-09-29 22:22:45 +02:00
Mattias Erming 2cee0ea6ef Increase process.setMaxListeners 2015-04-29 12:55:34 -07:00
Mattias Erming 29b66ff0ec Ignore localhost links 2015-04-06 10:40:12 -07:00
PangeaCake 6c852a849a Prevent HTML injection through /topic!!!!
Really big security issue here.
2015-01-21 19:04:01 -08:00
Mattias Erming bce916ba52 Merge pull request #325 from codl/master
support @foobar-type highlighting
2015-01-11 23:41:27 +01:00
Mattias Erming e54feda878 Fix crash on broken links 2015-01-03 18:58:12 -08:00
Jon Nettleton 13717bd4f7 Catch undefined content-type headers
If content-type is undefined then catch the exception and set it
to empty just as is done for the body.
2015-01-03 10:03:43 +01:00
Corentin Delcourt 5efeffb7b8 support @foobar-type highlighting 2014-12-31 15:02:12 +01:00
Cyrus 36d861fd79 handles errors, increase limit 2014-12-23 09:06:11 +08:00
Cyrus db6c6aaffc unconsole.log 2014-12-22 08:57:29 +08:00
Cyrus bd191c09e5 conserve bandwidth
include application/json

should be using hyperquest

appplication typo

adapt res

res.text

remove superagent dependency
2014-12-22 08:29:26 +08:00
Mattias Erming 67f6e526f2 Fetch max 1 link per message 2014-12-12 00:48:43 +01:00
Mattias Erming 9b03be22b2 Added service shortcuts 2014-12-11 23:34:22 +01:00
Mattias Erming 53faab2f41 Ignore query variables 2014-12-11 23:19:09 +01:00
fbm-static 25e9f24d8b fix commands not being removed 2014-11-10 00:01:22 +08:00
Mattias Erming 4d525eba88 Fix config 2014-11-06 11:48:10 +00:00
Riku Rouvila 9416c492dd add socket.io transports to configuration 2014-11-01 22:06:01 +02:00
Mattias Erming 1dc9929cf7 Remove password argument from add command 2014-10-27 22:55:20 +01:00
Mattias Erming 02d43ad896 Merge pull request #259 from theVDude/master
Fix edit command
2014-10-27 22:49:14 +01:00
thevdude d18f318cad fix command-line scripts to work with username.json files 2014-10-22 22:37:29 -04:00
Orvar Segerström 560de1ac38 Send NOTICE messages to the correct channel
Fixes #177
2014-10-19 13:58:31 +02:00
Mattias Erming 5e6ac19d0f Fix crash on failed TLS connect 2014-10-16 23:33:07 +02:00
Mattias Erming 12152b8104 Ignore folders in 'users/' 2014-10-15 00:24:29 +02:00
Mattias Erming e914ed50eb Fix '--home' option 2014-10-14 22:53:26 +02:00
Mattias Erming 1a620e1d54 Change 'users/' folder structure 2014-10-14 22:05:16 +02:00
Mattias Erming dcdec78c4e Change 'logs/' location 2014-10-14 21:25:36 +02:00
Mattias Erming 193b30b8a7 Remove user reload for now 2014-10-14 21:14:14 +02:00
Mattias Erming 377e778f5d Move config.js 2014-10-14 21:10:09 +02:00
Mattias Erming fea9fb7a85 Fix indentation 2014-10-14 20:51:27 +02:00
Mattias Erming 4dc9c66859 Bring back process.env variables 2014-10-14 20:47:49 +02:00
Mattias Erming 62b15ab193 Merge pull request #232 from xeoncore/autoload
Refactored Autoload system
2014-10-12 17:09:11 +02:00
Mattias Erming c07c0f215a Merge pull request #228 from xeoncore/ogimage
Pull in extra meta data for links
2014-10-12 15:22:00 +02:00
Mattias Erming f50568b6ec Merge pull request #230 from xeoncore/bug/illegalusernames
Replace illegal characters in username
2014-10-12 15:11:28 +02:00
XeonCore 8a61e4e969 Refactored Autoload
Autoload now uses kernel events to watch files on disk. This greatly increases performance and reliability. Autoload will also watch user.json files for changes and reload the users data.
2014-10-12 19:30:22 +11:00
XeonCore 0ba67481fb Listen to SIGHUP and reload users
Listens for a 'SIGHUP' signal and reloads users when it gets one. The signal won't be listened to if its running on Windows as a SIGHUP indicates a console window closing.
2014-10-12 17:52:51 +11:00
XeonCore 3998998871 Don't save when running in public mode 2014-10-12 16:15:03 +11:00
XeonCore 35f347472a Replace illegal characters in username
When a user has an _ or any other non-alphanumeric characters in their nickname, Shout would fail to connect to some IRC servers. This replaces all non-alphanumeric characters in the nickname before sending it as the username.
2014-10-12 15:52:43 +11:00
XeonCore 76f3646249 Restore old No description found message
When there is no meta tags, keep the old No Description found message
2014-10-12 12:53:01 +11:00
XeonCore 20d1e1b212 Add thumbnail to toggles when sites have them
Displays a small thumbnail above each toggle that comes from either og:image or twitter:image meta tags.
2014-10-12 12:42:30 +11:00
XeonCore 81d49c8e69 Pull description information from meta tags
Tries to extract a description from the page by looking at meta and og description tags
2014-10-12 12:38:38 +11:00
Mattias Erming 40f8a4ddc4 Delay save function 2014-10-12 02:20:30 +02:00
Mattias Erming 152395d303 Remember network and channels 2014-10-12 01:59:01 +02:00
Mattias Erming aa02b0eaa7 Added client save 2014-10-12 00:47:24 +02:00
Mattias Erming 81401cec0f Added network export function 2014-10-11 22:44:56 +02:00
Mattias Erming 95bebfe12c Refactoring 2014-10-11 19:33:28 +02:00
Mattias Erming 3918c0ab61 Merge pull request #226 from wizardfrag/identd 2014-10-11 17:26:41 +02:00
Mattias Erming d1296abf12 Clean up server options 2014-10-11 14:35:28 +02:00
David White acd0b29671 Remove old debug/logging lines 2014-10-11 11:26:28 +01:00
David White ea0e66afd0 Set up identd and make it work on connection 😎 2014-10-11 11:09:27 +01:00
XeonCore dbd423e5a1 Allow binding to a local IP 2014-10-11 17:17:41 +11:00
Mattias Erming 681d3dac1a Added 'prefetch' option 2014-10-10 23:12:08 +02:00
Mattias Erming f42a6487d6 Emit topic over socket 2014-10-10 22:05:25 +02:00
David White 924bc39a95 Fix cut/paste error in close event 2014-10-09 16:56:32 +01:00
David White 898fed76c6 Add initial support for identd 2014-10-09 16:46:12 +01:00
David White df1578689f Replace "vi" with $EDITOR in config command 2014-10-09 13:40:16 +01:00
David White a6aa40b1c1 Fix missing Helper method in edit and use $EDITOR
* Fix the missing Helper method in the edit command to use Helper.HOME and the correct path assembly method (path.join) instead of joining strings together!
* Use $EDITOR instead of "vi" in the event a user doesn't have "vi" installed or doesn't understand it. Fallback to "vi" in case user doesn't have $EDITOR set.
2014-10-09 09:27:36 +01:00
Mattias Erming 2e964ca629 Prevent multiple logins 2014-10-08 22:16:10 +02:00
David White 6bb0650a2b Fix highlight checking by lower-casing everything 2014-10-08 16:51:46 +01:00
Mattias Erming 0944456ade Allow relative '--home' path 2014-10-04 16:22:23 -07:00
Mattias Erming 72354700f0 Fix add user 2014-10-04 15:05:19 -07:00
Mattias Erming b801689eaa Show user modes in channel 2014-10-04 05:31:45 -07:00
Mattias Erming 17ef33808a Fallback to USERPROFILE environment variable 2014-10-03 16:42:39 -07:00
Mattias Erming 2ed7d6364c Added '--home <path>' option 2014-10-03 16:33:44 -07:00
Mattias Erming 316fba3c08 Use 'bcrypt-nodejs' package 2014-10-03 02:57:35 -07:00
David White 58af356843 Replace bad regex with a substring test 2014-10-02 15:46:51 +01:00
David White 58709d021d Fix an issue where the word ACTION in a /me can be stripped 2014-10-02 15:25:31 +01:00
David White 18b41b8516 Fix issue #208 where actions from other users do not display 2014-10-02 15:25:06 +01:00
Shell Turner 3abec636fa Fix fs.exists to existsSync where necessary 2014-10-01 23:25:25 +02:00
Mattias Erming 354dac6a52 Fix config overwrite 2014-10-01 14:17:20 -07:00
Mattias Erming 656900448b Prevent private mode when no user exists 2014-10-01 12:05:07 -07:00
Shell Turner cb588dc22f Don't sudo when editing the config 2014-10-01 19:38:35 +02:00
Shell Turner b7fd64c2d8 Change config command to edit config.js in the Shout home directory
Also, copy config.js to the Shout home directory if it's not already
there.
2014-10-01 19:38:28 +02:00
Shell Turner 791a5914df Move config.js into the Shout home directory by default 2014-10-01 19:34:55 +02:00
Shell Turner 7e4534afa9 Always go through the Helper object to load config 2014-10-01 18:53:54 +02:00
Mattias Erming bf8939cf06 List users on server start 2014-09-30 13:23:14 -07:00
Mattias Erming 9947b537b6 Fix bug causing users to disconnect 2014-09-29 08:49:38 -07:00
Mattias Erming e4b4e0e065 Fix log highlight 2014-09-27 17:14:52 -07:00
Mattias Erming 6c6e76afda Persist inline links 2014-09-27 16:47:04 -07:00
Mattias Erming 3a28afe408 Fetch page titles 2014-09-27 13:39:14 -07:00
Mattias Erming 2a00fb1bb6 Added link plugin 2014-09-27 12:17:13 -07:00
Mattias Erming ea5f7b2517 Call trim() on input string 2014-09-27 08:57:25 -07:00
Mattias Erming 35f6f1a677 Hide ctcp messages 2014-09-27 08:46:32 -07:00
Mattias Erming 3e22b6e88a Added https support 2014-09-26 16:26:21 -07:00
Mattias Erming 4c94a67d49 Use express 2014-09-26 15:12:53 -07:00
Mattias Erming 7936dab6e3 Show current nick 2014-09-25 16:51:53 -07:00
Mattias Erming 4d9b58ecd5 Autoload users 2014-09-24 15:23:54 -07:00
Mattias Erming 8793551371 Sync sidebar order 2014-09-24 12:42:36 -07:00
Suyeol Jeon 1839162421 Add username field to user info.
Most of the networks don't allow unicode username. This patch allows users to specify username optionally. When specified, username is used for connecting IRC networks instead of nickname.
2014-09-24 20:08:14 +09:00
Mattias Erming 69af79a635 Merge pull request #156 from dremex/custom-quit-message
Added custom quit message functionality. Resolves erming/shout#71
2014-09-22 19:15:16 +02:00
Mattias Erming bd113dd46e Minor fix 2014-09-21 09:48:35 -07:00
Mattias Erming 11f3d452dd Server-side tracking of new message count 2014-09-21 09:46:43 -07:00
Kerry Peterson 6ed1a70f1c Added custom quit message functionality. Resolves erming/shout#71 2014-09-16 19:46:14 -06:00
Mattias Erming ea1aaf2d6e Minor changes 2014-09-16 13:39:19 -07:00
Mattias Erming f3aee8f6cb Minor changes 2014-09-16 13:06:13 -07:00
Mattias Erming 695e76a544 Added logging 2014-09-16 12:47:01 -07:00
Mattias Erming 56b72071ec Fix login 2014-09-16 10:43:02 -07:00
Mattias Erming 216030710a Minor changes 2014-09-16 10:33:15 -07:00
Mattias Erming c3552319cd Update 'add' command 2014-09-15 14:31:25 -07:00
Mattias Erming 78d36d6750 Added 'Remember' login option 2014-09-15 14:13:03 -07:00
Mattias Erming 7defba55eb Added '-v, --version' option 2014-09-15 12:51:04 -07:00
Mattias Erming 3c76399cd0 Added '--public' and '--private' options 2014-09-15 12:37:05 -07:00
Mattias Erming b52b860167 Fix login 2014-09-14 12:13:34 -07:00
Mattias Erming 66785be200 Fix bugs 2014-09-14 11:49:42 -07:00
Fredrik Pettersen fabbb43e18 Added boolean flag if message was sent from "me"
Your own messages now have a different color, and the possibility of
changing colors etc in css of all things sent by yourself
2014-09-14 19:06:56 +02:00
Mattias Erming caae8b859f Merge pull request #144 from kode54/master
Corrected user list prefix priority and added an extra mode prefix.
2014-09-14 12:53:01 +02:00
Mattias Erming 9553aa1888 Merge pull request #145 from sdepold/hotfix/merge-conflict
Remove legacy access to home variable
2014-09-14 12:52:52 +02:00
Sascha Depold 24803a73d7 Remove legacy access to home variable 2014-09-14 07:08:08 +02:00
Chris Moeller e83be28223 Corrected user list prefix priority and added an extra mode prefix. 2014-09-14 01:11:19 +01:00
Mattias Erming 136213da73 Hidden password reset 2014-09-13 17:10:06 -07:00
Mattias Erming 2b41e2e88e Fix password reset 2014-09-13 15:42:11 -07:00
Mattias Erming 0d38f004d9 Add missing require 2014-09-13 14:55:07 -07:00
Mattias Erming 41027adc69 Normalize line endings 2014-09-13 14:29:45 -07:00
YuviPanda 9b2095fcbc Fix scope error in ClientManager.loadUser 2014-09-13 18:51:34 +01:00
YuviPanda f015e4bfd4 Add missing semicolons 2014-09-13 18:51:34 +01:00
YuviPanda f752d55b37 Add missing semicolon 2014-09-13 18:51:34 +01:00
YuviPanda 77484ccdf3 Remove duplicate definition of path variable 2014-09-13 18:51:10 +01:00
Mattias Erming b3b36282aa Refactoring 2014-09-13 10:10:32 -07:00
Mattias Erming 221ed4b980 Change config.json to config.js 2014-09-13 09:41:11 -07:00
Mattias Erming ead12493ff Merge pull request #123 from sdepold/feature/configurable-home
Load home directory from helper and make it configurable.
2014-09-13 18:29:33 +02:00
YuviPanda 8bbfb9618c Don't echo password on commandline when reading 2014-09-13 16:21:57 +01:00
Sascha Depold aa2406eb4b Load home directory from helper and make it configurable. 2014-09-13 14:26:45 +02:00
Chris Moeller 1076ee4e06 Server correctly sends text/html MIME type and response code 200 for the root index. 2014-09-13 05:54:17 +01:00
Chris Moeller b32520b1f9 Add a 500ms between network connections, to prevent hitting operating system rate limiting. 2014-09-13 05:52:03 +01:00
Mattias Erming 0f68823298 Fix 'shout add' crash 2014-09-11 16:55:50 -07:00
Mattias Erming d53c0716e6 Added 'shout reset' command 2014-09-11 14:00:18 -07:00
Mattias Erming 428f63946b Added password hashing 2014-09-11 13:37:16 -07:00
Mattias Erming 815ed887f4 Fix multiple query windows 2014-09-11 11:05:33 -07:00
Mattias Erming 666f21cd66 Added MOTD messages 2014-09-11 10:24:32 -07:00
Mattias Erming 05a51f74a7 Fix the 'Show More' button 2014-09-10 12:23:56 -07:00
Mattias Erming 0e00f894a8 Set default port based on TLS setting 2014-09-10 09:22:58 -07:00
Mattias Erming ef22d84d97 Add TLS/SSL support 2014-09-10 08:56:32 -07:00
Mattias Erming 1731fcdcad Fix custom name 2014-09-09 15:32:26 -07:00
Mattias Erming 0f754ea703 Allow custom network name 2014-09-09 15:20:07 -07:00
Mattias Erming 43e74d2908 Fix query windows 2014-09-09 14:28:01 -07:00
Mattias Erming 74d0765e00 Better --help output 2014-09-09 13:06:36 -07:00
Mattias Erming c66fab06a4 Allow commands on connect 2014-09-09 12:31:23 -07:00
Mattias Erming 965981e112 Fix login 2014-09-09 10:23:46 -07:00
Stuart P. Bentley 3cfa1f42b2 Use PORT and IP environment variables
This makes Shout Heroku / Dokku / Plusku compatible.
2014-09-09 11:20:24 +00:00
Mattias Erming 25afe0f0c3 Merge pull request #55 from roccozanni/master
Add server password. Add rejectUnauthorized to disable SSL verification
2014-09-09 11:16:37 +02:00
Mattias Erming 404442f138 Bump version 2014-09-09 01:21:09 -07:00
Mattias Erming b50deee77e Merge pull request #68 from JonathanHuot/master
Added listen IP parameter
2014-09-09 10:18:54 +02:00
Mattias Erming 04da27617e Create 'users/' if not exist 2014-09-09 01:10:09 -07:00
Jonathan Huot 3a093dacd8 Added listen IP parameter. Listening on localhost allow to put Nginx/Varnish in front of shout server 2014-09-09 09:48:53 +02:00
Rocco Zanni 86271f6ad0 Add server password. Add rejectUnauthorized to disable SSL verification 2014-09-08 23:24:20 +02:00
Yuki Morishita 41837210e1 Customizable server name
Read server name from config if "name" is present.
2014-09-08 14:45:54 -05:00
Mattias Erming 2f5be12d00 Minor change 2014-09-08 10:28:12 -07:00
Mattias Erming 53e08ebff3 Added CTCP replies 2014-09-03 14:43:27 -07:00
Mattias Erming 5594d49d11 Fix broken queries 2014-08-27 07:34:03 -07:00
Mattias Erming 90cce21e3a Minor changes 2014-08-26 11:15:17 -07:00
Mattias Erming 752c4c491b Save users in ~/.shout/ 2014-08-26 11:01:26 -07:00
Mattias Erming 0199fb4657 Added '/quote' command 2014-08-25 03:35:27 -07:00
Mattias Erming 34b729440e Fix name prettify 2014-08-25 03:14:28 -07:00
Mattias Erming 86134ba72f Trigger event when sending messages 2014-08-25 02:50:38 -07:00
Mattias Erming 6be53fba43 Rename cli folder 2014-08-25 02:40:13 -07:00
Mattias Erming 4c2e1e24f7 Added 'shout edit' command 2014-08-24 17:19:21 -07:00
Mattias Erming 100d3dee18 Added 'shout config' command 2014-08-18 18:53:17 -07:00
Mattias Erming 5e9c032591 Move cli code 2014-08-18 18:18:40 -07:00
Mattias Erming 523a9cd734 Fix failing thumbnails 2014-08-18 17:07:21 -07:00
Mattias Erming a904de5d7a Minor changes 2014-08-18 17:07:21 -07:00
Mattias Erming 357578e20c Use superagent for image download 2014-08-17 14:40:26 -07:00
Mattias Erming b36e069895 Update cli commands 2014-08-17 06:33:48 -07:00
Mattias Erming ac156544f0 Fetch remote images 2014-08-16 14:19:15 -07:00
Mattias Erming 0fcdbeadec Added thumbnail plugin 2014-08-16 12:49:28 -07:00
Mattias Erming 67375a2600 Updated the cli 2014-08-14 10:26:03 -07:00
Mattias Erming eb7c40276e Run private server by default
Use `shout start --public` or edit your `config.json` to override.
2014-08-14 09:37:26 -07:00
Mattias Erming 43b6310481 Added user loading 2014-08-13 18:52:02 -07:00
Mattias Erming c870dc8c15 Added ClientManager class 2014-08-13 16:43:25 -07:00
Mattias Erming cd1383c1f0 Added --port option 2014-08-05 01:44:29 -07:00
Mattias Erming 4b21c319c2 Turn index.js into an executable 2014-08-05 01:32:50 -07:00
Mattias Erming 928220c6c1 Rename lib to src 2014-08-05 00:48:14 -07:00