kj7rrv / hcra Goto Github PK
View Code? Open in Web Editor NEWHamClock Remote Access
License: GNU Affero General Public License v3.0
HamClock Remote Access
License: GNU Affero General Public License v3.0
The tile system does slightly increase framerate, but it severely overloads the server. I need to either fix it or get rid of it.
This has basically no documentation. I definitely need to fix that.
I'm thinking about rewriting client/js/main.js
in RapydScript.
I was just looking at RapydML and it looks really nice! I might do this at the same time as #3.
Eventually, I should migrate the server to Tornado for a more production-quality server.
I guess the switch to Tornado didn't improve stability. It now does this occasionally:
Exception in thread Thread-2:
Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "wss.py", line 83, in run
loop.run_until_complete(self.cycle())
File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "wss.py", line 73, in cycle
self.write_message(item)
File "/home/kj7rrv/.local/lib/python3.8/site-packages/tornado/websocket.py", line 340, in write_message
return self.ws_connection.write_message(message, binary=binary)
File "/home/kj7rrv/.local/lib/python3.8/site-packages/tornado/websocket.py", line 1096, in write_message
fut = self._write_frame(True, opcode, message, flags=flags)
File "/home/kj7rrv/.local/lib/python3.8/site-packages/tornado/websocket.py", line 1073, in _write_frame
return self.stream.write(frame)
File "/home/kj7rrv/.local/lib/python3.8/site-packages/tornado/iostream.py", line 544, in write
self._handle_write()
File "/home/kj7rrv/.local/lib/python3.8/site-packages/tornado/iostream.py", line 974, in _handle_write
self._write_buffer.advance(num_bytes)
File "/home/kj7rrv/.local/lib/python3.8/site-packages/tornado/iostream.py", line 183, in advance
assert 0 < size <= self._size
AssertionError
Just a minor typo. The MIME type for JPEGs is image/jpeg
but the server sends imgage/jpeg
.
This only works with 800x480px HamClock. I should add support for scaling to work with higher resolutions.
Currently the X11 backend assumes that the display is 800x480 and shows nothing but HamClock, effectively making Xvfb a requirement. It should be able to "find" HamClock when centered on a real screen.
The server currently uses os.system
a lot. Most if not all of these calls should be replaced with subprocess
.
The current "password" implementation is pretty much useless. I need to rewrite it conpletely on both ends.
There needs to be some way for the client and server to determine the latest version of the protocol that they both support. If I add a version negotiation system, it will need to be before the first release.
I will probably do this at the same time as the new password system (see #5).
Also related to migrating to Tornado (see #7).
When HamClock is doing certain things, it does not respond to HTTP requests. The server should handle this gracefully rather than just freezing.
The server needs a configuration file.
At some point I want to try modifying HamClock to integrate directly with the HCRA server, avoiding the overhead of image processing.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.