Jérémie Astori
b53f1719eb
Merge pull request #1749 from thelounge/astorije/avoid-escape-quotes
...
Avoid escaping quotes whenever possible
2017-11-27 12:57:55 -05:00
Jérémie Astori
39e99fcd29
Merge pull request #1753 from thelounge/xpaw/webp
...
Detect image/webp as an image
2017-11-27 12:55:27 -05:00
Max Leiter
3d31fa4686
Link nicks mentioned in messages
2017-11-27 09:10:56 -08:00
Pavel Djundik
4e45820235
Detect image/webp as an image
2017-11-27 15:50:35 +02:00
Jérémie Astori
287c3a8223
Avoid escaping quotes whenever possible
...
Our `.eslintrc.yml` configuration file already allows for avoiding escape (see [ESLint doc for `avoidEscape`](https://eslint.org/docs/rules/quotes#avoidescape )) so we might as well use it. We already use this in a few places I believe.
2017-11-26 17:34:28 -05:00
Pavel Djundik
727021be68
Call callback on fetch error
2017-11-25 20:59:12 +02:00
Erik Vosseberg
f40edc7dc2
Include all available whois info
2017-11-21 00:27:24 -05:00
Pavel Djundik
055bd5dca5
Merge pull request #1580 from thelounge/xpaw/mobile-active-notifications
...
Use service worker to display notifications if available
2017-11-19 18:40:45 +02:00
Pavel Djundik
57289396da
Not all topic callbacks include nick
2017-11-19 18:30:10 +02:00
Pavel Djundik
0402554563
Move cleanIrcMessage to a separate file
2017-11-19 18:19:52 +02: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
Pavel Djundik
7cfd8d90c1
Merge pull request #1554 from thelounge/astorije/rm-event-stream
...
Remove event-stream dependency in favor of plain Buffers
2017-09-26 11:00:35 +03:00
Pavel Djundik
08edc434ca
Merge pull request #1567 from dgw/preview-length-abort
...
Abort image prefetch if Content-Length exceeds limit
2017-09-25 23:11:20 +03:00
dgw
09cd9ce33a
Abort img prefetch if Content-Length exceeds limit
...
If the Content-Length header is present in the response when an image
is prefetched, The Lounge can avoid wasting bandwidth (both for itself
and for the image's host) if the value of the header exceeds the
prefetch size limit by aborting the request immediately.
2017-09-25 05:31:21 -05:00
Jérémie Astori
75b927b4a3
Remove event-stream dependency in favor of plain Buffers
2017-09-23 04:08:17 -04: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
dgw
e4c6d78762
Display correct kick modes
...
Defining both the kicker and the target before any code touches the
channel user list ensures that everything is passed to the template.
2017-09-14 02:39:00 -05:00
Pavel Djundik
0ac3ba28e1
Web Push Notifications
2017-08-22 10:54:18 +03:00
Jérémie Astori
dff94cc6fd
Merge pull request #1406 from thelounge/xpaw/storage-dereferencing
...
Correctly dereference stored images when leaving channels
2017-08-13 12:17:02 -04:00
Pavel Djundik
66ea26f4bd
Resolve relative URIs in link previewer
...
Also adds support for image_src links
2017-08-13 13:06:01 +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
ed9bfcf2fa
Merge pull request #1194 from thelounge/xpaw/lazy-user-list
...
Lazily load user list in channels on init, keep autocompletion sort on server
2017-07-21 17:25:23 +03: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
48d367e379
Use findUser
2017-07-21 11:05:37 +03:00
Pavel Djundik
7af573fd96
Handle auto completion order on the server
...
Fixes #289 .
2017-07-21 11:05:21 +03:00
Jérémie Astori
900d41bf47
Re-use .previews
to order incoming previews instead of extra links
2017-07-21 01:51:51 -04:00
Jérémie Astori
a13c08a45b
Enforce correct order for previews on server-side prefectch rather than at client parsing
...
This has the benefit of not adding `.preview` divs everywhere, anytime we use `parse()`, and also to un-tie the position of the preview blocks from the result of the helper. This means that templates that call `parse` and have some extra markup after that are not constrained anymore.
This is effectively an alternative, better way to fix https://github.com/thelounge/lounge/issues/1343 , but the initial fix that was put in place (https://github.com/thelounge/lounge/pull/1347 ) is still relevant, for example to make sure a preview stays hidden (and does not add extra margin/padding/etc.) if the link does not prefetch.
2017-07-21 01:06:42 -04:00
Jérémie Astori
03d6f284fb
Merge pull request #1330 from MaxLeiter/MaxLeiter/TIME
...
Add SOURCE CTCP Command
2017-07-19 02:00:50 -04:00
Pavel Djundik
f35a2809a7
Store preview images on disk for privacy, security and caching
2017-07-18 11:37:16 +03:00
Max Leiter
58cf481d86
Add SOURCE CTCP Command
2017-07-17 11:09:20 -07: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
14b2ad7938
Refactor link previews
2017-07-03 00:41:18 +03:00
Jérémie Astori
ad10777684
Merge pull request #1274 from thelounge/xpaw/increase-prefetch-limit
...
Increase max downloaded bytes for link preview
2017-06-26 02:44:46 -04:00
Pavel Djundik
e967759802
Increase max downloaded bytes for link preview
...
twitter.com sends opengraph meta tags within ~20kb of data for individual tweets
2017-06-26 09:34:56 +03:00
Pavel Djundik
77667e7a3f
Do not display preview if there is nothing to preview
2017-06-26 09:27:51 +03:00
Jérémie Astori
5abc4c8c2a
Merge pull request #1256 from thelounge/xPaw/og-title
...
Check og:title before title tag
2017-06-26 01:48:07 -04:00
Jérémie Astori
147a36adde
Merge pull request #1254 from thelounge/xpaw/thumb-is-img
...
Make sure thumbnail is a valid image
2017-06-26 01:46:20 -04:00
Jérémie Astori
0239fdd2fb
Merge pull request #1255 from thelounge/xPaw/og-description
...
Check og:description before description
2017-06-26 01:44:54 -04:00
Pavel Djundik
ddc076e894
Check status code in link prefetcher
...
Fixes #1258 .
2017-06-23 20:49:45 +03:00
Pavel Djundik
015a9fb6ef
Check og:title before title tag
2017-06-22 22:41:05 +03:00
Pavel Djundik
23c7f7296c
Check og:description before description
2017-06-22 22:34:17 +03:00
Pavel Djundik
3fd2849a37
Make sure thumbnail is a valid image
...
Fixes #1239 .
Fixes #1180 .
2017-06-22 22:32:13 +03:00
Niko Bews
57fd0562a2
Handle images with unknown size in prefetch
2017-06-21 14:40:51 +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
b03d01b6eb
Add ban/unban command
...
Fixes #1073
2017-04-26 08:54:25 +01:00
Alistair McKinlay
1e504f4383
Add support for banlist messages
2017-04-22 13:51:28 +01:00
Jérémie Astori
4de632ba3c
Merge pull request #1018 from swordbeta/sort_channel_list
...
Improve channels list.
2017-04-20 01:40:14 -04:00
Michael van Tricht
764ac831d4
Improve channels list.
...
- Set fixed width to channel and users column.
- Sort by number of users in channel.
- Executing /list multiple times wont show multiple tables.
- Channel list is not stickied to the bottom.
- Limit channels to 500. Scrolling through 1k is very slow on my system.
2017-04-19 12:02:15 +02: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
c409328ddf
Fix variable shuffling around ident handler
...
Fixes #965
2017-03-17 22:24:40 +02:00
Pavel Djundik
9997aafec7
Rewrite identd server, combine with oidentd
2017-03-12 12:02:22 +02:00
Daniel Stancu
36893c6d7c
Do not prefetch URLs unless they are messages or /me actions
...
ACTION & MESSAGE type messages should be prefetched by default
2017-01-23 01:42:54 -05:00
Jérémie Astori
df4b14d546
Merge pull request #783 from thelounge/xpaw/irc-raw-log
...
Option to log raw IRC traffic
2017-01-04 01:56:19 -05:00
Jérémie Astori
7ae11babcb
Add human-readable idle time in whois info
2016-12-22 00:21:16 -05:00
Pavel Djundik
4dd79af9bb
Option to log raw IRC traffic
2016-12-21 13:22:18 +02:00
Pavel Djundik
e56d0c3be0
Fix #792 : irc-fw update changed socket reference
2016-12-17 00:15:05 +02:00
Pavel Djundik
28056d678e
Correctly remove closed sockets from oident file, remove unused functions
2016-12-11 08:56:32 +02:00
Pavel Djundik
62d4cd8fe8
Use correct channel when pushing link prefetch messages
...
Fixes #781
2016-12-09 23:00:33 +02:00
stepie22
aa8e0ae2c2
Set the (correct) time on link expands
2016-11-25 21:27:19 +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
a58b7839a7
Merge pull request #685 from thelounge/astorije/fix-nick-in-logs
...
Fix nick changes not being properly reported in the logs
2016-10-15 14:00:47 +03:00
Jérémie Astori
93c4c14b72
Merge pull request #647 from nornagon/prefix-lookup
...
Fill in prefixLookup on network initialization
2016-10-12 03:37:06 -04:00
Jeremy Apthorp
b7814bc571
Fill in prefixLookup on network initialization
...
Fixes #644 .
2016-10-11 22:17:58 -07:00
Jérémie Astori
310ab8f43c
Fix nick changes not being properly reported in the logs
...
Before:
```
[2016-10-10 15:17:47] * nick
```
After:
```
[2016-10-10 16:32:47] * astorije nick astorije2
```
2016-10-10 13:08:23 -04: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
2e82c6b5c6
Make use of multi-prefix cap and remove NAMES spam on mode changes
2016-10-08 20:30:25 +03:00
Jérémie Astori
ac3992bcdb
Merge pull request #658 from thelounge/xpaw/wallops
...
Display wallops in server window
2016-10-08 00:02:16 -04:00
Pavel Djundik
beb6d1ea5b
Reset nickname in UI back to previous one on error
2016-10-01 16:51:35 -04:00
Pavel Djundik
63f4fc39c9
Display wallops in server window
...
Fixes #225
2016-10-01 00:29:49 +03:00
Jérémie Astori
345aac1a27
Merge pull request #258 from maxpoulin64/channel-list
...
Implement /list
2016-09-29 02:47:34 -04:00
Maxime Poulin
0c3dc31e31
Add debug config option for irc-fw debug log
2016-08-29 02:07:09 -04:00
Jérémie Astori
a0315b13d1
Disable debug logs in npm releases
...
This is temporary until https://github.com/thelounge/lounge/issues/459 , but
meanwhile we should not be spamming connection debug messages in releases
or pre-releases.
2016-08-06 14:14:38 -04: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
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
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
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
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
Pavel Djundik
da9b0636fb
Improve click handling on users and inline channels
2016-06-22 18:36:01 +03:00
Pavel Djundik
d66e86ddc4
Fix channel join regression and fix possibly joining parted channels
2016-06-17 13:46:15 +03: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
Pavel Djundik
e3a1bf2f87
Enable auto reconnection
2016-05-22 10:13:07 +03:00
Pavel Djundik
1c57363106
Fix notifications in queries, limit message highlights to channels
2016-05-16 22:46:54 +03:00
Pavel Djundik
aa8c3f6419
Improve nick highlights
2016-05-12 14:20:24 +03:00
Pavel Djundik
ac5e96cddf
Update irc-framework
2016-05-12 10:15:37 +03:00
Pavel Djundik
e75a8f40a6
Stricter eslint rule for curly brackets
2016-05-01 12:41:17 +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
ede3131168
Add global logging helper
2016-04-27 00:05:55 +03:00
Pavel Djundik
80ac72709d
Do not count your own messages as unread
2016-04-26 13:10:17 +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
6dc807ef07
Create a single helper function to write messages
2016-04-19 13:20:18 +03: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
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
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
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
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
Pavel Djundik
54526215a4
Correctly create new windows for private messages
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
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
Pavel Djundik
93d7b16cd4
Harden url fetcher and don't crash on non-ASCII urls
2016-03-27 12:50:53 +03:00
Pavel Djundik
96ef274838
Keep track of highlights when user is offline
2016-03-13 18:05:05 +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
f6563d0ea9
Fix #116 : Move 'you' handling in invites to the client
2016-02-28 10:21:19 +02:00