Commit Graph

356 Commits

Author SHA1 Message Date
Pavel Djundik
071881a9fa Sort user list within a single pass, use server provided user modes 2016-04-07 16:04:41 -04:00
Pavel Djundik
516ccd965f Add support for IRCv3 server-time 2016-04-07 16:04:41 -04:00
Pavel Djundik
7baf5f0f81 Remove unused notice event 2016-04-07 16:04:41 -04:00
Pavel Djundik
dff6eb33c5 Maintain backwards compatibility by sending symbols to the client 2016-04-07 16:04:41 -04:00
Pavel Djundik
b6993f6e37 Make whois work 2016-04-07 16:04:41 -04:00
Pavel Djundik
28ae544b2a Move connection events to a separate file, sync PREFIX with frontend 2016-04-07 16:04:40 -04:00
Pavel Djundik
2244dda566 Update commands 2016-04-07 16:04:40 -04:00
Pavel Djundik
82e192cd2c Enable link fetcher 2016-04-07 16:04:40 -04:00
Pavel Djundik
356851c3f2 Handle kick 2016-04-07 16:04:40 -04:00
Pavel Djundik
627b698221 Fix creating duplicate query windows when our nick is not known 2016-04-07 16:04:40 -04:00
Pavel Djundik
9ab71b2588 Handle nick 2016-04-07 16:04:40 -04:00
Pavel Djundik
4d986537bc Handle error 2016-04-07 16:04:40 -04:00
Pavel Djundik
360563528a Handle channel and user modes 2016-04-07 16:04:40 -04:00
Pavel Djundik
e380319400 Handle parts, quits, topics and topic set by 2016-04-07 16:04:40 -04:00
Pavel Djundik
da425fefaf Start working on moving to irc-framework 2016-04-07 16:04:28 -04:00
Maxime Poulin
7209bcd58a Add config option to limit in-memory history size
This adds a (temporary?) config option to limit the amount of messages stored per channel to avoid the server's memory usage to grow as channels fills up with messages.
2016-04-06 03:29:35 -04:00
William Boman
8293497ae9 command-line/add,reset: reword password prompt
This makes the password prompts not look like a root access password prompt.
2016-04-03 20:47:45 +02:00
Pavel Djundik
ad3bdef542 Fix not being able to remove networks from user config 2016-04-02 11:16:31 +03:00
Pavel Djundik
93d7b16cd4 Harden url fetcher and don't crash on non-ASCII urls 2016-03-27 12:50:53 +03:00
Pavel Djundik
05ec819f2d Merge pull request #222 from maxpoulin64/fix-part
Fix /part command
2016-03-27 01:27:54 +02:00
Maxime Poulin
d5e67d6503 Fix /part command
Fixes the /part command closing the wrong window. The current implementation simply passes all arguments to slate, which ended up parting every arguments.

