Comments (3)
My first question would be.. why? Why choose a character that isn't standard (if it is, excuse all of this, its been while since I've looked at the spec)? Why not compromise and use a different, already supported character? Why choose a character that is unlikely to be supported by some clients/bots/libraries/etc?
Yes, I had thought about moving these things into a separate package, but the goal is not to make it pluggable in the sense of "replacing" components with their own -- as, the only reason someone would want to deviate from what I have, is if what I am checking for is wrong (then, a PR to allow other characters makes sense), or if they're not following standards. I don't really support deviating from the standard as this is already a huge issue with the IRC community and protocol.
The goal was to let users only use formatting and/or validation without importing all of the other cruft, for things other than the client library (e.g. maybe someone stores logs in a db and they want to validate input into that db, etc).
from girc.
Closing this given my last comments, though can re-open if you have further questions/concerns.
from girc.
Why should the client validate what the server is going to anyway? Don't second guess yourself, if the server doesn't want it then the server will complain. The RFCs are not the gospel, IRC has long since evolved past the RFCs and there are dozens of implementations with varying levels of conformance for which girc would be useful if not for the fact that it second-guesses itself.
This is the most reasonable "authoritative" reference on what's valid:
https://modern.ircdocs.horse/#user-message
It says nothing about permissible characters for USER et al. The only reasonable thing to enforce is that there are no spaces, because otherwise it wouldn't fit into the IRC message grammar.
from girc.
Related Issues (20)
- Make CTCP handlers optional HOT 3
- integration with ircdef HOT 1
- WebIRC HOT 4
- Special treatment of 'trailing' argument in commands is incorrect HOT 3
- Bad who command HOT 2
- Strict Transport Security (sts) support? HOT 6
- Implement splitting of long messages? HOT 2
- ability to not send nick in the login process HOT 1
- Implement RPL_CREATIONTIME HOT 2
- execLoop and sendLoop not getting closed if network connection is low-quality HOT 20
- feature: implement tests using fuzzing HOT 1
- bug: newlines are removed instead of changed to a space HOT 3
- feature: IRCv3 Labeled Responses
- feature: IRCv3 `setname`
- feature: IRCv3 Standard Replies
- feature: IRCv3 `WHOX`
- bug: Twitch connection fails with "connection failed EOF" HOT 1
- bug: crash after reconnecting when not sending a message HOT 3
- feature: Netsplit detection heuristic HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from girc.