Code Monkey home page Code Monkey logo

thelounge.github.io's Introduction

The Lounge

Modern web IRC client designed for self-hosting

Website โ€ข Docs โ€ข Demo โ€ข Docker

#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.

thelounge.github.io's People

Contributors

aab12345 avatar almckinlay avatar astorije avatar benharri avatar bobobo1618 avatar brunnre8 avatar daftaupe avatar deejayy avatar dependabot[bot] avatar drkitty avatar erming avatar flotwig avatar flying-sausages avatar fnutt avatar gewoonyorick avatar jay2k1 avatar jeremiah-rs avatar jocelyndelalande avatar ledakis avatar mandihamza avatar maxleiter avatar maxpoulin64 avatar minidigger avatar rosiak avatar syntaxcoloring avatar tehpegasus avatar vpenso avatar williamboman avatar williamjacksn avatar xpaw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

thelounge.github.io's Issues

Ability to hide server list

This is not an issue but a "nice to have" feature.

The ability to hide the server's list on the left, the same way we can hide the nicknames list on the right.

/docs redirects to /docs/

Either we should update links to include last slash, or change it up so /docs actually loads without redirecting.

User changes nick, client doesn't follow.

I have come to this client from Irssi, and when a user in a query with yourself, if they change nicks the server follows that change and update see here for the the specific c file for how it is handled.

It would be nice to see this added, I have little to no (node)js experience at all or I'd do it myself.

Explain ~ and \\ in configuration paths

Since our configuration file is technically a javascript file, escape sequences apply for \ character. On windows you have to specify paths with \ and thus your config has to contain paths like C:\\Users\\etc\\

Also explain that ~ can be used to expand to home path (even on Windows!)

Guide - Install for Windows - WIP

Issue: to be tagged as documentation

I am looking myself into creating a full guide for windows users that might feel left out a little on how to get the lounge set up from start to finish.

This guide will fully support:

  • Windows 10, Windows 11 and Server 64 Bit OS installations.
  • Batch script to install the core automatically.
  • A simple batch script to start the service once fully installed.
  • A manual way on how to install it, section by section.

Has anyone actually wanted to get the lounge up and running on windows OS
.. or failed or would like to know more information about it?

Deny robots on 'next' subdomain

We wouldn't want search engines to accidentally index that.

I presume we can detect the branch name when netlify is deploying, and change robots.txt into a template which put this in robots:

User-agent: *
Disallow: /

Add a "Community supported" to the landing page

This is a spin-off of #9. A new item could be added to the landing page, explaining why the fact it's community supported matters.

First try:

# Community supported

The development of TheLounge is made by a growing and dedicated community of people.
We try our best to be as friendly as possible and welcome any contributions.
(The Lounge is a fork of Shout, you can read more about it here [link]).

demo.thelounge.chat cannot connect to Libera.Chat

Screenshot 2022-01-09 at 15 55 08

Network created, connecting to irc.libera.chat:6697...
15:54 *** Connection closed unexpectedly: Error: 140147552769920:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:
15:54  Disconnected from the network, and will not reconnect. Use /connect to reconnect again.

Documentation recommends using non-supported Node.js

The install doc for Ubuntu and Debian says to install Node.js with:

sudo apt-get -y install nodejs-legacy npm

On Debian Jessie, nodejs-legacy is in v0.10. It goes to v4.x in Stretch only, which will not be here before a year.

Same with Ubuntu Trusty Tahr, the current LTS and the following version, Wily Werefolf. It's in v4.x only since the last version, Xenial Xerus, released 2 months ago.

Considering we are dropping support for Node.js v0.10, we should probably specify in the doc that, unless people are running Debian Stretch or Ubuntu Xenial Xerus, they should be installing Node through Nodesource or whatever instead of apt-get. Any suggestions? (Ping @JocelynDelalande, it's been a while ๐Ÿ˜„).

Improve our SEO

Probably need to write some extra information about what the client is, what IRC is and stuff like that.

Also schema.org markup should improve some things.

Add most basic example of config.js

Hi!

I'm missing an example of how the config.js file is structured.

I read "Start by locating the config.js file in the configuration folder, which depends on how you installed The Lounge." but I am using the Docker image so I don't have a config.js anywhere.

I've created a Dockerfile with:

FROM thelounge/thelounge

ADD config.js /var/opt/thelounge/

I would expect there to be a minimal example of the complete config.js e.g. (not sure if this is correct)

module.exports = {
  // options here
}

This way it's very clear what the file should look like.

gr,

Tom

Rewrite jQuery code with vanilla js

This is to be done after the documentation revamp.

There's practically not a lot of code, and we can easily rewrite it without using any libraries.

install.md: Instructions invalid for Debian

In _docs/getting_started/install.md, the section titled "Ubuntu / Debian" suggests using sudo apt-get -y install nodejs-legacy npm.

On Debian stable, nodejs == nodejs-legacy, which is version 0.10.29. Lounge does not run on node 0.10.29. This does not affect Debian testing, where nodejs-legacy is 4.x (4.6.1 right now) and is thus usable.

The instructions for Debian stable should recommend manually installing node 4.x (or above? Not sure how far up it goes).

Include HTTPS setup in the docs

Someone wrote a documentation about setting up HTTPS for The Lounge with self-signed certificates: https://nertant.com/2016/03/12/enabling-https-ssl-connection-with-the-lounge-self-hosted-irc-client/

Similarly, @YaManicKill made a wiki page some time ago about setting up Let's Encrypt certificates: https://github.com/thelounge/lounge/wiki/Enable-HTTPS-with-Let's-Encrypt

We should probably document this properly and "officially" in this repository instead.

We might want to answer the following questions first:

  • Do we want to document about self-signed certificates? Actual CA-approved certificates? Both?
  • Do we use Let's Encrypt as an example (therefore, implicitly recommending it) or assume reader comes with their own certificate?
  • Where do we locate this in the docs?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.