This changes the command to `/part message`, and always parts the current window. This will be fixed further once irc-framework is merged.
2016-03-26 16:13:34 -04:00
Jérémie Astori
fefc6c5132 Disallow /query on non-nicks 2016-03-26 13:18:55 -04:00
Pavel Djundik
7d7c3edcec Add a query command that simply opens a query window 2016-03-24 22:40:36 +02:00
Jérémie Astori
eadcca0b5e Merge pull request #208 from thelounge/xpaw/remove-commands
Remove join, nick and whois inputs, they are cleanly handled by the server
2016-03-22 02:03:50 -04:00
Pavel Djundik
83021cf0ac Fix #195: Support port in connect command 2016-03-20 19:35:20 +02:00
Pavel Djundik
9deb0489f6 Disallow parting from lobbies 2016-03-20 18:34:36 +02:00
Pavel Djundik
52b953c492 Remove join, nick and whois inputs, they are cleanly handled by the server
Fixes #201
2016-03-20 16:14:37 +02:00
Maxime Poulin
346fb83abe Restrict access to the home directory by default
Follow up on #165
Closes #194
2016-03-19 18:59:45 -04:00
Jérémie Astori
05be0ff57f Merge pull request #174 from thelounge/xpaw/http2
Add support for HTTP2
2016-03-19 18:06:34 -04:00
xPaw
9e8bc44e3a Fix default socket.io transports 2016-03-19 18:48:36 +02:00
Max-P
e54409b3dd Merge pull request #193 from thelounge/astorije/minor-simplification
Remove unnecessary operation when sorting users
2016-03-14 20:55:49 -04:00
Max-P
c74811c894 Merge pull request #191 from thelounge/astorije/direct-inputs
Load input plugins at startup and call them directly when a command is received
2016-03-14 20:38:47 -04:00
Jérémie Astori
d02c0bd72c Remove unnecessary operation when sorting users 2016-03-14 01:44:03 -04:00
Jérémie Astori
93a393f10d Load input plugins at startup and call them directly when a command is received 2016-03-14 00:21:42 -04:00
Pavel Djundik
96ef274838 Keep track of highlights when user is offline 2016-03-13 18:05:05 +02:00
Pavel Djundik
d7750db87f Remove moment.js from the client 2016-03-11 22:18:49 +02:00
Jérémie Astori
ddc72ea94f Merge pull request #154 from xPaw/better-commands
Handle commands in a better way
2016-03-11 02:12:30 -05:00
Pavel Djundik
842b8d620c Send unknown commands to the server 2016-03-10 10:05:56 +02:00
Pavel Djundik
42a7c54c0a Fix #153: Do not intercept service commands 2016-03-09 17:40:57 +02:00
Pavel Djundik
689b018079 Add support for HTTP2 2016-03-09 14:04:05 +02:00
Pavel Djundik
52bc324a63 Update eslint to 2.3.0 and add stricter rules 2016-03-09 10:50:20 +02:00
Jérémie Astori
c8664b7cfa Merge pull request #161 from xPaw/whois-tpl
Make whois a client template
2016-03-09 00:16:47 -05:00
Jérémie Astori
6a6c41732d Make sure highlight lookup stops as soon as a candidate is detected 2016-03-08 01:54:23 -05:00
Jérémie Astori
977b48649b Fix #156: Make sure self messages are never highlighted 2016-03-08 01:39:00 -05:00
Pavel Djundik
a61973a156 Make whois a client template 2016-03-07 17:10:46 +02:00
Pavel Djundik
bd370699fd Fix crash and remove remaining 0777 mode 2016-03-05 20:31:29 +02:00
Jérémie Astori
0f48b11a22 Merge pull request #117 from maxpoulin64/fix-user-filemode
Remove attempts to set file modes
2016-03-05 01:48:51 -05:00
Jérémie Astori
ec37b6671b Merge pull request #82 from xPaw/lock-server
Allow locking network configuration
2016-03-02 00:37:27 -05:00
Jérémie Astori
325739c8be Merge pull request #122 from xPaw/odd-invite
Fix #116: Move 'you' handling in invites to the client
2016-03-01 00:16:55 -05:00
Jérémie Astori
5f11c26223 Fix complete crash when refreshing a public instance 2016-02-29 01:19:11 +00:00
Pavel Djundik
f6563d0ea9 Fix #116: Move 'you' handling in invites to the client 2016-02-28 10:21:19 +02:00
Jérémie Astori
ce69ce333a Merge pull request #91 from xPaw/fix-highlight
Fix how highlights are handled
2016-02-28 00:45:23 -05:00
Maxime Poulin
b70c0a98fe Remove attempts to set file modes
After some testing and manually trying to set sane file modes, it turns out the umask still applies. So it seems the logical way to handle this is to actually rely on the OS umask to set proper permissions.
2016-02-27 21:34:39 -05:00
Max-P
1d8667ed4b Merge pull request #57 from diddledan/frontend-password-change
frontend password change functionality
2016-02-27 20:07:08 -05:00
Pavel Djundik
357e238a45 Fix how highlights are handled 2016-02-28 01:30:20 +02:00
Daniel Llewellyn
b79a918be8 frontend password change functionality
- refactor clientManager.js to allow configuration parsing as a serparate
  function.
  - refactor clientManager.js to add configuration writing function.
  - add server.js changes to allow for new password-change functionality
  - add password change ui to "settings" screen
  - refactor client.js to use new clientManager functionality for saving
    the configuration files
2016-02-26 18:38:15 +00:00
Jérémie Astori
31d938440b Merge pull request #94 from xPaw/action-templates
Move actions to templates
2016-02-26 01:26:48 -05:00
Jocelyn Delande
05ae17328d Fix /invite command broken by lodash update
Broken by #38 / 19bc4f3
2016-02-25 12:43:32 +01:00
Pavel Djundik
2c8c84aec5 Move actions to templates 2016-02-23 18:22:41 +02:00
Alistair McKinlay
b2625aebae Merge pull request #38 from xPaw/lodash
Update lodash
2016-02-21 15:31:44 +00:00
Pavel Djundik
aab7f298d8 Allow locking network configuration 2016-02-21 14:02:35 +02:00
Jérémie Astori
eb794ab080 Add a simplified way to invite a user in the current channel 2016-02-20 16:32:41 +00:00
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