Git Product home page Git Product logo

webirc's People

Contributors

dmitshur avatar dz0ny avatar pavben avatar zucchinize 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  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  avatar  avatar  avatar  avatar  avatar  avatar

webirc's Issues

Unable to run

I really like this, saw it on HN, but whenever I try to use it by node main.js it doesnt do anything, not even an error.

Feature Request: Alt+Arrow Up or Down to switch channels/panes with keyboard.

Hi,

I think this would be relatively easy to add and would make using WebIRC better. It's a feature that Slack has and it is convenient, because it allows using more of the UI without taking hands off your keyboard (they're commonly there due to the chat-oriented nature of the app).

Alt+Up Arrow = Go to Previous (one higher) channel/pane.
Alt+Down Arrow = Go to Next (one lower) channel/pane.

Hard Mode

If you want to really to go all out, you can also implement 2 more shortcuts:

Alt+Shift+Up Arrow = Go to Previous channel/page with unread/new messages, if any.
Alt+Shift+Down Arrow = Go to Next channel/page with unread/new messages, if any.

I use these shortcuts in Slack quite often because they are useful. :)

See its keyboard help for reference:

image

Thanks for making an awesome persistent web IRC client!

Notes

Alt and Option are the same key.

Runtime Error

webirc@57cddec63195:/data$ /opt/nodejs/bin/npm start

> [email protected] start /data
> node main.js

   info  - socket.io started
