Giter Site home page Giter Site logo

scribbleshare's People

Contributors

burgiee avatar griffinht avatar

Stargazers

 avatar  avatar

Watchers

 avatar

scribbleshare's Issues

License

This project needs to have some sort of written license.

Trim netty

Currently the fat jar produced by the project is 10mb ish in size - this can be reduced if only necessary Netty components are included.

Fix Docker not properly caching Maven dependencies

Currently Docker will sometimes decide Maven dependencies are out of date, where it will then proceed to download the entire internet to update the dependencies. Perhaps set up a local Maven repository server that will do all the caching?

javax.activation dependency

The javax.activation dependency is only used for the mime file types. Additionally, it has been removed in Java 9. Thus, a replacement should be provided.

Better Logging System

There should be better ways to log things such as console output as well as network throughput, with the option to save to file?

Zoom/pan

Currently there is no way to zoom in and out, or pan across the board.

Variable length integer and string

The frontend and backend should be able to utilize variable length integers (for array sizes) and strings. Currently there is limited and hacky support for these.

NPE when board-web-client does not send OPEN packet before DRAW packets

Can be reproduced by modifying board-web-client to send DRAW packets before OPEN is sent.
Should be replaced with a warning in the console.
In the future clients that misbehave like this should possibly be disconnected.

WARNING: An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
java.lang.NullPointerException
	at net.stzups.board.room.PacketHandler.channelRead0(PacketHandler.java:30)

https://github.com/stzups/Board/blob/71001322ef76b4b6a586511173f63ec0476bfeb2/board-server/src/main/java/net/stzups/board/room/PacketHandler.java#L30

Shrinking the window introduces scroll bars

Shrinking the window after the page has loaded will introduce scroll bars because the canvas does not shrink enough. However, the canvas is still able to resize properly when the page loads.

Better curve interpolation

The current system displays curves as many smaller straight paths between two points. Using some sort of actual curve would help with looks and compression.

Automatic reconnect

Clients that are disconnected from the server should keep retrying the WebSocket connection

Better state management with connections

Currently the server will attempt to handle any message from the client assuming the client has already sent a proper handshake and has opened a document. If the client sends these packets out of order, the server will throw some NPE.

Maybe some kind of state machine?

Typescript

convert the whole project into typescript

Better config system

Messy program arguments may not be the best way to handle configuring, perhaps switch to a config file or use better documentation?

Remove ConsoleManager

This class is unused and unnecessary. Without this class, a proper shutdown mechanism may be added for netty

More CSS/JS documentation

board-web-client has little documentation explaining various CSS and JavaScript quirks and functionalities.
Descriptive and helpful comments should be added to explain structure and hard to understand code.

CORS

origin and referer needs to be checked for certain requests

Code should be minified

There should be some sort of tool (uglify? gulp?) added to the development pipeline to minify the code that will be served to the client. This should also combine the various JavaScript various files and modules into one .js file

Long strokes will get off over time

When drawing a long enough stroke, the offset will be messed up if it is long enough. This is due to certain rounding errors.

Possibly can be fixed by sending a full update every so often.

Room ids less than 6 digits in length are possible

Room ids should be 123456 (6 long), but if the number is less than 100000 the id will be less than 6 characters (eg 245). Note that this bug does not seem to cause functionality problems, but should still be fixed.

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.