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
Pavel Djundik
d6d7df62fe
Fix away message disappearing
...
Closes #1102
2017-04-28 18:58:14 +03:00
Alistair McKinlay
b03d01b6eb
Add ban/unban command
...
Fixes #1073
2017-04-26 08:54:25 +01:00
Jérémie Astori
b1159eff9b
Merge pull request #1082 from MaxLeiter/setTopic
...
Use irc-framework setTopic() for topic command
2017-04-25 23:32:58 +02:00
Max Leiter
e45cfbf02c
Use irc-framework setTopic() for topic command
2017-04-24 21:05:57 -07: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
Jérémie Astori
ff72ebbb74
Merge pull request #804 from thelounge/xpaw/new-identd
...
Rewrite identd server, combine with oidentd
2017-03-13 02:04:24 -04:00
Pavel Djundik
9997aafec7
Rewrite identd server, combine with oidentd
2017-03-12 12:02:22 +02:00
Pavel Djundik
23599fc39b
Prevent message sending in lobbies
...
Fixes #956
2017-03-11 20:09:37 +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
da2e286ff8
Use double-nick in whois on query to get idle time
...
This queries server of the other user and not current user, which does
not know idle time.
See http://superuser.com/a/272069/208074 .
Override is done before command is being sent to the server: if a
single argument is given to `/whois`, it is being repeated, otherwise
the command is sent as is.
2016-12-23 01:59:08 -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
Jérémie Astori
3d0e1fd9f0
Merge pull request #745 from thelounge/xpaw/away-command
...
Implement /away and /back commands
2016-12-16 23:16:02 -05: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
f24f707119
Implement /away and /back commands
2016-11-19 10:27:39 +02:00
Jérémie Astori
04f23704b8
Merge pull request #679 from thelounge/xpaw/fix-mode-command
...
Fix /mode command to correctly assume target
2016-10-17 15:30:02 -04: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
bfeaeee873
Fix /mode command to correctly assume target
2016-10-15 14:17:45 +03: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
024369d4c3
Implement our own /nick command to allow editing nick when not connected
2016-10-01 16:51:35 -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
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
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
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
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
Pavel Djundik
4585583ebc
Save user when parting channels
2016-05-06 19:32:35 +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
84685acdcd
Add support for echo-message cap
2016-04-22 19:38:13 +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
40a15b2676
Whitelist which commands are allowed while not being connected
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
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
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
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
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
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
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
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
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