thelounge

💬 ‎ Modern, responsive, cross-platform, self-hosted web IRC client

MIT License

Downloads
1.3K
Stars
5.5K
Committers
180

Bot releases are visible (Hide)

thelounge - v3.1.0-pre.2 - 2019-05-28

Published by xPaw over 5 years ago

See the full changelog

This is a pre-release for v3.1.0 to offer latest changes without having to wait for a stable release.
At this stage, features may still be added or modified until the first release candidate for this version gets released.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

yarn global add thelounge@next
thelounge - v3.1.0-pre.1 - 2019-05-11

Published by xPaw over 5 years ago

See the full changelog

This is a pre-release for v3.1.0 to offer latest changes without having to wait for a stable release.
At this stage, features may still be added or modified until the first release candidate for this version gets released.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

yarn global add thelounge@next
thelounge - v3.0.1 - 2019-02-11

Published by xPaw over 5 years ago

See the full changelog

This patch release fixes a few small things that made it to the previous release.

It includes fixes for issues related to: reconnecting when a nickname is already in use, unnecessary highlights on invites, the auto-expandable message input, channels starting with & or +, the /disconnect command, and file uploads. Additionally, part messages for the current user are now logged.

A more comprehensive list of changes is available below.

Changed

  • Update production dependencies to their latest versions:

