Merge pull request #2 from thelounge/astorije/switch-to-the-lounge

The Lounge Awakens
This commit is contained in:
Jérémie Astori 2016-02-10 02:48:11 -05:00
commit 56c83c0bcf
23 changed files with 81 additions and 284 deletions

View File

@ -1,3 +1,3 @@
client/js/libs.min.js client/js/libs.min.js
client/js/libs/**/*.js client/js/libs/**/*.js
client/js/shout.templates.js client/js/lounge.templates.js

View File

@ -1,17 +0,0 @@
language: node_js
node_js:
- '0.10'
- '0.12'
- '4.0'
- '4.1'
- '4.2'
sudo: false
deploy:
provider: npm
email: jeremie@astori.fr
api_key:
secure: dbfoL5w4SuXZJxQJ6bIlb5dXLdafJt4n9nOgTsAaFTkzBbf/L9JDTWAsSXqnelwVFgu+jNqFN5l9CyMpQ0o9IBdWEaryh3FzFeaNGIGV4+2StYKoxx2c4ZUBejbr++HVa0Ha9HWZCWkpIGiLI1W52hEu+QuFnoAbeQvG+lyhQsY=
on:
node: '0.12'
tags: true
repo: erming/shout

View File

@ -1,190 +1,2 @@
0.53.0 / 2016-01-07 All releases made prior to 2016-02-09 can be found on
=================== [Shout's CHANGELOG](https://github.com/erming/shout/blob/master/CHANGELOG.md).
[See the full changelog](https://github.com/erming/shout/compare/v0.52.0...v0.53.0)
* Added a Dockerfile ([PR #477](https://github.com/erming/shout/pull/477) by [@bencevans](https://github.com/bencevans))
* Fixed a bug preventing logging on channels that contain slashes ([PR #519](https://github.com/erming/shout/pull/519) by [@lyra833](https://github.com/lyra833))
* Added missing `grunt-cli` as a required development dependencies ([PR #522](https://github.com/erming/shout/pull/522) by [@williamboman](https://github.com/williamboman))
* Added [@floogulinc](https://github.com/floogulinc) as a project maintainer
* Added consistent coding style enforcement using `ESLint` ([PR #504](https://github.com/erming/shout/pull/504) by [@williamboman](https://github.com/williamboman), [PR #547](https://github.com/erming/shout/pull/547) by [@JocelynDelalande](https://github.com/JocelynDelalande))
* Added an `.editorconfig` file ([PR #526](https://github.com/erming/shout/pull/526) by [@williamboman](https://github.com/williamboman))
* Added a size limit for image previews ([PR #503](https://github.com/erming/shout/pull/503) by [@olivierlambert](https://github.com/olivierlambert), [issue #500](https://github.com/erming/shout/issues/500))
* Fixed the development setup command ([PR #536](https://github.com/erming/shout/pull/536) by [@jancborchardt](https://github.com/jancborchardt), [issue #535](https://github.com/erming/shout/issues/535))
* Improved the [CONTRIBUTING.md](https://github.com/erming/shout/blob/master/CONTRIBUTING.md) file regarding rebasing ([PR #548](https://github.com/erming/shout/pull/548) by [@JocelynDelalande](https://github.com/JocelynDelalande))
* Made channel names in chat clickable to let users join them ([PR #385](https://github.com/erming/shout/pull/385) by [@AmShaegar13](https://github.com/AmShaegar13), [issue #361](https://github.com/erming/shout/issues/361))
0.52.0 / ???
============
???
0.51.2 / 2015-09-18
==================
* Fix XSS vulnerability (thanks @ohaal)
0.51.1 / 2015-04-29
===================
* Increase process.setMaxListeners to prevent link preview to cause a crash
0.51.0 / 2015-04-16
==================
* Added 'Crypto' theme by @aynik
* Link preview now ignores links from localhost
* Added 'displayNetwork' setting
0.49.3 / 2015-01-04
===================
* Fully expand chat when userlist is hidden
* Remove vertical whitespace in chat windows
* Support @mention
0.49.2 / 2015-01-04
===================
* Fix crash on broken links
0.49.1 / 2015-01-04
===================
* Fix undefined content-type (link plugin)
0.49.0 / 2014-12-23
===================
* Replaced superagent with request
* Solves a problem where some links would crash the server
0.48.0 / 2014-12-12
===================
* Fetch max 1 link per message
* Fix '/me' message color
* Periodically hide older messages for inactive channels
* Only confirm exit in public mode
* Added '/ns' NickServ and '/cs' ChanServ shortcuts
0.47.0 / 2014-11-19
===================
* Shout now supports fullscreen on iOS
0.46.0 / 2014-11-14
===================
* Fix commands being removed from user.json
* Added dynamic title
* Turn off input autocomplete
0.45.5 / 2014-11-05
===================
* Minor bugfixes
0.45.4 / 2014-11-05
===================
* Added username input
* Added 'morning' theme by @rikukissa
0.45.3 / 2014-10-27
===================
* Remove password argument from add command
* Support MIRC style terminators
* Fix edit command
* Fix URLs preventing proper closure of bold and color tags
* Send NOTICE messages to the correct channel
0.45.2 / 2014-10-16
===================
* Fix crash on failed TLS connect
* Hide mode from badge count
0.45.0 / 2014-10-14
===================
* Added identd daemon
* Remember user networks and channels on restart
* Show link thumbnails
* Pull link description from meta tags
* Allow binding to local IP via `--bind <ip>`
* Change 'users/' folder structure
* Change 'logs/' location
0.44.0 / 2014-10-11
===================
* Added text color
* Added 'prefetch' option
* Added drag-and-drop tolerance
* Always show right toggle
0.43.1 / 2014-10-09
===================
* Disable login button on authentication
* Fix 'shout edit' command
0.43.0 / 2014-10-08
===================
* Smarter nick completion
* Prevent multiple logins
* Fix highlight checking by lower-casing everything
* Allow relative '--home' path
0.42.0 / 2014-10-04
===================
* Split users by mode in the sidebar
* Show user mode in channel
0.41.1 / 2014-10-03
===================
* Now installs properly on Windows
0.41.0 / 2014-10-03
===================
* Use 'bcrypt-nodejs' package
* No need to compile with node-gyp during install
0.40.3 / 2014-10-02
===================
* Fix issue where actions from other users do not display
0.40.2 / 2014-10-01
===================
* Fix existsSync
0.40.1 / 2014-10-01
===================
* Fix config overwrite
0.40.0 / 2014-10-01
===================
* Prevent private mode when no user exists
* Move config to ~/.shout/
0.39.1 / 2014-09-30
===================
* Scrolling now works correctly when loading thumbnails
* List users on server start
0.39.0 / 2014-09-30
===================
* Added changelog
* Added colored nicknames (optional)

View File

@ -1,28 +1,27 @@
## Contributing ## Contributing
Welcome to the Shout community, it's great to have you here! We thank you in Welcome to The Lounge, it's great to have you here! We thank you in advance for
advance for your contributions. your contributions.
### I have a question ### I have a question
Find us on the #shout-irc channel. You might not get an answer right away, but Find us on #thelounge channel on Freenode. You might not get an answer right
this channel is filled with nice people who will be happy to help you. away, but this channel is filled with nice people who will be happy to help you.
### I want to report a bug ### I want to report a bug
First of all, look at the First of all, look at the
[open issues](https://github.com/erming/shout/issues) and [closed [open and closed issues](https://github.com/thelounge/lounge/issues?q=is%3Aissue)
issues](https://github.com/erming/shout/issues?q=is%3Aissue+is%3Aclosed) to see if this was not already discussed before.
to see if this was not alredy discussed before.
### I want to contribute to the code ### I want to contribute to the code
A good starting point if you want to help us but do not have a clear idea of A good starting point if you want to help us but do not have a clear idea of
what you can do specifically is to what you can do specifically is to
look at the open issues labeled as [*quick and look at the open issues labeled as [*quick and
easy*](https://github.com/erming/shout/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3A%22quick+and+easy%22) easy*](https://github.com/thelounge/lounge/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3A%22quick+and+easy%22)
or [*help or [*help
wanted*](https://github.com/erming/shout/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3A%22help+wanted%22). wanted*](https://github.com/thelounge/lounge/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3A%22help+wanted%22).
When you submit some code, make sure it respects the overall coding style that When you submit some code, make sure it respects the overall coding style that
is currently in place. If you do not, our reviewers will surely let you know you is currently in place. If you do not, our reviewers will surely let you know you
@ -46,7 +45,7 @@ article](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html)
on how one should format their commit messages. on how one should format their commit messages.
When you send a PR, expect two different reviews from the [project When you send a PR, expect two different reviews from the [project
maintainers](https://github.com/erming/shout/blob/master/CONTRIBUTING.md#project-maintainers). maintainers](https://github.com/thelounge/lounge/blob/master/CONTRIBUTING.md#project-maintainers).
If necessary, they will make comments and ask for changes. When everything looks If necessary, they will make comments and ask for changes. When everything looks
good to them, they will both express their consent by commenting your PR with a good to them, they will both express their consent by commenting your PR with a
:+1:. Typically, the first reviewer will give a thorough report and exchange :+1:. Typically, the first reviewer will give a thorough report and exchange
@ -54,14 +53,14 @@ with you, give his :+1:, then ask the second reviewer to confirm the changes.
When this happens (when you get your second required :+1:), then your PR can be When this happens (when you get your second required :+1:), then your PR can be
merged. merged.
Please document any relevant changes in the shout documentation that can be Please document any relevant changes in the documentation that can be found
found [in its own repository](https://github.com/erming/shout-website). [in its own repository](https://github.com/thelounge/thelounge.github.io).
### Labels ### Labels
When you open an [issue](https://github.com/erming/shout/issues) or send us a When you open an [issue](https://github.com/thelounge/lounge/issues) or send us
[PR](https://github.com/erming/shout/pulls), it will most likely be given one or a [PR](https://github.com/thelounge/lounge/pulls), it will most likely be given
several labels. Here is what they mean: one or several labels. Here is what they mean:
- **bug**: Issues that report and PRs that solve any defects that cause - **bug**: Issues that report and PRs that solve any defects that cause
unexpected behaviors. unexpected behaviors.

View File

@ -5,21 +5,21 @@
FROM node:4.0-onbuild FROM node:4.0-onbuild
# Create a non-root user for shout to run in. # Create a non-root user for lounge to run in.
RUN useradd --create-home shout RUN useradd --create-home lounge
# Needed for setup of Node.js # Needed for setup of Node.js
ENV HOME /home/shout ENV HOME /home/lounge
# Customize this to specify where Shout puts its data. # Customize this to specify where The Lounge puts its data.
# To link a data container, have it expose /home/shout/data # To link a data container, have it expose /home/lounge/data
ENV SHOUT_HOME /home/shout/data ENV LOUNGE_HOME /home/lounge/data
# Expose HTTP # Expose HTTP
EXPOSE 9000 EXPOSE 9000
# Drop root. # Drop root.
USER shout USER lounge
# Don't use an entrypoint here. It makes debugging difficult. # Don't use an entrypoint here. It makes debugging difficult.
CMD node index.js --home $SHOUT_HOME CMD node index.js --home $LOUNGE_HOME

View File

@ -27,7 +27,7 @@ module.exports = function(grunt) {
"node_modules/handlebars/bin/handlebars", "node_modules/handlebars/bin/handlebars",
"client/views/", "client/views/",
"-e", "tpl", "-e", "tpl",
"-f", "client/js/shout.templates.js" "-f", "client/js/lounge.templates.js"
] ]
}, function(err) { }, function(err) {
if (err) console.log(err); if (err) console.log(err);

View File

@ -1,6 +1,7 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2014 Mattias Erming and contributors Copyright (c) 2016 All contributors to The Lounge
Copyright (c) 2014 Mattias Erming and contributors, as part of Shout.
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -1,16 +1,19 @@
![#shout-irc IRC channel on freenode](https://img.shields.io/badge/irc%20channel-%23shout--irc%20on%20freenode-blue.svg) ![#thelounge IRC channel on freenode](https://img.shields.io/badge/irc%20channel-%23thelounge%20on%20freenode-blue.svg)
[![npm version](https://img.shields.io/npm/v/shout.svg)](https://www.npmjs.org/package/shout) [![npm version](https://img.shields.io/npm/v/thelounge.svg)](https://www.npmjs.org/package/thelounge)
[![Build Status](https://travis-ci.org/erming/shout.svg?branch=master)](https://travis-ci.org/erming/shout) [![Build Status](https://travis-ci.org/thelounge/lounge.svg?branch=master)](https://travis-ci.org/thelounge/lounge)
[![Dependency Status](https://david-dm.org/erming/shout.svg)](https://david-dm.org/erming/shout) [![Dependency Status](https://david-dm.org/thelounge/lounge.svg)](https://david-dm.org/thelounge/lounge)
[![devDependency Status](https://david-dm.org/thelounge/lounge/dev-status.svg)](https://david-dm.org/thelounge/lounge#info=devDependencies)
# Shout # The Lounge
### [Try the Demo](http://demo.shout-irc.com/)
__What is it?__ __What is it?__
Shout is a web IRC client that you host on your own server.
The Lounge is a web IRC client that you host on your own server.
*This is the official, community-managed fork of @erming's great initiative, the [Shout](https://github.com/erming/shout) project.*
__What features does it have?__ __What features does it have?__
- Multiple user support - Multiple user support
- Stays connected even when you close the browser - Stays connected even when you close the browser
- Connect from multiple devices at once - Connect from multiple devices at once
@ -20,7 +23,7 @@ __What features does it have?__
## Install ## Install
``` ```
sudo npm install -g shout sudo npm install -g thelounge
``` ```
## Usage ## Usage
@ -28,10 +31,10 @@ sudo npm install -g shout
When the install is complete, go ahead and run this in your terminal: When the install is complete, go ahead and run this in your terminal:
``` ```
shout --help lounge --help
``` ```
For more information, read the [documentation](http://shout-irc.com/docs/). For more information, read the [documentation](https://thelounge.github.io/docs/).
## Development setup ## Development setup

View File

@ -10,7 +10,7 @@
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
<meta name="referrer" content="no-referrer"> <meta name="referrer" content="no-referrer">
<title>Shout</title> <title>The Lounge</title>
<link rel="stylesheet" href="css/bootstrap.css"> <link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/style.css"> <link rel="stylesheet" href="css/style.css">
@ -34,7 +34,7 @@
</div> </div>
</aside> </aside>
<footer id="footer"> <footer id="footer">
<button class="icon sign-in" data-target="#sign-in" data-title="Sign in" data-placement="top" title="Sign in to Shout"></button> <button class="icon sign-in" data-target="#sign-in" data-title="Sign in" data-placement="top" title="Sign in to The Lounge"></button>
<button class="icon connect" data-target="#connect" data-title="Connect" data-placement="top" title="Connect to network"></button> <button class="icon connect" data-target="#connect" data-title="Connect" data-placement="top" title="Connect to network"></button>
<button class="icon settings" data-target="#settings" data-title="Settings" data-placement="top" title="Client settings"></button> <button class="icon settings" data-target="#settings" data-title="Settings" data-placement="top" title="Client settings"></button>
<button id="sign-out" class="icon sign-out" data-placement="top" title="Sign out"></button> <button id="sign-out" class="icon sign-out" data-placement="top" title="Sign out"></button>
@ -266,12 +266,12 @@
</label> </label>
</div> </div>
<div class="col-sm-12"> <div class="col-sm-12">
<h2>About Shout</h2> <h2>About The Lounge</h2>
</div> </div>
<div class="col-sm-12"> <div class="col-sm-12">
<p class="about"> <p class="about">
You're currently running version <small><%= version %></small><br> You're currently running version <small><%= version %></small><br>
<a href="https://raw.githubusercontent.com/erming/shout/master/CHANGELOG.md" target="_blank">Check for updates</a> <a href="https://github.com/thelounge/lounge/blob/master/CHANGELOG.md#readme" target="_blank">View the changelog</a>
</p> </p>
</div> </div>
</div> </div>
@ -294,8 +294,8 @@
</div> </div>
<script src="js/libs.min.js"></script> <script src="js/libs.min.js"></script>
<script src="js/shout.templates.js"></script> <script src="js/lounge.templates.js"></script>
<script src="js/shout.js"></script> <script src="js/lounge.js"></script>
</body> </body>
</html> </html>

View File

@ -49,7 +49,7 @@
case 38: // Up case 38: // Up
case 40: // Down case 40: // Down
// NOTICE: This is specific to the Shout client. // NOTICE: This is specific to The Lounge.
if (e.ctrlKey || e.metaKey) { if (e.ctrlKey || e.metaKey) {
break; break;
} }

View File

@ -557,7 +557,7 @@ $(function() {
.sticky() .sticky()
.end(); .end();
var title = "Shout"; var title = "The Lounge";
if (chan.data("title")) { if (chan.data("title")) {
title = chan.data("title") + " — " + title; title = chan.data("title") + " — " + title;
} }

View File

@ -1,8 +1,8 @@
/* /*
Crypto theme for Shout. Crypto theme for The Lounge.
Installation instructions can be found here Installation instructions can be found here
http://shout-irc.com/docs/server/configuration.html#theme https://thelounge.github.io/docs/server/configuration.html#theme
Author: Aynik Author: Aynik
GitHub: https://github.com/aynik GitHub: https://github.com/aynik

View File

@ -1,9 +1,9 @@
/* /*
Morning theme for Shout. Morning theme for The Lounge.
Has a bit more eye-friendly color scheme. Has a bit more eye-friendly color scheme.
Installation instructions can be found here Installation instructions can be found here
http://shout-irc.com/docs/server/configuration.html#theme https://thelounge.github.io/docs/server/configuration.html#theme
Author: Riku Rouvila Author: Riku Rouvila
GitHub: https://github.com/rikukissa GitHub: https://github.com/rikukissa

View File

@ -1,9 +1,9 @@
/* /*
Zenburn theme for Shout. Zenburn theme for The Lounge.
Based on the Morning Theme by Riku Rouvila Based on the Morning Theme by Riku Rouvila
Installation instructions can be found here Installation instructions can be found here
http://shout-irc.com/docs/server/configuration.html#theme https://thelounge.github.io/docs/server/configuration.html#theme
Author: JP Smith Author: JP Smith
GitHub: https://github.com/japesinator GitHub: https://github.com/japesinator

View File

@ -56,7 +56,7 @@ module.exports = {
// //
// Prefetch URLs // Prefetch URLs
// //
// If enabled, Shout will try to load thumbnails and site descriptions from // If enabled, The Lounge will try to load thumbnails and site descriptions from
// URLs posted in channels. // URLs posted in channels.
// //
// @type boolean // @type boolean
@ -67,7 +67,7 @@ module.exports = {
// //
// Prefetch URLs Image Preview size limit // Prefetch URLs Image Preview size limit
// //
// If prefetch is enabled, Shout will only display content under the maximum size. // If prefetch is enabled, The Lounge will only display content under the maximum size.
// Default value is 512 (in kB) // Default value is 512 (in kB)
// //
// @type int // @type int
@ -78,7 +78,7 @@ module.exports = {
// //
// Display network // Display network
// //
// If set to false Shout will not expose network settings in login // If set to false The Lounge will not expose network settings in login
// form, limiting client to connect to the configured network. // form, limiting client to connect to the configured network.
// //
// @type boolean // @type boolean
@ -164,33 +164,33 @@ module.exports = {
// Nick // Nick
// //
// @type string // @type string
// @default "shout-user" // @default "lounge-user"
// //
nick: "shout-user", nick: "lounge-user",
// //
// Username // Username
// //
// @type string // @type string
// @default "shout-user" // @default "lounge-user"
// //
username: "shout-user", username: "lounge-user",
// //
// Real Name // Real Name
// //
// @type string // @type string
// @default "Shout User" // @default "The Lounge User"
// //
realname: "Shout User", realname: "The Lounge User",
// //
// Channels // Channels
// //
// @type string // @type string
// @default "#foo, #shout-irc" // @default "#foo, #thelounge"
// //
join: "#foo, #shout-irc" join: "#foo, #thelounge"
}, },
// //
@ -202,7 +202,7 @@ module.exports = {
transports: ["polling", "websocket"], transports: ["polling", "websocket"],
// //
// Run Shout with HTTPS support. // Run The Lounge with HTTPS support.
// //
// @type object // @type object
// @default {} // @default {}
@ -236,7 +236,7 @@ module.exports = {
}, },
// //
// Run Shout with identd support. // Run The Lounge with identd support.
// //
// @type object // @type object
// @default {} // @default {}

View File

@ -1,4 +1,4 @@
shout: lounge:
build: . build: .
ports: ports:
- "9000:9000" - "9000:9000"

View File

@ -1,15 +1,14 @@
{ {
"name": "shout", "name": "thelounge",
"description": "The self-hosted Web IRC client", "description": "The self-hosted Web IRC client",
"version": "0.53.0", "version": "0.53.0",
"author": "Mattias Erming",
"preferGlobal": true, "preferGlobal": true,
"bin": { "bin": {
"shout": "index.js" "lounge": "index.js"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/erming/shout.git" "url": "https://github.com/thelounge/lounge.git"
}, },
"scripts": { "scripts": {
"start": "node index", "start": "node index",

View File

@ -151,9 +151,9 @@ Client.prototype.connect = function(args) {
}); });
}); });
var nick = args.nick || "shout-user"; var nick = args.nick || "lounge-user";
var username = args.username || nick.replace(/[^a-zA-Z0-9]/g, ""); var username = args.username || nick.replace(/[^a-zA-Z0-9]/g, "");
var realname = args.realname || "Shout User"; var realname = args.realname || "The Lounge User";
var irc = slate(stream); var irc = slate(stream);
identd.hook(stream, username); identd.hook(stream, username);

View File

@ -1,6 +1,6 @@
var ClientManager = new require("../clientManager"); var ClientManager = new require("../clientManager");
var program = require("commander"); var program = require("commander");
var shout = require("../server"); var server = require("../server");
var Helper = require("../helper"); var Helper = require("../helper");
program program
@ -23,10 +23,10 @@ program
if (!mode && !users.length) { if (!mode && !users.length) {
console.log(""); console.log("");
console.log("No users found!"); console.log("No users found!");
console.log("Create a new user with 'shout add <name>'."); console.log("Create a new user with 'lounge add <name>'.");
console.log(""); console.log("");
} else { } else {
shout({ server({
host: program.host || process.env.IP || config.host, host: program.host || process.env.IP || config.host,
port: program.port || process.env.PORT || config.port, port: program.port || process.env.PORT || config.port,
bind: program.bind || config.bind, bind: program.bind || config.bind,

View File

@ -1,7 +1,7 @@
var path = require("path"); var path = require("path");
module.exports = { module.exports = {
HOME: (process.env.HOME || process.env.USERPROFILE) + "/.shout", HOME: (process.env.HOME || process.env.USERPROFILE) + "/.lounge",
getConfig: getConfig getConfig: getConfig
}; };

View File

@ -104,7 +104,7 @@ function fetch(url, cb) {
var req = request.get({ var req = request.get({
url: url, url: url,
headers: { headers: {
"User-Agent": "Mozilla/5.0 (compatible; Shout IRC Client; +https://github.com/erming/shout)" "User-Agent": "Mozilla/5.0 (compatible; The Lounge IRC Client; +https://github.com/thelounge/lounge)"
} }
}); });
} catch (e) { } catch (e) {

View File

@ -58,7 +58,7 @@ module.exports = function(options) {
manager.sockets = sockets; manager.sockets = sockets;
console.log(""); console.log("");
console.log("Shout is now running on " + protocol + "://" + config.host + ":" + config.port + "/"); console.log("The Lounge is now running on " + protocol + "://" + config.host + ":" + config.port + "/");
console.log("Press ctrl-c to stop"); console.log("Press ctrl-c to stop");
console.log(""); console.log("");