Pavel Djundik
682d3070e9
Move IRC object and validation to network model
2018-04-12 10:37:45 +03:00
Jérémie Astori
00bca229f0
Enforce object literal shorthand syntax with ESLint
2018-03-15 00:22:09 -04:00
Al McKinlay
5ce67ba093
Insert channel/user into channel list at alphabetically sorted point, not just the end
...
Don't sort queries/users after special chans
Set all users in tests to be of type query
Add test for not inserting infront of lobby
Break after finding the index, otherwise it always adds it to the end
Add checking for lobby in first test
Fix off-by-one error on the frontend
Fix utterly idiotic issue adding a duplicate of the channel we are on rather than the new user when we query
Check that we always insert before first special chan
2018-03-12 12:42:59 +00:00
Pavel Djundik
8f59ca1bec
Add support for znc.in/playback
...
Fixes #1768
2018-03-08 20:23:29 +02:00
Pavel Djundik
941849eaa8
Add message indexing
2018-03-08 20:23:29 +02:00
Pavel Djundik
731b29c059
Generate uuid per network
2018-03-08 20:23:29 +02:00
Pavel Djundik
eab823ba66
Allow setting rejectUnauthorized per network
2018-03-04 12:45:48 +02:00
Jérémie Astori
e03694b49c
Let user know someone is making a CTCP request against their nick
2018-02-22 00:42:33 -05:00
Pavel Djundik
59ec07be87
Update all links to thelounge repository
2018-02-21 22:47:52 -05:00
Pavel Djundik
dc6252d3f6
Consider localhost connections secure
2018-02-20 10:36:19 +02:00
Pavel Djundik
c733e72e7a
Auto-fix code for padding-line-between-statements rule
2018-02-20 09:28:04 +02:00
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