No description
Find a file
Reto Brunner 231c498def release workflow: fix broken npm update
The release workflow wants to use --provenance but the update fails:

Run npm install -g npm
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/share/man/man7
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/share/man/man7'
npm ERR!  [Error: EACCES: permission denied, mkdir '/usr/local/share/man/man7'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/usr/local/share/man/man7'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

So we fix it by just telling the action what we want rather than monkey patching it.

Link: https://github.com/thelounge/thelounge/actions/runs/8580746748/job/23517165611
2024-04-06 13:31:48 +02:00
.github release workflow: fix broken npm update 2024-04-06 13:31:48 +02:00
.vscode TypeScript and Vue 3 (#4559) 2022-06-18 17:25:21 -07:00
client Add shorcut to navigate between channels with undread msgs 2024-01-27 22:50:10 +01:00
defaults introduce storage cleaner 2023-12-24 16:55:45 +01:00
scripts changelog: don't break if author is nil 2024-04-01 15:15:50 +02:00
server server: remove version from CTCP response 2024-02-01 00:09:45 -05:00
shared linkify: simplify noscheme detection logic 2024-01-21 21:18:09 +01:00
test Merge branch 'linkifyOverride' 2024-02-19 13:43:00 +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.2 2024-04-03 08:20:36 +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 v4.4.2 2024-04-03 08:20:36 +02: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 Remove husky, add githooks-install 2024-01-27 16:59:46 +01: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 Merge remote-tracking branch 'origin/renovate/node-17.x' 2024-02-19 13:37:06 +01: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

To ensure that you don't commit files that fail the linting, you can install a pre-commit git hook. Execute yarn githooks-install to do so.