Go to file
Jérémie Astori 238e894377
Improve the version checking part of the changelog feature
- 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.
2017-12-25 17:44:53 -05:00
client Improve the version checking part of the changelog feature 2017-12-25 17:44:53 -05:00
defaults Fix incorrect documentation url in default config 2017-12-22 10:16:09 +01:00
scripts Add a script to pre-generate changelog entries 2017-11-12 16:28:01 -05:00
src Improve the version checking part of the changelog feature 2017-12-25 17:44:53 -05:00
test Merge pull request #1874 from thelounge/astorije/handlebars-notEqual 2017-12-22 12:28:15 +02: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 Enable no-use-before-define rule 2017-12-06 15:57:04 +02:00
.gitattributes Add gitattributes to normalize line endings 2016-01-24 16:12:08 +02:00
.gitignore Create public folder with webpack 2017-10-18 21:20:12 +03:00
.npmignore Deprecate LOUNGE_HOME env var in favor of THELOUNGE_HOME, .lounge_home file in favor of .thelounge_home 2017-11-21 00:36:26 -05:00
.npmrc Add .npmrc file; set save-exact to true so packages are installed pinned by default 2017-06-28 21:06:23 -07:00
.nycrc Ignore coverage folder from coverage report 2017-11-30 20:33:23 -05:00
.stylelintrc.yml Update stylelint rules 2017-11-26 14:28:33 +02:00
.thelounge_home Deprecate LOUNGE_HOME env var in favor of THELOUNGE_HOME, .lounge_home file in favor of .thelounge_home 2017-11-21 00:36:26 -05:00
.travis.yml Add Node V9 testing to Travis builds 2017-11-01 02:16:21 -04:00
appveyor.yml Do not build feature branch with open pull requests on AppVeyor 2017-04-22 16:04:18 +03:00
CHANGELOG.md Add changelog entry for v2.7.0-pre.3 2017-12-15 21:28:34 -05:00
CONTRIBUTING.md Fix 'help wanted' link 2017-10-30 20:06:22 +00:00
index.js Enable ESLint no-console rule to avoid future mistakes 2017-09-17 21:50:21 -04:00
LICENSE Update LICENSE notice to add ours on top of @erming and Shout 2016-02-10 06:20:05 +00:00
package.json chore(package): update eslint to version 4.14.0 2017-12-23 23:31:34 +00:00
README.md Switch CLI tool from lounge to thelounge and deprecate lounge 2017-11-22 16:37:26 -05:00
SUPPORT.md Add a SUPPORT file 2017-08-01 01:41:49 -04:00
webpack.config.js Rename the error handlers file at loading time 2017-12-21 18:23:54 -05:00

The Lounge

Modern web IRC client designed for self-hosting.

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

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.

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 in client/js or client/views