No description
Find a file
Reto Brunner 74aff7ee5a introduce storage cleaner
Once this is getting hooked up, it'll periodically delete old
messages.

The StoragePolicy can be chosen by the user, currently there's
two versions, delete everything based on age is the obvious.

The other is for the data hoarders among us. It'll only delete
message types which can be considered low value... Types with
a time aspect like away / back... joins / parts etc.

It tries to do that in a sensible way, so that we don't block
all other db writers that are ongoing.
The "periodically" interval is by design not exposed to the user.
2023-12-24 16:55:45 +01:00
.github chore(deps): update actions/setup-node action to v4 2023-10-24 16:50:41 +00:00
.vscode TypeScript and Vue 3 (#4559) 2022-06-18 17:25:21 -07:00
client introduce storage cleaner 2023-12-24 16:55:45 +01:00
defaults introduce storage cleaner 2023-12-24 16:55:45 +01:00
scripts use shebang for generate-emoji script 2023-07-15 10:40:44 +02:00
server introduce storage cleaner 2023-12-24 16:55:45 +01:00
shared Move condensedTypes to shared/ 2023-01-30 09:14:40 +01:00
test sqlite: implement deleteMessages 2023-12-23 21:08:07 +01:00
.browserslistrc Use postcss to optimize css 2019-11-01 13:47:18 +02:00
.editorconfig Set up Prettier on md, html, json, and yaml 2019-07-17 10:22:30 +01:00
.eslintignore TypeScript and Vue 3 (#4559) 2022-06-18 17:25:21 -07:00
.eslintrc.cjs eslint: add shared/ 2023-01-30 09:14:40 +01:00
.gitattributes Add gitattributes to normalize line endings 2016-01-24 16:12:08 +02:00
.gitignore TypeScript and Vue 3 (#4559) 2022-06-18 17:25:21 -07:00
.npmrc Set sign-git-tag to true in .npmrc 2018-01-11 17:12:04 +02:00
.prettierignore TypeScript and Vue 3 (#4559) 2022-06-18 17:25:21 -07:00
.thelounge_home Switch default home location to ~/.thelounge and remove support of .lounge_home 2018-02-19 20:43:53 +02:00
babel.config.cjs TypeScript and Vue 3 (#4559) 2022-06-18 17:25:21 -07:00
CHANGELOG.md v4.4.1 2023-06-13 08:24:37 +02:00
index.js TypeScript and Vue 3 (#4559) 2022-06-18 17:25:21 -07:00
LICENSE Update LICENSE notice to add ours on top of @erming and Shout 2016-02-10 06:20:05 +00:00
package.json Merge 'renovate/cheerio-0.x' 2023-12-20 07:40:09 +01:00
postcss.config.js Use postcss to optimize css 2019-11-01 13:47:18 +02:00
prettier.config.cjs Convert configs to cjs, move babel to own file, combine webpack configs (#4561) 2022-05-02 19:19:12 -07:00
README.md TypeScript and Vue 3 (#4559) 2022-06-18 17:25:21 -07:00
renovate.json renovate: Disable digest updates 2022-04-13 21:48:21 +02:00
SECURITY.md Change the IRC server to Libera.Chat 2021-05-23 16:40:08 +02:00
stylelint.config.cjs Convert configs to cjs, move babel to own file, combine webpack configs (#4561) 2022-05-02 19:19:12 -07:00
tsconfig.base.json base tsconfig: remove files section 2023-01-30 09:14:40 +01:00
tsconfig.json tsconfig: Add shared reference 2023-01-30 09:14:40 +01:00
volar.config.js TypeScript and Vue 3 (#4559) 2022-06-18 17:25:21 -07:00
webpack.config.ts client: use the versions in shared/ where applicable 2023-01-30 09:14:40 +01:00
yarn.lock build(deps): bump @babel/traverse from 7.18.9 to 7.23.6 2023-12-23 10:07:23 +00:00

The Lounge

Modern web IRC client designed for self-hosting

WebsiteDocsDemoDocker

#thelounge IRC channel on Libera.Chat npm version Build 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 latest Node.js LTS version or more recent. The Yarn package manager is also recommended. If you want to install with npm, --unsafe-perm is required for a correct install.

Running stable releases

Please refer to the install and upgrade documentation on our website for all available installation methods.

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 yarn test to execute linters and the test suite
    • Run yarn format:prettier if linting fails
  • Run yarn build:client if you change or add anything in client/js or client/components
    • The built files will be output to public/ by webpack
  • Run yarn build:server if you change anything in server/
    • The built files will be output to dist/ by tsc
  • yarn dev can be used to start The Lounge with hot module reloading