Commit graph

624 commits

Author SHA1 Message Date
Pavel Djundik 1fa545152f Create a single function to render networks to reduce code duplication 2016-07-22 01:10:20 -04:00
Jérémie Astori 9e188bad4b Make sure git commit check would not send stderr to the console
Before that change, running a release would display this in the console:
```
fatal: Not a git repository (or any of the parent directories): .git
```

Also, this adds strict mode for that file, and make sure `gitCommit` never throws a `ReferenceError`.
2016-07-18 21:35:02 -04:00
Jérémie Astori 71577cf55e Display whether instance is running from a release or from git on About section 2016-07-13 03:17:55 -04:00
Jérémie Astori b1674f4f20 Add self info to TOGGLE messages to prevent unread marker to render for oneself 2016-07-07 02:53:30 -04:00
Maxime Poulin 18c615236d Merge pull request #332 from thelounge/xpaw/unread-marker
A proper unread marker
2016-07-06 04:06:14 +00:00
Jérémie Astori b3d3582d2f Merge pull request #286 from thelounge/xpaw/unknown-command
Display unhandled numerics on the client
2016-07-05 23:23:15 -04:00
Pavel Djundik d37e94308d Unread marker MVP 2016-07-05 15:32:41 -04:00
Maxime Poulin 2d3464aa04
Use a textarea instead of an input for channel messages 2016-07-04 23:49:45 -04:00
Pavel Djundik 08f197f912 Only load config if it exists 2016-07-04 23:15:30 +03:00
Pavel Djundik 1d3037bd00 Register irc-framework events before connecting 2016-07-04 17:58:28 +03:00
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
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
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