Fixed

  • Always emit part message (required for logging) (#2989 by @xPaw)
  • Fix line-height to match height in input (#2995 by @xPaw)
  • Fix incorrect 404 error for files with unknown file type (#3010 by @xPaw)
  • Fix up link insertion after uploads to be saner (#3011 by @xPaw)
  • Do not get highlight on invites (#3031 by @creesch)
  • Allow forcing /disconnect to stop reconnection timer from running (#3034 by @xPaw)
  • Fix up textarea growing to avoid rounding issues in Chrome (#3033 by @xPaw)

Documentation

In the main repository:

  • Do not report the (renamed) Renovate bot as a contributor (#2997 by @astorije)
  • Add webirc key and commas in configuration file examples to make them more understandable (#3008 by @xPaw)

On the website repository:

Internals

thelounge - v3.0.0 - 2019-01-27

Published by astorije over 5 years ago

For more details, see the full changelog and milestone.

Almost a year in the making, 1500+ commits, 650+ merged PRs, and 30+ contributors, The Lounge v3.0.0 really is the release of all the superlatives. It ships some of our most-upvoted and longest-awaited feature requests, with significant improvements all across the board, and a brand new documentation website.

TL;DR: If you are only looking for a simple list of breaking changes before we jump onto a shortlist of the top changes below, we now have an upgrade guide. You can also try our demo to see and test the new features.

We rewrote our entire documentation from scratch to better reflect the full capabilities of The Lounge. The website is now mobile-friendly, has a search feature, detailed pages about installation, usage, and configuration, and a list of guides to make The Lounge effortless to set up to your needs.

The first thing you might notice is how the overall UI has changed. We extracted Crypto and Zenburn into dedicated themes to only ship our default and updated theme, and Morning, the dark version of our default theme. Our logo made its way to the client and its notification-aware favicons. Speaking of notifications, the browser window title now contains the number of unread notifications you have received:

One of the most notable additions of this release is the ability to reload messages from history (previous conversations and channels) between restarts of The Lounge. This bridges a significant and long-standing gap with other traditional IRC clients, and creates an opportunity for more advanced features (such as a search capability). See the corresponding configuration option for more details.

The Lounge now lets you upload files! Once enabled in your configuration file, you can directly upload files and images from the UI:

A new set of commands gives you the ability to ignore users based on nickname or hostmask: /ignore, /unignore, and /ignorelist.

📂 The channel list packs a lot of improvements:

  • It is now possible to collapse channels/direct messages under a given network:
  • New keyboard shortcuts have been added to easily navigate between lobbies. A list of all available shortcuts can be found in the Help window of the client.

  • You can now edit existing networks from the UI. Most changes will take effect after the next reconnection, but editing the network name will go into effect immediately.

  • You can also disconnect and re-connect directly from the network context menu. Disconnected networks will stay disconnected upon restarts of the server.

  • Networks now reflect their connection and security status. For a network to be considered secure, it has to use a valid and trusted TLS certificate (trusted by your Node.js installation) or to be connected to localhost.

  • When joining a new channel, it is now added to the list in alphabetical order. You can still sort channels yourself by dragging them around.

  • The channel list can now be hidden on desktop devices.

🌍 Links previews have also been improved:

  • They gained an expand button if the title or description text is truncated:
  • Your browser language is now passed onto the server of the URL being fetched so that previews can be displayed in your language (depending on remote server support).

  • Any error occuring while pre-fetching a URL (e.g. request failure or max size exceeded) will be displayed on the interface. More details can be seen by expanding the preview.

💬 The message input also gets a few improvements:

  • You can now easily wrap text with quotes, brackets, parentheses, etc. by selecting characters then hitting the corresponding key:
  • The input bar no longer aggressively steals the keyboard focus. This change makes it possible to tab through focusable/clickable elements in the UI. Typing or pasting text (using Ctrl/+V) anywhere when nothing is in focus will however automatically set the focus to the input bar.

⚙️ Here are a few new things you may notice in the client settings window:

  • Some settings may now be hidden behind the new "Advanced settings" checkbox:
  • You can now (optionally) synchronize client settings across all your devices:
  • You can also instruct your device to open all URLs starting with irc:// using The Lounge:

🖥 Administrators handling the server and using the CLI will notice a few changes:

  • Text log format has been modified to improve formatting and consistency with other IRC software. The logs.format and logs.timezone settings have been removed. The Lounge now logs timestamps using a format of YYYY-MM-DD HH:mm:ss (which used to be the default value) in UTC timezone. These are some of the breaking changes we have documented in our upgrade guide.

  • The inline documentation of the configuration file that gets generated at ~/.thelounge/config.js has been entirely rewritten. It can also be found in a rich-format on the configuration documentation.

  • The thelounge install command now allows you to install a specific version, such as thelounge install [email protected].

  • A new command, thelounge update, has been added to update all installed packages and themes at once.

  • Message logging is now enabled for LDAP users.

💎 Other notable changes:

  • Visibility of the password fields can now be toggled using the eye icon:
  • If you are operator in a channel, the user context menu now lets you voice/devoice and op/deop users:
  • MOTDs in network windows have been improved to correctly display ASCII art:
  • The /whowas command is now supported and its response is displayed in a direct message window.

  • It is now possible to include randomly-generated numbers into the default nickname on page load, using percent signs (%). For example, this helps avoiding nick collisions in public mode. See the configuration option.

  • URL detection in messages now supports links without protocol or www. prefixes (if the top-level domain is valid) and has been improved overall by switching to a better library.

  • Accessibility of the interface has been improved throughout the interface. If you are an assistive technology user and encounter accessibility issues, we encourage you to open an issue on GitHub to help us identifying and resolving them.

  • Among other improvements to CTCP handling, the network window now reports when someone is making a CTCP request against your nickname:

This concludes the highlights of this release, but there is a lot more to it: new and improved features, security fixes, etc., of which you will find a more comprehensive list below.

So much work has happened in the last year, result of the hard work of so many contributors that we are incredibly thankful for. We hope you will love The Lounge v3. ❤️

One more thing: we started an Open Collective a few months back, where recurring and one-time donations are welcome, should you wish to help us financially. Among other things, it allows us to assemble and ship free sticker packs, so make sure to grab yours!

Added

Changed

Deprecated

Removed

  • Switch to Node v6 as the minimal supported version (#1727 by @astorije, #2907 by @xPaw)
  • Remove autoload deprecation notice (#1728 by @astorije)
  • Remove deprecated support for debug as a boolean in the configuration file (#1729 by @astorije)
  • Remove deprecated support for the --home option and $LOUNGE_HOME environment variable (#1733 by @astorije)
  • Get rid of Object.assign polyfill (#1760 by @astorije)
  • Remove deprecated options for thelounge start (#1834 by @astorije)
  • Remove session token hash conversion (#1966 by @xPaw)
  • Remove deprecated support for CSS filenames in theme configuration (#1730 by @astorije)
  • Remove support for the lounge CLI (which was replaced with thelounge) (#2077 by @astorije)
  • Remove thelounge config from the CLI (#2196 by @astorije)
  • Remove nick editor (#2337 by @xPaw)
  • Remove ability to change date format and timezone (#2506 by @xPaw)

Fixed

  • Fix CTCP commands always sent upper-case (#1927 by @astorije)
  • Rewrite CTCP handling (#1928 by @xPaw)
  • Send empty banlist error to lobby for channels user is not in (#2095 by @xPaw)
  • Change wsEngine to ws (#2099 by @xPaw)
  • Fix log.warn in LDAP (#2106 by @xPaw)
  • Always correctly trigger sticky scroll on .chat container (#2107 by @xPaw)
  • Fix "rendering..." getting stuck on first connection (#2109 by @xPaw)
  • Change "Leave" button tooltip to correspond with right click context menu (#2115 by @fnutt)
  • Revert "Allow scaling the page" (#2122 by @astorije)
  • Set channel state to joined when channel already exists (#2142 by @xPaw)
  • Do not crash when user file can not be read or written (#2143 by @xPaw)
  • Cleanup chat/userlist to use flexbox, fix a couple of bugs (#2150, #2160 by @xPaw)
  • Fix default ECDH curve for better compatibility (#2159, #2163 by @xPaw)
  • Do not listen to touch events until client is initialized (#2158 by @xPaw)
  • Normalize unicode URLs in link prefetcher (#2171 by @xPaw)
  • Fix background color when hovering users in user list (darker themes) (#2172 by @williamboman)
  • Always hide horizontal overflow in chat (#2177 by @xPaw)
  • Do not include colon in push message for actions (#2179 by @xPaw)
  • Do not crash when awayMessage is set but IRC connection does not exist (#2181 by @xPaw)
  • Remove contain as it's causing rendering issues (#2182 by @xPaw)
  • Allow overriding arrays in config, warn about incorrect types (#2189 by @xPaw)
  • Don't access Notification if the browser does not support it (#2192 by @creesch)
  • Do not repaint theme on page load (#2213 by @xPaw)
  • Fix some URLs not being sent as-is to the client (#2217 by @xPaw)
  • Send hexip in ident responses (#2237 by @xPaw)
  • Rework how unread marker is moved when status messages are hidden (#2236 by @xPaw)
  • Fix incorrect spelling (#2243 by @birkof)
  • Support strikethrough and underline at same time (#2248 by @MaxLeiter)
  • Render video and audio previews only after canplay event fires (#2251 by @xPaw)
  • Stop propagation, prevent input history call when alt is involved (#2262 by @realies)
  • Scroll channel list only when using keybinds (#2259 by @xPaw)
  • Fix order in oidentd file (#2273 by @xPaw)
  • Hide autocompletion menu when input is submitted (#2284 by @xPaw)
  • Send Accept header when fetching links (#2287 by @xPaw)
  • Fix/Improve some nick fallbacks (#2297 by @astorije)
  • Remove left padding from sidebar in example theme (#2309 by @xPaw)
  • Fix line-height showing scrollbar on mobile (#2331 by @xPaw)
  • Prevent undefined OS version in session list (#2340 by @dgw)
  • Enable sync on empty local storage, force sync, sync on both load and reconnect (#2317 by @creesch, #2544 by @xPaw)
  • Fix nicks with special characters being colored incorrectly in messages (#2363 by @xPaw)
  • Quick-fix tooltips not being loaded by Webpack (#2367 by @astorije)
  • Fix user list scroll area expanding behind the message input on mobile (#2364 by @astorije)
  • Fix your own nick in auto completion (#2381 by @xPaw)
  • Make a separate function to execute yarn commands; fallback to global yarn (#2385 by @xPaw)
  • Fix join channel UI moving when sorting channels (#2404 by @xPaw)
  • Fix CSS issues in Microsoft Edge (#2409 by @xPaw)
  • Add prefix to channels from connect window (#2378 by @xPaw)
  • Specify parseInt base in respondToIdent (#2439 by @xPaw)
  • Pointer cursor hovering nicks in user list (#2445 by @MaxLeiter)
  • Show connect window when last network is removed (#2480 by @xPaw)
  • Fix being unable to click channel link in chan after being kicked (#2482 by @Jay2k1)
  • Prevent long lobby names pushing badges out of sidebar (#2503 by @dgw)
  • Do not mark your nick changes as self in each channel (#2505 by @xPaw)
  • If a preview fails to load, remove the link from msg object (#2504 by @xPaw)
  • Fix /away not setting you away (#2524 by @xPaw)
  • Use http: for protocol-less URLs (#2532 by @benharri)
  • Fix word boundary in the custom highlights regex not matching unicode (#2534 by @McInkay)
  • Fix multiple <title> tags being concatenated (#2543 by @xPaw)
  • Synchronize number of highlighted messages to client (#2547 by @xPaw)
  • Log notices as correct sender when it will be shown in active window (#2550 by @xPaw)
  • Do not remove date marker when loading history if date changes (#2567 by @xPaw)
  • Reset highlights on self messages; update title when other client opens a channel (#2580 by @xPaw)
  • Fix text not having enough space in <select> with some fonts (#2548 by @xPaw)
  • Name close button text on channels "Leave" and keep "Close" for other types (#2593 by @MaxLeiter)
  • Disable username auto-capitalization on login form input field (#2617 by @fnutt)
  • Make user list state consistent on mobile and desktop (#2599 by @xPaw)
  • Fix incorrect target in connect/disconnect context menu (#2626 by @xPaw)
  • Stop handling CTCP messages if the sender/target is ignored (#2609 by @RockyTV)
  • Fix disabling autocomplete and fix completing special channels (#2630 by @xPaw)
  • Remove extra closing tag (#2639 by @xPaw)
  • Do not write /list messages to logs (#2637 by @xPaw)
  • Fix ignore list resetting on server restart (#2640 by @xPaw)
  • Change alert sound from OGG to WAV (#2655 by @realies)
  • Fix IRC modifiers not working with caps lock (#2677 by @xPaw)
  • Fix bugs with URL overrides in Connect window (#2702 by @astorije)
  • Hide Native App settings section when no items are available (#2705 by @MaxLeiter)
  • Fix displaying away message multiple times in query windows (#2721 by @xPaw)
  • Make sure data is an object (#2730 by @xPaw)
  • Drop spdy module in favor of native https module (#2732 by @xPaw)
  • Enforce lobby to be the 0th channel when sorting (#2733 by @xPaw)
  • Add try/catch to localStorage methods (#2701 by @adamus1red)
  • Fix passwords not being saved in Firefox (#2741 by @xPaw)
  • Add 3 commands that were missing on client autocomplete (#2756 by @McInkay)
  • Fix fullscreen mode for videos (#2775 by @richrd)
  • Fix issues in regards to ignoring your own nickname (#2795 by @xPaw)
  • Fix extra padding in condensed messages on mobile (#2798 by @xPaw)
  • Fix stored image previews not being dereferenced (#2824 by @xPaw)
  • Make sure registered command is actually a function (#2848 by @xPaw)
  • Use hasOwnProperty when checking for webirc (#2849 by @xPaw)
  • Hard limit nicks to 100 characters, add maxlength on connect inputs (#2858 by @xPaw)
  • Fix timing issue crashing on undefined when setting openChannel (#2859 by @xPaw)
  • Serve requests from cache when server responds with non 2xx response (#2973 by @xPaw)
  • Add fallback IP address for unix sockets (#2967 by @xPaw)
  • Don't fallback to host in identd server (#2958 by @xPaw)
  • Fix .active styles incorrectly applying to hovered users in userlist (#2975 by @xPaw)
  • Empty storage directory after destroying all channels (#2937 by @xPaw)
  • Add an extra check for setting names (#2977 by @xPaw)
  • Fix highlight styles not applying to notices and actions (#2980 by @xPaw)
  • Set yarn cache folder in the packages folder (#2979 by @xPaw)

Security

  • Sync network status and security to client UI (#2049 by @xPaw)
  • Consider localhost connections secure (#2081 by @xPaw)
  • Ignore events on the server if incorrect data is supplied (#2088 by @xPaw)
  • Allow setting rejectUnauthorized per network (#2075, #2154 by @xPaw)
  • Print failed login attempts to console (#2247 by @xPaw)
  • Empty local storage on sign out and move the sign out button to the settings (#2254 by @astorije)
  • Use attr() on user-controlled data (#2398, #2406 by @xPaw)

Documentation

In the main repository:

On the website repository:

Internals

thelounge - v3.0.0-rc.6 - 2019-01-15

Published by xPaw almost 6 years ago

See the full changelog

This is a release candidate (RC) for v3.0.0 to ensure maximum stability for public release.
Bugs may be fixed, but no further features will be added until the next stable version.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

yarn global add thelounge@next
thelounge - v3.0.0-rc.5 - 2018-11-21

Published by xPaw almost 6 years ago

See the full changelog

This is a release candidate (RC) for v3.0.0 to ensure maximum stability for public release.
Bugs may be fixed, but no further features will be added until the next stable version.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

yarn global add thelounge@next
thelounge - v3.0.0-rc.4 - 2018-10-26

Published by xPaw almost 6 years ago

See the full changelog

This is a release candidate (RC) for v3.0.0 to ensure maximum stability for public release.
Bugs may be fixed, but no further features will be added until the next stable version.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

yarn global add thelounge@next
thelounge - v3.0.0-rc.3 - 2018-10-10

Published by xPaw about 6 years ago

See the full changelog

This is a release candidate (RC) for v3.0.0 to ensure maximum stability for public release.
Bugs may be fixed, but no further features will be added until the next stable version.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

yarn global add thelounge@next
thelounge - v3.0.0-rc.2 - 2018-10-08

Published by xPaw about 6 years ago

See the full changelog

This is a release candidate (RC) for v3.0.0 to ensure maximum stability for public release.
Bugs may be fixed, but no further features will be added until the next stable version.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

yarn global add thelounge@next
thelounge - v3.0.0-rc.1 - 2018-09-20

Published by astorije about 6 years ago

See the full changelog

This is a release candidate (RC) for v3.0.0 to ensure maximum stability for public release.
Bugs may be fixed, but no further features will be added until the next stable version.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

yarn global add thelounge@next
thelounge - v3.0.0-pre.8 - 2018-08-25

Published by astorije about 6 years ago

See the full changelog

This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release.
At this stage, features may still be added or modified until the first release candidate for this version gets released.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

yarn global add thelounge@next
thelounge - v3.0.0-pre.7 - 2018-06-19

Published by astorije over 6 years ago

See the full changelog

This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release.
At this stage, features may still be added or modified until the first release candidate for this version gets released.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

npm install -g thelounge@next
thelounge - v3.0.0-pre.6 - 2018-05-26

Published by astorije over 6 years ago

See the full changelog

This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release.
At this stage, features may still be added or modified until the first release candidate for this version gets released.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

npm install -g thelounge@next
thelounge - v3.0.0-pre.5 - 2018-03-28

Published by astorije over 6 years ago

See the full changelog

This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release.
At this stage, features may still be added or modified until the first release candidate for this version gets released.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

npm install -g thelounge@next
thelounge - v3.0.0-pre.4 - 2018-03-27 [Unpublished]

Published by astorije over 6 years ago

⚠️ This release was unpublished from the npm registry due to a bug affecting it.

See the full changelog

This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release.
At this stage, features may still be added or modified until the first release candidate for this version gets released.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

npm install -g thelounge@next
thelounge - v3.0.0-pre.3 - 2018-03-08

Published by astorije over 6 years ago

See the full changelog

This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release.
At this stage, features may still be added or modified until the first release candidate for this version gets released.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

npm install -g thelounge@next
thelounge - v3.0.0-pre.2 - 2018-03-03

Published by astorije over 6 years ago

See the full changelog

This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release.
At this stage, features may still be added or modified until the first release candidate for this version gets released.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

npm install -g thelounge@next
thelounge - v3.0.0-pre.1 - 2018-02-21

Published by astorije over 6 years ago

See the full changelog

This is a pre-release for v3.0.0 to offer latest changes without having to wait for a stable release.
At this stage, features may still be added or modified until the first release candidate for this version gets released.

Please refer to the commit list given above for a complete list of changes, or wait for the stable release to get a thoroughly prepared change log entry.

As with all pre-releases, this version requires explicit use of the next tag to be installed:

npm install -g thelounge@next
thelounge - v2.7.1 - 2018-02-18

Published by astorije over 6 years ago

For more details, see the full changelog and milestone.

This releases mainly fixes bugs that were introduced by previous versions, and comes with very minor improvements to the UI. Among other things, we fixed the unread markers showing multiple times, which in turn fixes memory leaks when keeping The Lounge open for long periods of time (e.g. overnight).

This simply ensures we did not leave any unattended bugs before going for The Lounge v3.

Changed

Fixed

  • Prevent user context menu from opening while selecting text (#1955 by @xPaw)
  • Fix timestamp tooltips not aligning correctly with timestamps (#1999 by @astorije)
  • Set start_url in manifest.json so that The Lounge always opens the correct window (#2010 by @xPaw)
  • Do not statically serve the index template prior to rendering it (#1979 by @astorije)
  • Persist query windows between server restarts (#2019 by @McInkay)
  • Preload preview images before appending them to DOM (#1925 by @xPaw)
  • Fix textcomplete reference in autocompletion.disable (#2023 by @xPaw)
  • Send visible defaults when displayNetwork is false (#2025 by @xPaw)
  • Wait for server response when parting channels (#2020 by @xPaw)
  • Fix auto-open media option not working (#2027 by @xPaw)
  • Do not block /join command from being sent (#2013 by @xPaw)
  • Define which message types should not be logged (#2022 by @xPaw)
  • Fix messages not being condensed correctly (#2030 by @xPaw)
  • Fix queries going to lobby if the network name matches user name (#2037 by @xPaw)
  • Fix default theme not being correct (#2033 by @xPaw)
  • Fix duplicate chat containers and unread markers when reconnecting (#2039 by @xPaw)
  • Fix crash when hostname is changed in lockNetwork mode (#2042 by @xPaw)
  • Still render link previews if image fails to load (#2043 by @xPaw)
  • Make sure packages can be referenced in subfolders (#2045 by @xPaw)
  • Ensure packages loaded are directories (#2035 by @astorije, #2060 by @xPaw)
  • Fix border after nickname not taking full height (#2055 by @xPaw)
  • Provide exact version into npm install command (#2063 by @xPaw)
  • Track channel state to allow removing channels user is not in (#2058 by @xPaw)
  • Allow scaling the page (#1910 by @xPaw)
  • Fix bind not being passed to irc-framework (#2071 by @xPaw)

Security

  • Allow stylesheets to be served behind HTTPS in CSP rules (#2014 by @McInkay)

Internals

thelounge - v2.7.0 - 2018-01-28

Published by astorije over 6 years ago

For more details, see the full changelog and milestone.

The Lounge v2.7.0 is out, and it's a big one! Here is a shortlist of the most notable additions and changes, but as usual, a comprehensive list is available below.

It is now possible to join a channel directly from the UI:

Nicks mentioned in messages are now clickable:

Context menu actions have been improved, and new actions have been added:

A long-awaited feature, it is now possible to add customizable strings when auto-completing nicks at the beginning of a message:

The user information available when sending the /whois command (or clicking the corresponding action in a user context menu) has been enhanced:

Message styling now supports strikethrough text, monospace font, and additional colors:

The Help window gains a version checker, to inform you if a new version was released:

By clicking on the "release notes" link that can be seen above, all the details about the current version appear directly in the client:

The link previewer now supports WebP images, as well as audio and video links:

Another noticeable change is the new message alignment in the main chat window, in order to improve visual experience and reduce flickering when loading a page:

There were other changes on the client: accessibility of the application has been improved, notices and errors are now displayed in the current channel (then sent to the corresponding network window when reloading), and many bug fixes.

The Lounge v2.7.0 finally comes with its first package API, letting packages register stylesheets in the client. It is in its very early stage at the moment and is subject to change in future releases, so use it at your own risk. There will not be an official documentation before the API stabilizes in v3, but for more information, refer to the corresponding PR.

The CLI has also been improved:

  • When a password gets changed using the reset command, the new password takes effect immediately, it is not necessary to restart the server anymore.
  • A new uninstall command has been added to remove themes and packages.
  • A new --config/-c option is available to override entries of the configuration file.

⚠️ This version also comes with a few deprecations. All deprecated features are still supported in The Lounge v2.7.0 but be removed from The Lounge v3 (the next version). We recommend upgrading to v2.7.0 before upgrading to the future v3, as v2.7.0 will warn you about deprecated configurations in the server output. Those deprecations are:

  • Support for Node.js v4 is being removed, making Node.js v6 the oldest version we will support.
  • The LOUNGE_HOME environment variable is getting replaced with THELOUNGE_HOME. Use this in lieu of the deprecated --home option as well.
  • In the unlikely situation that you are relying on the .lounge_home file (mainly useful for package maintainers), it is being renamed to .thelounge_home.
  • The CLI command is being changed from lounge to thelounge.
  • All options for the start command are being removed, replaced with the --config/-c option mentioned above. For example, --public becomes -c public=true, --port 9001 becomes -c port=9001, etc.
  • Referring to themes in the theme option of the configuration file is now done through their name, not their CSS file name.

And finally... The Lounge has its own logo! 🎉

A huge thank you to Francesca Segantini, the artist who designed it!
We will start rolling out our new logo in all the relevant places as of The Lounge v3. In the meantime, you can find details about the logo (and stickers!) on the corresponding issue.

Added

Changed

Deprecated

  • Deprecate support of Node.js v4 in preparation of The Lounge v3 (#1715 by @astorije)
  • Deprecate LOUNGE_HOME environment variable in favor of THELOUNGE_HOME, .lounge_home file in favor of .thelounge_home (#1717, #1785 by @astorije)
  • Switch CLI tool from lounge to thelounge, deprecate lounge (#1708 by @astorije)
  • Deprecate existing options of thelounge start and add a generic --config override (#1820 by @astorije)
  • Rename thumbnail/image option to more general media (#1832 by @MaxLeiter)

Removed

Fixed

  • Handle empty client queries (#1676 by @realies)
  • Call callback on fetch error (#1742 by @xPaw)
  • Trigger keep to bottom for previews correctly (#1746 by @xPaw)
  • Fix duplicate text generated when sending channel and link together (#1747 by @astorije)
  • Fix text highlighting when clicking on condensed message toggles (#1748 by @MaxLeiter)
  • Do not keep sign-in and loader references in memory (#1757 by @xPaw)
  • Fix nick changes wrongly reported (#1772 by @astorije)
  • Clone instances of User in Msg to avoid unintentional mutations (#1771 by @astorije, #1859, #1865 by @xPaw)
  • Ask for notification permission on page load if setting is enabled (#1789 by @xPaw)
  • Merge condensed messages when loading more history (#1803 by @xPaw)
  • Proper network icon in context menu (#1816 by @MaxLeiter)
  • Implement reverse style (#1797 by @grissly-man)
  • Do not load user commands or display them on --help if public mode or using LDAP (#1807 by @astorije)
  • Improve user and channel icons in channel list and context menu (#1824 by @astorije)
  • Use better icons for channel/query list and context menu actions (#1829 by @astorije)
  • Fix UI issues with special channels (#1849 by @astorije)
  • Fix gap between #sidebar and #footer (#1691 by @realies)
  • Add missing time (and icon) of status messages on mobile (#1843 by @astorije)
  • Add visual feedback on focused buttons, for example when tabbing to it (#1871 by @astorije)
  • Fix missing messages when reconnecting (#1884 by @xPaw)
  • Fix slideout not closing on mobile when hitting a footer icon (#1892 by @astorije)
  • Display the correct window on page reload (#1889 by @astorije)
  • Fix error not showing up in failed push subscription (#1896 by @xPaw)
  • Only emit "more" history to the client that requested it (#1949 by @xPaw)
  • Provide correct timestamp to browser notifications (#1956 by @xPaw)
  • Fix enabling push notifications on Firefox (#1975 by @xPaw)
  • Add missing execution of callback in ClientManager.updateUser (#1978 by @merlinthp)
  • Make sure existing packages (and themes) are not deleted when installing a new one on Node.js v8 (#1986 by @astorije)
  • Stop expanding condensed messages on /expand (#2006 by @YaManicKill)

Security

  • Harden content security policy even further (#1810 by @xPaw)
  • Stop LDAP authentication from succeeding without password (#1725 by @keegan)
  • Store images with correct file extension (#1926 by @xPaw)
  • Hash user tokens, increase token entropy (#1940 by @xPaw)

Documentation

In the main repository:

  • Fix incorrect documentation URL in default config (#1875 by @MiniDigger)
  • Allow keywords as changelog script version argument, e.g. node scripts/changelog pre (#1913 by @astorije)
  • Separate and improve wording for pre and rc pre-release versions (#1914 by @astorije)
  • Add SECURITY guidelines about security vulnerability disclosures, and link them from the CONTRIBUTING guidelines (#1984 by @astorije)

Internals