Hard Lounge - IRCv5 Compliant Webchat Client https://webchat.supernets.org
Go to file
Jérémie Astori d1548572d4
Move the sign out button to the settings and empty local storage on sign out
This change improves privacy/security by ensuring all local storage (which includes settings, etc.) is destroyed on sign out or when revoking a remote session. Because signing out is now more "risky", the button has been moved to the settings along with other existing sessions.

This commit:

- Removes the power/sign-out icon from the sidebar footer (gives additional room for when the admin panel gets added)
- Adds a "Sign out" button next to the current session info in the settings session list
- Renames "Disconnect" buttons into "Revoke" to better clarify the intent (I will admit that I borrowed the wording from Telegram)
- Fixes incorrect `localStorage.remove` method
- Uses Sinon.js to mock wrappers for `window.localStorage` and `window.location` (does not mock those themselves, in the "Do not mock what you do not own" fashion, mock our layer instead). I expect we will be able to test a bit more from the UI with this. A good next candidate will be the `mockLogger` things.
2018-03-20 01:52:22 -04:00
client Move the sign out button to the settings and empty local storage on sign out 2018-03-20 01:52:22 -04:00
defaults Add message indexing 2018-03-08 20:23:29 +02:00
scripts Improve accessibility for emoji 2018-03-18 12:13:48 -07:00
src Print failed login attempts to console 2018-03-17 10:09:59 +02:00
test Move the sign out button to the settings and empty local storage on sign out 2018-03-20 01:52:22 -04:00
.editorconfig Use stylelint-config-standard 2017-06-22 11:23:50 +03:00
.eslintignore Create public folder with webpack 2017-10-18 21:20:12 +03:00
.eslintrc.yml Enforce object literal shorthand syntax with ESLint 2018-03-15 00:22:09 -04:00
.gitattributes Add gitattributes to normalize line endings 2016-01-24 16:12:08 +02:00
.gitignore Add yarn.lock, update CI services to run yarn 2018-02-20 11:28:14 +02:00
.npmignore Do not publish Webpack config for test env 2018-02-21 01:19:16 -05:00
.npmrc Set sign-git-tag to true in .npmrc 2018-01-11 17:12:04 +02:00
.stylelintrc.yml Update stylelint rules 2017-11-26 14:28:33 +02:00
.thelounge_home Switch default home location to ~/.thelounge and remove support of .lounge_home 2018-02-19 20:43:53 +02:00
.travis.yml Update all links to thelounge repository 2018-02-21 22:47:52 -05:00
appveyor.yml Instrument client code before running tests 2018-02-20 15:32:30 +02:00
CHANGELOG.md Add changelog entry for v3.0.0-pre.3 2018-03-08 21:27:00 -05:00
CONTRIBUTING.md Back to help wanted label 2018-02-23 15:40:36 +02:00
index.js Auto-fix code for padding-line-between-statements rule 2018-02-20 09:28:04 +02:00
LICENSE Update LICENSE notice to add ours on top of @erming and Shout 2016-02-10 06:20:05 +00:00
package.json Move the sign out button to the settings and empty local storage on sign out 2018-03-20 01:52:22 -04:00
README.md Point download badge to npm-stat instead of npm 2018-02-25 16:36:47 -05:00
SECURITY.md Remove mailto: part of security email address 2018-03-12 03:54:10 -04:00
SUPPORT.md Add a SUPPORT file 2017-08-01 01:41:49 -04:00
webpack.config-browser.js Enable in-browser run of client testing 2018-02-23 23:52:36 -05:00
webpack.config-test.js Instrument client code before running tests 2018-02-20 15:32:30 +02:00
webpack.config.js Switch to Font Awesome 5 2018-03-11 15:57:35 -04:00
yarn.lock Move the sign out button to the settings and empty local storage on sign out 2018-03-20 01:52:22 -04:00

The Lounge

Modern web IRC client designed for self-hosting

WebsiteDocsDemo

#thelounge IRC channel on freenode
npm version Travis CI Build Status AppVeyor Build Status Dependencies Status Total downloads on npm

Overview

  • Modern features brought to IRC. Push notifications, link previews, new message markers, and more bring IRC to the 21st century.
  • Always connected. Remains connected to IRC servers while you are offline.
  • Cross platform. It doesn't matter what OS you use, it just works wherever Node.js runs.
  • Responsive interface. The client works smoothly on every desktop, smartphone and tablet.
  • Synchronized experience. Always resume where you left off no matter what device.

To learn more about configuration, usage and features of The Lounge, take a look at the website.

The Lounge is the official and community-managed fork of Shout, by Mattias Erming.

Installation and usage

The Lounge requires Node.js v6 or more recent. Yarn package manager is also recommended (npm will also work).

Run this in a terminal to install (or upgrade) the latest stable release from npm registry:

[sudo] yarn global add thelounge

If you already have The Lounge installed globally, use the following command to update it:

[sudo] yarn global upgrade thelounge

When installation is complete, run:

thelounge start

For more information, read the documentation, wiki, or run:

thelounge --help

Running from source

The following commands install and run the development version of The Lounge:

git clone https://github.com/thelounge/thelounge.git
cd thelounge
yarn install
NODE_ENV=production yarn build
yarn start

When installed like this, thelounge executable is not created. Use node index <command> to run commands.

⚠️ While it is the most recent codebase, this is not production-ready! Run at your own risk. It is also not recommended to run this as root.

Development setup

Simply follow the instructions to run The Lounge from source above, on your own fork.

Before submitting any change, make sure to:

  • Read the Contributing instructions
  • Run npm test to execute linters and test suite
  • Run npm run build if you change or add anything in client/js or client/views