Commit Graph

464 Commits

Author SHA1 Message Date
Alistair McKinlay
9c07f2b0f2 Merge pull request #387 from thelounge/xpaw/config
Cache loaded config and merge it with defaults
2016-07-04 08:18:55 +01:00
Pavel Djundik
e445fd8e25 Store channels in array format 2016-07-03 21:58:31 +03:00
Pavel Djundik
34b4a7a018 Merge pull request #366 from thelounge/xpaw/fix-clicks
Improve click handling on users and inline channels
2016-07-03 20:51:20 +03:00
Jérémie Astori
d231a4b583 Merge pull request #453 from thelounge/xpaw/fix-autojoin
Only auto join actual channels
2016-07-03 09:25:38 -04:00
Pavel Djundik
cada00ab6a Display unhandled numerics on the client 2016-07-03 11:47:53 +03:00
Pavel Djundik
f57328ef5b Only auto join actual channels
Fixes #450
2016-07-03 11:39:29 +03:00
Pavel Djundik
2da6167cf5 Print network name and internal ids in debug log 2016-07-03 11:32:57 +03:00
Pavel Djundik
1f760d877e Update irc-framework to 2.1.0 2016-07-02 22:25:08 +03:00
William Boman
32b46bb32d src/client: make sure config is always an object 2016-06-30 15:06:14 +02:00
William Boman
1256e73d90 src/client: pass the updated token as argument to callback
This also fixes an issue where the token would not be stored in the
user file.
2016-06-30 15:05:58 +02:00
William Boman
c57d9ac1dc irc-events/connection: increase join delay to 1000ms
100ms easily bypasses the excess flood threshold with constant
reproducibility with >20 channels (Freenode).
2016-06-28 00:11:19 +02:00
Pavel Djundik
100262ad1f Cache loaded config and merge it with defaults
Fixes #249
2016-06-26 19:30:25 +03:00
Maxime Poulin
1b9c5d8996
Fix default configuration for host.
Similarly to kiwiirc/irc-framework#55, passing `undefined` there instead of `"0.0.0.0"` allows the OS to decide and use both IPv4 and IPv6.
2016-06-24 06:25:51 -04:00
Pavel Djundik
da9b0636fb Improve click handling on users and inline channels 2016-06-22 18:36:01 +03:00
Pavel Djundik
779aed7cd6 Use tabs when saving user configs 2016-06-19 20:16:50 +03:00
Jérémie Astori
e8cc465228 Merge pull request #411 from thelounge/xpaw/join
Fix channel join regression and fix possibly joining parted channels
2016-06-19 12:59:49 -04:00
Pavel Djundik
eaa8e893a5 Do not print user loaded message in public mode 2016-06-19 11:01:50 +03:00
Pavel Djundik
f0adee1700 Fix crash in public mode introduced by #370 (#413) 2016-06-19 10:59:10 +03:00
Maxime Poulin
deba6f3aa1
Fix crash in public mode introduced by #370 2016-06-18 23:35:32 -04:00
Jérémie Astori
75c578c02c Merge pull request #369 from thelounge/xpaw/fix-losing-auth
Do not lose authentication token when the connection gets lost
2016-06-18 22:35:12 -04:00
Pavel Djundik
d66e86ddc4 Fix channel join regression and fix possibly joining parted channels 2016-06-17 13:46:15 +03:00
Pavel Djundik
12551c06b6 Perform node version check as soon as possible 2016-06-16 11:13:34 +03:00
Jérémie Astori
cfdcd405d5 Merge pull request #370 from thelounge/xpaw/persistent-token
Implement user token persistency
2016-06-16 02:13:35 -04:00
William Boman
4a75a04402 command-line: fall back to LOUNGE_HOME env variable 2016-06-13 20:22:58 +02:00
Pavel Djundik
2008abc0e8 Do not lose authentication token when the connection gets lost 2016-06-13 10:39:01 +03:00
Pavel Djundik
9384cd9ca6 Implement user token persistency 2016-06-13 10:33:39 +03:00
Pavel Djundik
cddcd9cb47 Save user when they sort the channel list 2016-06-12 13:02:37 +03:00
Daniel
f8044bfc96 Remove redundant variables (#397) 2016-06-12 09:43:35 +03:00
Pavel Djundik
643e07dead Merge pull request #396 from hogofwar/capital
Capitalise constructor Oidentd
2016-06-12 09:43:02 +03:00
Daniel
084b269865 Rename package variable to pkg, as "package" is reserved. 2016-06-12 02:46:51 +01:00
Daniel
29d94bf297 Capitalise constructor. 2016-06-11 21:03:59 +01:00
Daniel
3a2d97af6a Supersede mkdirp with fs-extra.
Ensure USERS_PATH exists at start.

Remove unnecessary USER_PATH check.

Use fs-extra's copy to write default config.
2016-06-11 19:35:40 +01:00
Pavel Djundik
2ffd85d89f Update eslint and enforce key-spacing 2016-06-05 21:48:34 +03:00
Maxime Poulin
22d4f40613
Warn the user when both ident handlers are enabled 2016-06-03 00:11:20 -04:00
Maxime Poulin
fabb758985 Add support for oidentd spoofing 2016-06-02 23:59:19 -04:00
Maxime Poulin
9aafffd273
Fix existing identd 2016-06-02 23:59:08 -04:00
Maxime Poulin
21eafef32d
Don't send completely empty messages 2016-05-25 03:27:25 -04:00
Pavel Djundik
a0010ca9f6 Allow /connect command to work on current network 2016-05-22 10:13:10 +03:00
Pavel Djundik
047a79ead6 Add separate /disconnect command 2016-05-22 10:13:08 +03:00
Pavel Djundik
e3a1bf2f87 Enable auto reconnection 2016-05-22 10:13:07 +03:00
Max-P
fca941e962 Merge pull request #307 from thelounge/astorije/path-join-everywhere
Replace all concatenated paths with Node's path.join
2016-05-21 22:22:28 -04:00
Max-P
423151ad97 Merge pull request #334 from thelounge/xpaw/query-highlights
Fix notifications in query windows
2016-05-21 22:09:55 -04:00
Jérémie Astori
0599a40df7 Merge pull request #320 from maxpoulin64/fix-space
Fix sending messages starting with a space
2016-05-21 13:11:09 -04:00
Pavel Djundik
1c57363106 Fix notifications in queries, limit message highlights to channels 2016-05-16 22:46:54 +03:00
Jérémie Astori
f65ffdff1e Centralize the logs path in the Helper 2016-05-15 17:13:51 -04:00
Pavel Djundik
dcec9f3c37 Fix overriding home folder 2016-05-15 17:02:53 -04:00
Pavel Djundik
d725bf0f70 Remove permissions test and do not suggest using sudo 2016-05-15 17:02:47 -04:00
Jérémie Astori
fe85873f1e Replace all concatenated paths with Node's path.join 2016-05-15 17:01:10 -04:00
Pavel Djundik
e6990e0fc7 Don't falsely report failed write if it didn't fail 2016-05-15 11:15:20 +03:00
Pavel Djundik
aa8c3f6419 Improve nick highlights 2016-05-12 14:20:24 +03:00
Max-P
bbf7b8086f Merge pull request #324 from thelounge/update-irc-fw
Update irc-framework
2016-05-12 03:25:54 -04:00
Pavel Djundik
ac5e96cddf Update irc-framework 2016-05-12 10:15:37 +03:00
Maxime Poulin
5a3b07a698
Fix sending messages starting with a space
There really is no need to trim apart bringing more situations like this. If I want to put spaces in front of my message (say, for alignment purposes), then I should be able to.

Fixes #319
2016-05-10 21:31:42 -04:00
Maxime Poulin
0b6d13d22d
Don't check for existing password emptyness
Pointed out by @PugaBear, it's possible for a user to have an empty password. There isn't really a need to check for password emptyness, it will simply fail with wrong old password instead.
2016-05-10 18:00:07 -04:00
Jérémie Astori
29e0717d8c Merge pull request #238 from williamboman/fix/safer-add-user
clientManager: don't write user configs outside of lounge's users dir
2016-05-08 13:21:01 -04:00
Jérémie Astori
c7fb388323 Merge pull request #292 from thelounge/xpaw/csp
Add security headers to minimize XSS damage
2016-05-08 00:42:05 -04:00
William Boman
5e38060567 clientManager: don't write user configs outside of lounge's users dir 2016-05-07 13:35:16 +02:00
Pavel Djundik
4585583ebc Save user when parting channels 2016-05-06 19:32:35 +03:00
Pavel Djundik
d143542fe5 Add security headers to minimize XSS damage 2016-05-06 11:08:45 +03:00
Jérémie Astori
48ce92bdcf Make sure app does not crash when webirc is not defined in the configuration 2016-05-02 01:11:57 -04:00
Maxime Poulin
96d282e73c
Add WEBIRC support
Fixes #181
2016-05-02 00:45:19 -04:00
Maxime Poulin
6d1e81b324 Remove "trust proxy" as it does litterally nothing 2016-05-02 00:42:03 -04:00
Pavel Djundik
e75a8f40a6 Stricter eslint rule for curly brackets 2016-05-01 12:41:17 +03:00
Pavel Djundik
c6c32e7d5f Merge pull request #217 from thelounge/xpaw/keep-autocomplete
Keep autocompletion sort whenever user list updates
2016-05-01 08:56:13 +03:00
Jérémie Astori
404bf2c4df Merge pull request #270 from thelounge/ircv3/echo-message
Add support for echo-message and znc.in/self-message caps
2016-04-30 19:37:10 -04:00
Pavel Djundik
a082039ecb Keep autocompletion sort whenever an user joins 2016-04-28 22:44:27 +03:00
Pavel Djundik
d9a0dd9406 Use lowercase global
GLOBAL shows a deprecated warning in node 6
2016-04-28 21:36:09 +03:00
Jérémie Astori
177041c9bb Merge pull request #280 from thelounge/min-node-ver
Document supported node version
2016-04-27 10:03:43 -04:00
Maxime Poulin
96d180077c
Add support for ~ home folder expansion 2016-04-27 04:23:54 -04:00
Max-P
12c88debf4 Fix derp in new logger (#283)
Chose to rename to `error` as that's what's used everywhere and what the `console` object would expose, so it's more of a drop-in replacement.
2016-04-27 10:42:54 +03:00
Pavel Djundik
d428bb7511 Document supported node version 2016-04-27 10:07:43 +03:00
Jérémie Astori
21fb0e0709 Merge pull request #257 from thelounge/xpaw/console-log
Add global logging helper
2016-04-27 02:43:54 -04:00
Jérémie Astori
1150d646cb Merge pull request #205 from maxpoulin64/I-194
Restrict access to the home directory by default
2016-04-27 02:25:30 -04:00
Pavel Djundik
ede3131168 Add global logging helper 2016-04-27 00:05:55 +03:00
Pavel Djundik
fd36eea0ed Rename log to userLog 2016-04-26 23:58:53 +03:00
Pavel Djundik
80ac72709d Do not count your own messages as unread 2016-04-26 13:10:17 +03:00
Pavel Djundik
2d8f4fdf14 Log enabled capabilities 2016-04-24 11:14:06 +03:00
Pavel Djundik
91aa4c6c4a Never highlight self messages in queries, and leave it up to the server to decide 2016-04-22 19:38:59 +03:00
Pavel Djundik
84685acdcd Add support for echo-message cap 2016-04-22 19:38:13 +03:00
Pavel Djundik
f4ac2aad19 Fix loading config before HOME variable is set 2016-04-19 23:58:49 +03:00
Pavel Djundik
148be767bb Fix #232: Do not store messages in memory when running in public mode 2016-04-19 13:28:07 +03:00
Pavel Djundik
6dc807ef07 Create a single helper function to write messages 2016-04-19 13:20:18 +03:00
Jérémie Astori
116dbc07be Merge pull request #167 from thelounge/irc-framework
Drop slate-irc, switch to irc-framework
2016-04-13 01:28:32 -04:00
Pavel Djundik
71a4dde7ad Do not generate random nicks on nick errors if already registered with the network 2016-04-10 11:55:58 +03:00
Jérémie Astori
49a62c4015 Merge pull request #230 from williamboman/fix/password-prompt
command-line/add,reset: reword password prompt
2016-04-08 23:49:43 -04:00
Pavel Djundik
34af38ff92 Change how nick errors are displayed 2016-04-07 16:08:33 -04:00
Pavel Djundik
7fdd0e90c1 Generate a random hexadecimal nickname when servers says current nick is invalid 2016-04-07 16:08:33 -04:00
Pavel Djundik
40a15b2676 Whitelist which commands are allowed while not being connected 2016-04-07 16:08:33 -04:00
Pavel Djundik
69bb003e45 Do not try to quit from errored networks 2016-04-07 16:08:32 -04:00
Pavel Djundik
7d24394814 Update irc-framework and fix issue when changing your own nick 2016-04-07 16:08:32 -04:00
Pavel Djundik
16370d8fcc Add /ctcp command and handle ctcp responses 2016-04-07 16:08:31 -04:00
Maxime Poulin
9cd4c6744c Support kick message in /kick command 2016-04-07 16:07:40 -04:00
Maxime Poulin
6c5ade3fe3 Fix the /topic command 2016-04-07 16:07:40 -04:00
Pavel Djundik
338116a01e Prevent opening query windows for CHANTYPES and PREFIX 2016-04-07 16:07:40 -04:00
Pavel Djundik
142aa85548 Handle invites
Requires irc-fw update
2016-04-07 16:07:40 -04:00
Pavel Djundik
3fc7036d32 Don't reset time in link expander and hide time with css 2016-04-07 16:07:40 -04:00
Pavel Djundik
6b2ebd790d Always send notices for non existing targets into server window
This matches current master behaviour
2016-04-07 16:07:40 -04:00
Pavel Djundik
d1da4b338a Update irc-framework, fixes quitting networks 2016-04-07 16:07:40 -04:00
Pavel Djundik
769bd16c8b Fix sending unknown commands 2016-04-07 16:07:40 -04:00
Pavel Djundik
43f58a8075 Format topic set date 2016-04-07 16:07:40 -04:00
Pavel Djundik
92cc130e2b Always send notices that are not targeted at us into the server window 2016-04-07 16:07:40 -04:00
Pavel Djundik
e0fb454223 Search channel case insensitively 2016-04-07 16:07:37 -04:00
Jérémie Astori
40677e3248 Update tests to match the new irc-framework models 2016-04-07 16:06:03 -04:00
Pavel Djundik
54526215a4 Correctly create new windows for private messages 2016-04-07 16:06:03 -04:00
Pavel Djundik
b19e79c48f Fix autojoining and allow autojoing with keys
Syntax is like "#a,#b,#c keya,keyb"
2016-04-07 16:06:03 -04:00
Pavel Djundik
17bcc37b80 Request names on mode change as a temporary measure 2016-04-07 16:06:02 -04:00
Pavel Djundik
db5fe00b60 A couple of fixes after rebasing and updating framework 2016-04-07 16:06:01 -04:00
Pavel Djundik
a01216fa4c Update irc-framework 2016-04-07 16:04:41 -04:00
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