238e894377
- There is no client caching of the changelog/version anymore. Instead, server returns the expiration date of its cache, and that is used by the client as well. - There is now a "Check now" button on the client that appears when data is stale. This means that info is fetched only once and never refreshed (it was refreshed every hour before) unless the user explicitly wants to check latest version, which in turn is as stale as server info is, i.e. 15 minutes max. - Button style is shared with the "Join a channel" feature, `.btn-small` (not `.btn-sm` to be explicit that this is not a Bootstrap thing). - Version checker content is now centralized in the `version_checker` template, instead of being partially in the checker template, partially in the Help template, and partially in the code. - A "Try again" button lets user attempt to fetch info instead of forcing them to reload the page. - Use Flexbox to display a nicer version checker: icon is slightly bigger, and button is always aligned on the right. - Changelog logic has been removed from `lounge.js` and moved into the component file. - Changelog template is only passed what it needs instead of everything the server gives us. - Public version now displays version checker, since server is caching things. - Cleaner code overall. |
||
---|---|---|
client | ||
defaults | ||
scripts | ||
src | ||
test | ||
.editorconfig | ||
.eslintignore | ||
.eslintrc.yml | ||
.gitattributes | ||
.gitignore | ||
.npmignore | ||
.npmrc | ||
.nycrc | ||
.stylelintrc.yml | ||
.thelounge_home | ||
.travis.yml | ||
appveyor.yml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
index.js | ||
LICENSE | ||
package.json | ||
README.md | ||
SUPPORT.md | ||
webpack.config.js |
The Lounge
Modern web IRC client designed for self-hosting.
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 v4 or more recent.
Running stable releases from npm (recommended)
Run this in a terminal to install (or upgrade) the latest stable release from npm:
[sudo] npm install -g 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/lounge.git
cd lounge
npm install
NODE_ENV=production npm run build
npm start
When installed like this, npm doesn't create a thelounge
executable. Use npm start -- <command>
to run subcommands.
⚠️ 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 inclient/js
orclient/views