Pavel Djundik
5299d976c0
Use .lounge_config to help distribution packages handle config paths right
2017-08-15 21:57:47 +03:00
Pavel Djundik
3190fd00bf
Refactor authentication flow
2017-08-13 21:37:12 +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
Pavel Djundik
25ac4d9e69
Correctly append OS name
2017-08-08 22:46:55 +03:00
Pavel Djundik
c14f7da1b2
Generate unique tokens for each login and session
2017-07-31 02:02:15 +03:00
Pavel Djundik
df698ab3ea
Correctly send /list parameters
2017-07-28 13:53:41 +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
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
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
Alistair McKinlay
e01e21cdbe
Change more to use id rather than count.
2017-07-19 07:37:13 +01: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
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
Al McKinlay
590a63ae31
Merge pull request #1306 from thelounge/xpaw/remove-prettify
...
Remove hostname prettifier
2017-07-09 15:03:08 +01: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
f3a4ed8e52
Fix losing network name when displayNetwork is false
2017-07-06 15:00:53 +03:00
Pavel Djundik
23b2f7197c
Deep merge default config
2017-07-06 15:00:43 +03: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
e0ed1195fa
Merge pull request #1202 from thelounge/xpaw/trust-proxy
...
Parse X-Forwarded-For header correctly
2017-06-26 01:52:53 -04: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
b0efbf8a1e
Parse x-forwarded-for header correctly
2017-06-21 14:34:06 +03:00
Pavel Djundik
f6dd616d5e
Update to eslint 4 and enforce extra rules
2017-06-19 09:58:29 +03:00
Pavel Djundik
81bdf7d33e
Fix network name not being set when displayNetwork is false
2017-06-08 21:40:17 +03:00
Pavel Djundik
ca54c40d0f
Merge pull request #1197 from thelounge/xpaw/socketio-transports
...
Correctly configure client socket transports
2017-06-08 20:19:49 +03:00
Jérémie Astori
5a5bf823a0
Merge pull request #1195 from thelounge/xpaw/consistent-user-object
...
Do not store unnecessary information in user objects
2017-06-08 02:46:25 -04:00
Pavel Djundik
b46f92c7d8
Only update bcrypt password rounds if the password actually matches
2017-06-02 11:02:03 +03:00
Pavel Djundik
16fb118d02
Correctly configure client transports
...
Fixes #848
2017-06-01 22:43:23 +03:00
Pavel Djundik
acf5dd5351
Do not store unnecessary information in user objects
2017-06-01 21:54:46 +03:00
Pavel Djundik
8ad92ed7b7
Merge pull request #1115 from PolarizedIons/fix-sorting
...
Fix channel sorting messing up the order
2017-04-29 14:56:19 +03:00
PolarizedIons
dd48ba4e87
Fix channel sorting messing up the order
2017-04-29 13:19:31 +02: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
Jérémie Astori
30bf20eb12
Merge pull request #1064 from thelounge/xpaw/harden-sort
...
Rewrite server code of channel sorting
2017-04-23 14:12:53 -04:00
Pavel Djundik
57acf0f5ce
Revert "Disable (temporarily) client ping timeouts"
...
This reverts commit ffa0740b50
.
2017-04-23 09:42:16 +03:00
Alistair McKinlay
1e504f4383
Add support for banlist messages
2017-04-22 13:51:28 +01:00
Pavel Djundik
a1bdd6f740
Rewrite server code of channel sorting
...
Fixes server crash, fixes losing channels
2017-04-22 13:32:42 +03:00
Alistair McKinlay
b4310dbc03
Review changes
...
(Should be squashed before merge)
2017-04-21 09:26:02 +01:00
Alistair McKinlay
cc85b2143c
Change index.html to be rendered using handlebars
2017-04-21 09:16:24 +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
Metsjeesus
b750da3f9d
Fix to helper.expandhome to correctly resolve "" and undefined
2017-04-18 17:36:43 +03:00
Daniel Oaks
5c336d3789
Add slug with command to unhandled messages
2017-04-16 12:31:32 +03:00
Metsjeesus
fa51a2c281
Add CA bundle option in SSL
2017-04-15 19:12:21 +03:00
Pavel Djundik
f645c32cb9
Use local variables to check length
2017-04-14 00:05:28 +03:00
Jérémie Astori
fe7c570cc9
Use Referrer-Policy header instead of CSP referrer
...
According to MDN:
> referrer
> Used to specify information in the referer (sic) header for links away from a page.
> Use the Referrer-Policy header instead.
See:
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/referrer
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy
2017-04-06 02:25:43 -04:00
Pavel Djundik
c0e364e1c2
Store channel keys
2017-04-01 15:28:38 -04:00
S
001f96035b
Switch to bcryptjs and make password comparison async
...
- PasswordCompareAsync prevents timeouts on resource constraint devices
- All password.compare calls are now async
- Updated tests to accept async functions
2017-04-01 03:06:09 -04:00
Pavel Djundik
4a68b78fd5
Implement away message restoration on reconnections and auto away
2017-03-29 00:27:58 -04:00
Élie Michel
ed3b4faa62
Fix eslint styling issues
2017-03-21 15:49:54 +01:00
Élie Michel
642442c041
Implement a proper LDAP authentication process
...
The Lounge first log as a special user in order to search (as in LDAP's
'"search" verb) for the user's full DN. It then attempts to bind using the
found user DN and the user provided password.
2017-03-21 15:15:33 +01:00
Pavel Djundik
3b2e3fc08c
Enforce more space and new line rules
2017-03-18 21:40:39 +02: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
Jérémie Astori
1c732ffc5b
Fix -h
help option alias shadowed by a similar alias for --home
...
In v2.2.1 (and in pretty much every software out there, really), `-h` was an alias of `--help`. By adding it as an alias of `--home`, it is now shown twice in the help.
2017-03-13 01:06:11 -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
Pavel Djundik
24bd39361b
Merge pull request #929 from msaun008/msaun008/fix-command-line-arg-parsing
...
Update arg parsing and default 'lounge' to 'lounge --help'
2017-03-10 19:27:09 +02:00
Matthew Saunders
86ed0b6e59
Update arg parsing and default 'lounge' to 'lounge --help'
2017-03-04 15:58:44 -05:00
Pavel Djundik
ffa0740b50
Disable (temporarily) client ping timeouts
2017-02-24 22:13:50 +02:00
Pavel Djundik
6755524be1
Merge pull request #903 from thelounge/astorije/log-users-by-default
...
Prompt admin for user log at user creation
2017-02-12 09:39:22 +02:00
greenkeeper[bot]
e2abbff7b0
fix(package): update irc-framework to version 2.5.5
...
https://greenkeeper.io/
2017-02-11 07:59:16 +02:00
Jérémie Astori
410eff428b
Prompt admin for user log at user creation
2017-02-01 01:26:19 -05:00
Alistair McKinlay
ba165de94e
Merge pull request #812 from birkof/master
...
No prefetch URLs unless are messages
2017-01-23 10:43:30 +00: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
bc8b699437
Add a basic check for bundled application when starting the server
...
Note that this will not detect if the client application was built with an old version of the repo.
2017-01-23 01:15:50 -05:00
Jérémie Astori
3e82994ae2
Make log style when referring user consistent with other places
2017-01-04 02:17:15 -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
Pavel Djundik
fb87bd3a58
Webpack
2016-12-27 19:15:30 +02: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
Jérémie Astori
391f3cb59b
Merge pull request #834 from thelounge/xpaw/active-window
...
Do not ignore window opens when considering active channels
2016-12-21 18:15:14 -05:00
Pavel Djundik
4dd79af9bb
Option to log raw IRC traffic
2016-12-21 13:22:18 +02:00
Pavel Djundik
555902bfba
Do not ignore window opens when considering active channels
2016-12-21 12:38:50 +02:00
Pavel Djundik
3a3eebd61d
Do not use backticks in strings when unnecessary
2016-12-20 02:09:53 +02:00
Pavel Djundik
b9047d98a2
Merge pull request #799 from thelounge/astorije/improve-command-line-output
...
Improve CLI a bit (output formatting and bug fix)
2016-12-19 14:18:54 +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
Jérémie Astori
770ede0587
Define a common helper for prompting to the user consistently
2016-12-16 22:46:14 -05:00
Pavel Djundik
e56d0c3be0
Fix #792 : irc-fw update changed socket reference
2016-12-17 00:15:05 +02:00
Jérémie Astori
6c546b2098
Fix CLI options on the start command
...
I know it is proposed to deprecate them in favor of a more generic one (`-c port=80`), but in the meantime the existing ones should work properly.
2016-12-15 01:29:44 -05:00
Jérémie Astori
baf3348cda
Normalize colors and content of the CLI tools
2016-12-15 01:13:43 -05:00
Max Leiter
d4554d2fa7
Do not accept empty password when adding new user; closes #316
2016-12-13 20:50:15 -08:00
Alistair McKinlay
5213853524
Merge pull request #779 from thelounge/astorije/users-always-autoload
...
Make user autoload more transparent in the app
2016-12-12 12:10:52 +00:00
Jérémie Astori
bc01d6ccd1
Improve message and style of loading/unloading console logs, use ES6 template literals
2016-12-11 03:30:19 -05:00
Jérémie Astori
b01517861d
Remove autoload option and always autoload users
...
Since @xPaw provided a really nice way to watch user config files, there is now no need to be cheap about it (it used to be run every second, possibly why it could be disabled via settings?).
This commit also improves the function a little bit by making use of ES6 syntax.
A warning gets displayed on the server console when the `autoload` option is still present in the config file.
2016-12-11 03:29:30 -05:00
Pavel Djundik
28056d678e
Correctly remove closed sockets from oident file, remove unused functions
2016-12-11 08:56:32 +02:00
Jérémie Astori
303fab8519
Merge pull request #749 from thelounge/xpaw/hexip
...
Add support for hexip ilines and fix storing client ip in config
2016-12-10 19:50:33 -05:00
Jérémie Astori
b1478c1ae1
Merge pull request #782 from thelounge/xpaw/correct-link-chan
...
Use correct channel when pushing link prefetch messages
2016-12-10 19:44:35 -05:00
Jérémie Astori
cc763bd47a
Merge pull request #757 from PolarizedIons/channel-sync
...
Sync reordering of channels/networks to other clients
2016-12-10 19:40:29 -05:00
Pavel Djundik
4fe3c5e96a
Change ghetto timer to debounce
2016-12-10 11:05:34 +02:00
Pavel Djundik
463a63aed3
Avoid unnecessary disk writes if user object has not changed, make updateUser async
2016-12-10 11:05:34 +02:00
Pavel Djundik
62d4cd8fe8
Use correct channel when pushing link prefetch messages
...
Fixes #781
2016-12-09 23:00:33 +02:00
stepie22
a5ad573b2d
Sync reordering of channels/networks to other clients
2016-12-09 14:56:19 +02:00
Jérémie Astori
9260f6b845
Merge pull request #751 from thelounge/xpaw/watch-autoload
...
Change ghetto autoload to use fs.watch
2016-12-07 00:35:33 -05:00
Pavel Djundik
69999f9190
Change ghetto autoload to use fs.watch
2016-12-07 00:31:36 -05:00
stepie22
aa8e0ae2c2
Set the (correct) time on link expands
2016-11-25 21:27:19 +02:00
Jérémie Astori
adf93f9fad
Merge pull request #746 from thelounge/xpaw/update-deps
...
Update depdencides to latest stable versions
2016-11-20 14:46:16 -05:00
Pavel Djundik
00548e65d7
Update existing networks with ip and hostmask if null
2016-11-19 22:34:05 +02:00
Pavel Djundik
4078abb085
Correctly save ip and hostname in user config
2016-11-19 22:23:51 +02:00
Pavel Djundik
708788338c
Add support for hexip ilines
2016-11-19 20:32:47 +02:00
Pavel Djundik
6023035838
Update depdencides to latest stable versions
2016-11-19 10:49:16 +02:00
Pavel Djundik
f24f707119
Implement /away and /back commands
2016-11-19 10:27:39 +02:00
Pavel Djundik
b5db0abc18
Print node version and platform
2016-11-18 19:25:23 +02:00
William Boman
2f77d6981b
src/server: log config path on start-up
2016-11-15 18:23:02 +01:00
Jérémie Astori
8ec6d969d1
Merge pull request #697 from cloudron-io/ldap_crashfix
...
Fix crash when LDAP server is unreachable
2016-10-23 10:10:48 -04:00
Pavel Djundik
c5e0dee3a3
Change bcrypt rounds from 8 to 11
2016-10-22 09:24:27 +03: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
Girish Ramakrishnan
09f2d069de
Fix crash when LDAP server is unreachable
...
Fixes #667
2016-10-16 11:27:09 -07:00
Jérémie Astori
e905c139d7
Use native ES5 map method instead of lodash's
2016-10-15 15:58:49 -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
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
db1dc3675a
Merge pull request #592 from williamboman/fix/git-describe
...
consolidate version numbers throughout all interfaces
2016-10-15 14:06:52 +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
William Boman
99218341ec
consolidate version numbers throughout all interfaces
2016-10-10 21:56:57 +02: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
e416d74f57
Rename package variable, reserved in strict mode
...
This has been renamed similarly in other files of the projects already.
2016-10-09 15:15:20 -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
3b8a478e34
Fix loading fonts in Microsoft Edge
2016-10-09 12:29:17 +03:00
Jérémie Astori
45ff1c0a00
Merge pull request #673 from toXel/toxel/fix-missing-keys
...
Check if SSL key and certificate files exist
2016-10-08 15:35:25 -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
toXel
5b6f5d5dce
Check if SSL key and certificate files exist
2016-10-08 14:56:12 +02: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
Jérémie Astori
41525ec20c
Add hostmasks in logs when possible
...
This will augment logs for `join`/`part`/`quit` with something similar to:
```
[2016-10-03 23:19:29] * astorije2 (~lounge-us@123.45.67.89 ) join
[2016-10-03 23:22:04] * foobar (~foo@irc.example.com ) join
[2016-10-03 23:22:00] * foo (foo@gateway/web/freenode/ip.12.34.56.789) quit Quit: Page closed
[2016-10-03 23:22:12] * bar (~foo@unaffiliated/bar) quit Ping timeout: 252 seconds
[2016-10-03 23:31:23] * astorije (~astorije@128.30.0.0) part
```
2016-10-03 19:40:26 -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