info: WebIRC started
/
/data/main.js:122
\                                       var cookies = connect.utils.parseSignedCookies(cookie.parse(data.headers.
                                                                    ^
TypeError: Cannot call method 'parseSignedCookies' of undefined
    at Manager.<anonymous> (/data/main.js:122:34)
    at Manager.authorize (/data/node_modules/socket.io/lib/manager.js:925:31)
    at Manager.handleHandshake (/data/node_modules/socket.io/lib/manager.js:801:8)
    at Manager.handleRequest (/data/node_modules/socket.io/lib/manager.js:616:12)
    at Server.<anonymous> (/data/node_modules/socket.io/lib/manager.js:119:10)
    at Server.emit (events.js:98:17)
    at HTTPParser.parser.onIncoming (http.js:2108:12)
    at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:121:23)
    at Socket.socket.ondata (http.js:1966:22)
    at TCP.onread (net.js:527:27)
-
npm ERR! [email protected] start: `node main.js`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is most likely a problem with the WebIRC package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node main.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls WebIRC
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.14.4+
npm ERR! command "/opt/nodejs/bin/node" "/opt/nodejs/bin/npm" "start"
npm ERR! cwd /data
npm ERR! node -v v0.10.29
npm ERR! npm -v 1.4.14
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /data/npm-debug.log
npm ERR! not ok code 0

URL regex failure condition.

The regex fails to recognize this URL completely:

image

The url was:

https://www.evernote.com/shard/s198/sh/ab31c009-5624-40e8-a6c4-6b46543b5809/f1277f180279ac3fe9c558912a30cf73/deep/0/(34)-dev-(protocol)---Flowdock-and---ipfs-container-demos---specs.png

More regex! Have fun.

npm start fails

Babel has split out the babel-node cmd, so after running npm install I get this error

$ npm start
 [email protected] start /Users/dignifiedquire/opensource/WebIRC
> babel-node main.js

The CLI has been moved into the package `babel-cli`.

$ npm install -g babel-cli

Fails to build

root@li646-175:~/WebIRC# npm start

> [email protected] start /root/WebIRC
> babel-node main.js

error: Failed to start WebIRC: Error: ENOENT, scandir '/root/WebIRC/users'

npm ERR! Linux 4.1.0-x86_64-linode59
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "start"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: `babel-node main.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] start script 'babel-node main.js'.
npm ERR! This is most likely a problem with the WebIRC package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     babel-node main.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls WebIRC
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /root/WebIRC/npm-debug.log
root@li646-175:~/WebIRC# 

Server Username Support

Feature Request:
I use ZNC as my IRC bouncer and would love the ability to define a username when connecting to a server, is this at all planned for future versions? Thanks in advance ๐Ÿ‘

Urls with localhost are not recognized.

The following Urls are not recognized (hence they're not clickable, don't hover, etc.):

http://localhost/
http://localhost/foo
http://localhost:1234/bar.html
http://custom_entry_in_hosts_file/index.html

Regex! Have fun.

Fixed-width font support

Hi - people paste a lot of ASCII art and code into the IRC channels I use, so I'd prefer to use a fixed width font. I see it's using FontAwesome - which I assume is for the icons?

If there's an easy way to add support for a new text font, I'd be happy to submit a patch. Any guidance would be appreciated!

* Connecting to 127.0.0.1:8063 HTTP/1.1 400 Bad Request Content-Type: text/plain Connection: close * Disconnected

Hello Pavben,

Thanks for this awesome software, I am trying to connect to my mattermost server (chat application) on my localhost. I used the command
"/server 127.0.0.1 8063 eeee 1234"

Below is the error is get in the browser

  • Connecting to 127.0.0.1:8063
    HTTP/1.1 400 Bad Request
    Content-Type: text/plain
    Connection: close
  • Disconnected

Also in the console, i get this

[email protected] start /home/v3nd1tt/WebIRC
babel-node main.js

debug: Logger initialized with logLevelConsole info and logLevelFile data
info: WebIRC is listening for https connections on port 28443
info: WebIRC started
info: WebSocket connection established: Z9XYrTo_0CH46u8_ANHpyxi1O3Auttjd
info: WebSocket disconnected
info: WebSocket connection established: Z9XYrTo_0CH46u8_ANHpyxi1O3Auttjd
info: User data saved
info: WebSocket disconnected
info: WebSocket connection established: Z9XYrTo_0CH46u8_ANHpyxi1O3Auttjd
info: User data saved
info: Chatbox send lines=[/server 127.0.0.1 8063 eeee 1234], exec=true, entityId=2
info: Connected to server 127.0.0.1:8063
data: SEND: PASS eeee 1234
data: SEND: NICK mynick
data: SEND: USER webirc webirc 127.0.0.1 :webirc
data: Line: HTTP/1.1 400 Bad Request
data: Line: Content-Type: text/plain
data: Line: Connection: close
data: Line:
info: Disconnected from server: 127.0.0.1:8063
info: User data saved
info: User data saved

Kindly help me fix what i may be doing wrong.

Introduce WebSocket pings

Currently, a WebSocket connection may silently die and the user won't know about this until they try to do something that causes data to be sent to the WebIRC server, at which point the client is disconnected until it tries to reconnect in 3 seconds. Pings would make this experience smoother.

No way of knowing if your web session has disconnected.

If the web client drops connection from the WebIRC server, there's no visible indication.

So when idling, the only way to verify you're still connected is to send a message (or see some activity).

There should be some sort of disconnect handling (either a message, more advanced a reconnect attempt, etc.).

npm install error

In your package.json you have http which is not in the npm registry.

Hashed passwords

I've been reading the guide and readme a bit, but I haven't seen anything about hashed passwords.

Is there a time table on if/when the user configuration will support having the password in the json file be hashed, for additional server side security? While it is up to the server admin to make sure the server can't be compromised and malicious users getting access to sensitive files, it's also a good idea to make sure the passwords can be hashed in the configurations files, in the possible event that a user happened to use the same or similar password in other places. It shouldn't be too difficult, right? You simply read the password string, quickly check to see if the string is of a certain length, then checks to see if the first 2-3 characters match something on record, and... well, you get the idea.

I'm just unsure if it was already implemented, as there's nothing in the history or logs. Thank you for reading this little issue/enhancement. Have a good day.

Long messages get cut off (invisibly to user).

See real world example in the following exchange.

image

Just to confirm, here's the same long message sent to myself; note that what I receive is cut off.

image

I don't know IRC details, like whether the 512 byte limit is a server parameter or a hardcoded IRC protocol issue, but, in order of priority:

  1. User shouldn't be made unaware their message is sent partially.
  2. Perhaps something can happen aside from failing to send entire message, like split it into multiple messages, if that's reasonable automatic behavior.

/cc @dominikh Thanks for helping with this bug report.

Won't run with winston error

debian 11
Followed the install instructions. Got this:

> [email protected] start /home/dave/WebIRC
> babel-node main.js

Failed to start WebIRC Error: { colors, emitErrs, formatters, padLevels, rewriters, stripColors } were removed in [email protected].
Use a custom winston.format(function) instead.
See: https://github.com/winstonjs/winston/tree/master/UPGRADE-3.0.md
    at DerivedLogger.configure (/home/dave/WebIRC/node_modules/winston/lib/winston/logger.js:135:13)
    at new Logger (/home/dave/WebIRC/node_modules/winston/lib/winston/logger.js:42:10)
    at new DerivedLogger (/home/dave/WebIRC/node_modules/winston/lib/winston/create-logger.js:44:7)
    at Object.module.exports [as createLogger] (/home/dave/WebIRC/node_modules/winston/lib/winston/create-logger.js:48:18)
    at Object.init (/home/dave/WebIRC/logger.js:35:19)
    at Function.<anonymous> (/home/dave/WebIRC/main.js:32:10)
    at AsyncBlock.runIfSatisfied (/home/dave/WebIRC/async.js:242:25)
    at AsyncBlock.depProvided (/home/dave/WebIRC/async.js:202:10)
    at /home/dave/WebIRC/async.js:111:18
    at Array.forEach (<anonymous>)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `babel-node main.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2023-02-23T19_37_33_227Z-debug.log

What should I do?

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.