The Lounge v2.7.0 Release Notes

Release Date: 2018-01-28 // about 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:

    The + button next to any network opens a form to join a channel.

    Nicks mentioned in messages are now clickable:

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

    Available actions on nicks in the chat window, and on channels and networks in the channel list

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

    To achieve this, set , in your client settings.

    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:

    Strikethrough is achieved with Ctrl/โŒ˜ + S. Monospace is achieved with Ctrl/โŒ˜ + M.

    ๐Ÿš€ 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

    • ๐Ÿ“œ Parse formatting in real name (#1689 by @xPaw)
    • ๐Ÿ‘ท Use service worker to display notifications if available (#1580 by @xPaw)
    • Include all available whois info (#1681 by @creesch, #1743 by @MaxLeiter)
    • ๐Ÿ”จ Focus a channel by joining it, refactor user commands #1189 (#1491 by @realies)
    • ๐Ÿ– Handle hex colors when cleaning string (#1731 by @xPaw)
    • Trim channel messages in active channel and when switching channels (#1738 by @xPaw)
    • Do not keep scroll to bottom in inactive channels (#1739 by @xPaw)
    • ๐Ÿ‘‰ Show notices and errors inline (#1380 by @xPaw)
    • โšก๏ธ Ensure passwords are reloaded when updated via CLI (#1593 by @RJacksonm1)
    • ๐Ÿ”ง Warn if user configuration being loaded is empty (#1821 by @astorije)
    • Align message container to the bottom (#1787 by @xPaw)
    • Clear storage folder after successful start and graceful exit (#1853 by @xPaw)
    • Format whois as a definition list (#1850 by @xPaw)
    • ๐Ÿ“‡ Rename "Client Settings" into "Settings" in tooltip + cleanup (#1880 by @astorije)
    • Open and focus correct channel when clicking on push notifications (#1895 by @xPaw)
    • โž• Add screen reader label for custom css textarea (#1908 by @xPaw)
    • Set aria-label on main input (#1906 by @xPaw)
    • Mute disabled inputs (#1905 by @xPaw)
    • โšก๏ธ Update production dependencies to their latest versions, by Greenkeeper ๐Ÿš€:

    ๐Ÿ—„ 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