Accept file, blob decoding
Remove double init of window handler
Added confirmation/acceptance message
Add lazy IDs to transferred files for file owner
Added chat class- initial support for slash commands
Abstraction of chat to its own class
Removed underscore from vendors, switching to import. Increased username color values
Not localizing username, organizing slash commands
Keeping context
Support for symbols/emojis. Fixes#9
Added back npm scripts, added method to check if log messages contain usernames
Checks and balances
Better parsing of commands and organization of valid commands
Fixed#10 - Added running version on modal and about section, Updated disclaimer/wording, displaying public IP if available through server
File transfer pre-confirmation
Encrypting stringified object versus string
Participants now generate RSASSA-PKCS1-v1_5 public/private key pairs
and sign messages with their private key. Recipients verify signatures
with the sender’s public key.
For webkit support, I removed the public/private signing keys and
replaced them with a symmetric HMAC signing key. It achieves the same
thing and besides adding webkit support, is also a bit cleaner.
Webkit handles key export is a non-standard way, so with this shim we
have to export and import public keys in “spki” format. Webkit also
requires slightly different options to be passed in for some operations.
All parties now create public/private key pairs for
encryption/decryption and signing/verification. Public keys are passed
around and stored in server memory while the room is alive. Session
keys, which are used to encrypt cleartext messages, are newly generated
for each message and are encrypted using each participant’s public key.
Messages are signed using the sender’s private signing key.