Commit Graph

155 Commits

Author SHA1 Message Date
Pavel Djundik
c97352905d
Merge pull request #1962 from thelounge/xpaw/no-var
Enable no-var rule
2018-02-19 20:12:31 +02:00
Pavel Djundik
a3e448acf5 Enable no-var rule
Fixes #1961
2018-02-19 19:49:39 +02:00
Pavel Djundik
b57830b859 Sync network status and security to client UI
Co-Authored-By: Jérémie Astori <astorije@users.noreply.github.com>
2018-02-19 13:12:01 +02:00
Pavel Djundik
7e704b2d73 Track channel state to allow removing channels user is not in 2018-02-13 12:30:26 +02:00
Pavel Djundik
aee1ec2739 Fix crash when hostname is changed in lockNetwork mode
Fixes #2040
2018-02-07 12:03:25 +02:00
Pavel Djundik
b7ccb5a294 Fix queries going to lobby if the network name matches user name
Fixes #1501
Fixes #1983
2018-02-05 14:35:01 +02:00
Pavel Djundik
1fdd1ff0c3 Define which message types should not be logged 2018-02-01 10:03:10 +02:00
Al McKinlay
5cf24b80e6 Save query channels in user.json 2018-01-30 17:14:51 +00:00
Pavel Djundik
6377e0de66 Fix #1883: message gaps when reconnecting 2017-12-23 11:36:52 +02:00
Pavel Djundik
2d0ddfb2e8
Merge pull request #1778 from thelounge/xpaw/lazy-init
Heavily improve performance of "init" event
2017-12-05 12:03:01 +02:00
Pavel Djundik
b5d39b96b9
Handle CHGHOST cap 2017-12-04 23:33:48 -05:00
Pavel Djundik
552f3da67e Implement manual network/channel cloning for better performance 2017-12-03 16:31:37 +02:00
Pavel Djundik
41e121d270 Only emit a single message per channel on init 2017-12-03 16:13:18 +02:00
Pavel Djundik
104e270882
Merge pull request #1771 from thelounge/astorije/fix-user-in-msg
Clone instances of `User` in `Msg` to avoid unintentional mutations
2017-11-30 11:29:23 +02:00
Jérémie Astori
4ec10b922a
Clone instances of User in Msg to avoid unintentional mutations 2017-11-30 00:41:19 -05:00
Jérémie Astori
c0d348a678
Fix default value given to Msg.from
- `{}` is not falsey so Handlebars would try to render the block (see http://handlebarsjs.com/builtin_helpers.html#conditionals), therefore with a `nick` of `undefined`, which breaks `colorClass` (doing `undefined.length)
- There does not seem to be a way to check for empty objects in Handlebars (sigh) so checking `from.nick` seems like the most reliable way to check for a non-empty value. Alternatively, we could use a helper to check `{}` but meh.
2017-11-29 18:37:17 -05:00
Pavel Djundik
0f75c1a138 Change users array to be a Map 2017-11-19 11:35:15 +02:00
Pavel Djundik
74dcc52657
Refactor how user object is sent to the client 2017-11-19 02:46:45 -05:00
Jérémie Astori
1dc92d8934
Enforce dangling commas with ESLint
¯\_(ツ)_/¯
2017-11-15 01:35:15 -05:00
Pavel Djundik
feb7d9d4bb Fix #1692 when kicker is server 2017-11-08 23:10:17 +02:00
dgw
d675297405 Mark channels as read when receiving self-messages
Resets highlight counter and last unread message ID on server, and
clears the badge on the active client when the message is rendered.

Resolves #911
2017-10-17 08:05:35 -05:00
Pavel Djundik
fd21c84a76 Do not try to write user log if network is not found
Fixes #1584
2017-09-29 10:37:27 +03:00
Pavel Djundik
f85686bcb2 Merge pull request #1468 from thelounge/xpaw/combine-notifications
Combine unread notifications into a single one
2017-09-22 21:04:04 +03:00
Pavel Djundik
649e9c3192 Fix opening first channel on server start
Fixes #1547
2017-09-20 16:17:38 +03:00
Pavel Djundik
6cfe60e4d9 Group push notifications per target 2017-09-19 12:01:50 +03:00
Jérémie Astori
90cb79ac91 Merge pull request #845 from MaxLeiter/MaxLeiter/away-notify
Use away-notify to show updates on users away state
2017-09-17 14:45:27 -04:00
Max Leiter
163cfaba3c Use away-notify to show user away status change 2017-09-17 11:16:48 -07:00
Jérémie Astori
cb1b6db14e
Fix references to undefined this 2017-09-17 02:24:54 -04:00
Pavel Djundik
79eb83d82f Move userLog function where it belongs
Fixes #438
2017-09-14 10:41:50 +03:00
Pavel Djundik
0ac3ba28e1 Web Push Notifications 2017-08-22 10:54:18 +03:00
Pavel Djundik
6f32e7ae75 Correctly dereference stored images when leaving channels
Fixes #1404
2017-08-11 15:02:58 +03:00
Jérémie Astori
157289258a
Keep track of preview visibility on the server so it persists at page reload 2017-07-26 18:16:50 -04:00
Pavel Djundik
7d981d60d8 Recycle existing User objects in names event
This is required to keep lastMessage correct. This will also be useful for the away tracking PR.
2017-07-21 11:05:37 +03:00
Pavel Djundik
d06c279f02 Lazily load user list 2017-07-21 11:05:36 +03:00
Pavel Djundik
7af573fd96 Handle auto completion order on the server
Fixes #289.
2017-07-21 11:05:21 +03:00
Pavel Djundik
f35a2809a7 Store preview images on disk for privacy, security and caching 2017-07-18 11:37:16 +03:00
Pavel Djundik
199bc459b4 Merge pull request #1303 from thelounge/astorije/multiple-previews
Support multiple previews per message
2017-07-09 18:29:31 +03:00
Jérémie Astori
64ebe0f437
Support multiple previews per message
- Load up to 5 previews per message (to avoid abuse)
- Do not load multiple times the same URL
- Prepare preview containers per message instead of appending (to maintain correct order)
- Store an array of previews instead of a single preview in `Msg` objects
- Consolidate preview rendering for new messages and upon refresh/load history (when rendering entire channels)
- Update `parse` tests to reflect previous point
- Add test for multiple URLs
- Switch preview tests from `assert` API to `expect` API
2017-07-08 04:34:12 -04:00
Pavel Djundik
f06de70c40 Remove hostname prettifier 2017-07-06 15:02:32 +03:00
Pavel Djundik
14b2ad7938 Refactor link previews 2017-07-03 00:41:18 +03:00
Pavel Djundik
f6dd616d5e Update to eslint 4 and enforce extra rules 2017-06-19 09:58:29 +03:00
Pavel Djundik
acf5dd5351 Do not store unnecessary information in user objects 2017-06-01 21:54:46 +03:00
Alistair McKinlay
1e504f4383 Add support for banlist messages 2017-04-22 13:51:28 +01:00
Daniel Oaks
5c336d3789 Add slug with command to unhandled messages 2017-04-16 12:31:32 +03:00
Pavel Djundik
c0e364e1c2 Store channel keys 2017-04-01 15:28:38 -04:00
Pavel Djundik
4a68b78fd5 Implement away message restoration on reconnections and auto away 2017-03-29 00:27:58 -04:00
Pavel Djundik
6023035838 Update depdencides to latest stable versions 2016-11-19 10:49:16 +02:00
Pavel Djundik
a1f56c7395 Improve support for opening multiple clients at once
- Synchornize unread counter with the server
- Fix unread marker on no attached clients
- Increase unread counter for server messages
2016-10-17 01:31:22 -04:00
Jérémie Astori
089c315a8e Use forEach instead of lodash's each, and ES6 fat arrows like it's 2015 2016-10-15 15:58:48 -04:00
Pavel Djundik
3711aefc2d Merge pull request #664 from thelounge/xpaw/fix-defaults
Fix memory and reference shuffling when creating models
2016-10-15 14:14:53 +03:00
Pavel Djundik
aa02fd5180 Enforce more eslint rules 2016-10-09 17:55:37 -04:00
Jérémie Astori
caa46042bf Enforce strict mode across all JS files with ESLint
Several ES6 additions are only available in strict mode. Example:
> SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode

Strict mode was also enabled in a few of our files already, and it is a good thing to have anyway.
2016-10-09 15:14:02 -04:00
Pavel Djundik
8f3f1ca0b1 Fix memory and reference shuffling when creating models 2016-10-08 21:49:31 +03:00
Pavel Djundik
2e82c6b5c6 Make use of multi-prefix cap and remove NAMES spam on mode changes 2016-10-08 20:30:25 +03:00
Maxime Poulin
0f439545d4 Fix broken IRC servers with /list 2016-07-22 21:42:42 -04:00
Maxime Poulin
1d47290ada Implement /list
Thanks to @xPaw for the base of this code
2016-07-22 21:42:42 -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
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
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
100262ad1f Cache loaded config and merge it with defaults
Fixes #249
2016-06-26 19:30:25 +03:00
Pavel Djundik
aa8c3f6419 Improve nick highlights 2016-05-12 14:20:24 +03:00
Maxime Poulin
96d282e73c
Add WEBIRC support
Fixes #181
2016-05-02 00:45:19 -04: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
Pavel Djundik
16370d8fcc Add /ctcp command and handle ctcp responses 2016-04-07 16:08:31 -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
db5fe00b60 A couple of fixes after rebasing and updating framework 2016-04-07 16:06:01 -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
28ae544b2a Move connection events to a separate file, sync PREFIX with frontend 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
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
Jérémie Astori
d02c0bd72c Remove unnecessary operation when sorting users 2016-03-14 01:44:03 -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
Alistair McKinlay
b2625aebae Merge pull request #38 from xPaw/lodash
Update lodash
2016-02-21 15:31:44 +00:00
Pavel Djundik
19bc4f37e0 Update lodash 2016-02-19 15:13:53 +02:00
Pavel Djundik
533ec1071b Handle invite event 2016-02-15 19:23:10 +02:00
William Boman
8fdfd70c7e Comply with ESLint 2015-10-26 03:01:47 +01:00
fbm-static
25e9f24d8b fix commands not being removed 2014-11-10 00:01:22 +08: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
f42a6487d6 Emit topic over socket 2014-10-10 22:05:25 +02:00
Mattias Erming
b801689eaa Show user modes in channel 2014-10-04 05:31:45 -07:00
Mattias Erming
2a00fb1bb6 Added link plugin 2014-09-27 12:17:13 -07:00
Mattias Erming
7936dab6e3 Show current nick 2014-09-25 16:51:53 -07: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
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
Chris Moeller
e83be28223 Corrected user list prefix priority and added an extra mode prefix. 2014-09-14 01:11:19 +01:00
Mattias Erming
41027adc69 Normalize line endings 2014-09-13 14:29:45 -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