Commit Graph

132 Commits

Author SHA1 Message Date
Neale Pickett 910e9e75c0
Strict message validation
Finally, we parse incoming JSON into Message objects, check timestamps for being too far in the past, and perform other quality-of-life checks at the server, to limit avenues for abuse. This also adds a "binary" message type, which could be useful for Arduino projects.

The websocket library has been swapped out for one that makes more sense to me, bringing in a ton of dependencies.

Finally, we are now telling clients how many other clients are connected.
2022-06-06 14:03:01 -06:00
Neale Pickett 67580c2746 go mod tidy 2022-06-06 13:58:57 -06:00
Neale Pickett 406bb982e9 Merge branch 'main' into strict 2022-06-06 13:52:25 -06:00
Neale Pickett 71c108b49c Cleanup 2022-06-06 13:49:52 -06:00
Neale Pickett b910676539 Fixed fortunes 2022-06-06 10:55:11 -06:00
Neale Pickett 314994adcd It works again 2022-06-06 09:54:55 -06:00
Neale Pickett b45876bcf0 About to change to nhooyr/websocket 2022-06-05 12:34:03 -07:00
Neale Pickett 3a2ba5d43e Move notes section
for #51
2022-05-28 20:39:20 -06:00
Neale Pickett 15e43c28df Send keyer state every time it's connected 2022-05-28 20:30:50 -06:00
Neale Pickett b7de5cf8cb Output MIDI notes + refactoring 2022-05-22 21:37:36 -06:00
Neale Pickett 4ef1ff7517 More work 2022-05-15 21:12:36 -06:00
Neale Pickett d6e6a268a3 More unit test junk 2022-05-15 17:38:57 -06:00
Neale Pickett db9ca5dc83 Start enforcing message structure 2022-05-15 15:57:12 -06:00
Neale Pickett f970376f17 More UI fixes 2022-05-15 10:46:51 -06:00
Neale Pickett dec3959b66 Final touches, ready for production 2022-05-14 21:17:44 -06:00
Neale Pickett f23ea76a4f seems to work 2022-05-14 18:51:05 -06:00
Neale Pickett 9a37907945 Iambic B! 2022-05-11 20:07:49 -06:00
Neale Pickett 5bafd54c1a Iambic A 2022-05-11 19:17:08 -06:00
Neale Pickett b9188bcdbf Single dot keyer 2022-05-08 21:52:12 -06:00
Neale Pickett 5f78339faa + Ultimatic 2022-05-08 14:49:41 -06:00
Neale Pickett 4950042e6c Working up to single dot 2022-05-08 11:33:25 -06:00
Neale Pickett af21b30afc Make second mouse button send dit on dah key
For #43
2022-05-04 18:50:24 -06:00
Neale Pickett 5c39fef446 Open wiki in new tab 2022-04-30 07:49:03 -07:00
Neale Pickett d47378ba37 Fix socket reopen when changing repeaters
This may be what I was seeing in #28.

I also added the socket name to debug messages on tx and rx,
to make it easier to track down
where you're actually connected.
2022-04-26 12:49:35 -06:00
Neale Pickett a74b40935b Further fix Safari quirk 2022-04-26 11:55:43 -06:00
Neale Pickett 92c7439ea5 Safari kludge for button text select 2022-04-26 10:42:09 -06:00
Neale Pickett e60cb074f0 Fix mobile long-press selecting button title 2022-04-26 10:04:39 -06:00
Neale Pickett 1ac866511a Debug on drop 2022-04-24 19:58:24 -06:00
Neale Pickett cf9c023520 Stop shortening charts 2022-04-24 19:58:17 -06:00
Neale Pickett 6ea614eb55 Chart colors + rx chart bugfix 2022-04-24 19:42:57 -06:00
Neale Pickett ce1579a6b8 Add rx chart, take UI code out of keyer 2022-04-24 19:24:56 -06:00
Neale Pickett 01ed64ad2d Charts, pare down UI 2022-04-24 17:13:56 -06:00
Neale Pickett 2290c2ff02 Chart remembers initial value on left 2022-04-24 13:28:20 -07:00
Neale Pickett 54668eb0f1 Always draw all the way to the right.
This probably makes more sense to people.
2022-04-24 10:19:18 -07:00
Neale Pickett 125579ec70 Chart is now a class, for easy usin' 2022-04-24 13:17:15 -04:00
Neale Pickett 96decf8166 Introducing the chart-o-matic!
This will eventually become a chart of what keys you hit when,
and how that resulted in tones being sent.
2022-04-24 10:47:04 -06:00
Neale Pickett 6d4acd98a8 Oops, remove old code causing double-key 2022-04-24 10:46:23 -06:00
Neale Pickett af1d5ddbc7 Final (I hope) Iambic B tweak 2022-04-23 21:23:05 -06:00
Neale Pickett 8a82a4dc43 Minor cleanups, new API adjustments 2022-04-23 21:22:38 -06:00
Neale Pickett 2f9e651958 Don't try to end a transmission with no start time
Fixes #38
2022-04-22 19:42:30 -06:00
Neale Pickett 50f4b41dd9 Many more changes:
* New keyer module, does what you expect
* Fixed implementation of Iambic A and B
* Smarter way to deal with VBand adapter's control key input
* Nicer console error message if you try to transmit while disconnected
* A new factory reset UI button
* Fixed problems dealing with checkbox persistence
2022-04-22 18:14:55 -06:00
Neale Pickett fc537d7341 Multiple fixes
* The little light now shows for telegraph sounds
* Telegraph no longer plays the "off" sound constantly
* The little light now shows for Fortunes repeaters
* MIDI changes
  * No longer sends note off to disable keyboard mode
  * Now sends dit length/2 as MIDI control 1
2022-04-21 22:05:51 -06:00
Neale Pickett 870c318d96 Rename "General Chaos" to "General"
#29
2022-04-21 21:26:19 -06:00
Neale Pickett 10e869f946 Telegraph sounds, implements #22 2022-04-21 18:31:33 -06:00
Neale Pickett 1229fa940d Typeahead default to off 2022-04-21 14:36:08 -06:00
Neale Pickett e13e0c859c Smoother ramp. Fixes #36 2022-04-21 12:09:53 -06:00
Neale Pickett b20a94c8f1 Remove chrome-ism, thanks @synfin 2022-04-21 11:17:36 -06:00
Neale Pickett f878593bbe Changing WPM channels to just numbers.
Seems nobody was fond of the WPM channels.
Including me.

Fixes #29
2022-04-19 22:45:31 -06:00
Neale Pickett 74ad07174a Many changes
* MIDI
  * Send MIDI key release for v2 of vail adapter
  * Now handles hot-plugging MIDI devices!
* Iambic input
  * Typeahead is now a toggle
  * Implemented iambic mode A, also as a toggle (#31)
* If you set the repeater to "debug", it spews out debugging messages
* Made it a bit easier on myself to update my instance
2022-04-19 22:41:09 -06:00
Neale Pickett ca9f51c621 Add telegraph samples 2022-04-19 17:24:46 -06:00