forked from CloudNetService/CloudNet
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unstable/rewrite #6
Open
wasn325
wants to merge
270
commits into
wasn325:unstable/rewrite
Choose a base branch
from
CloudNetService:unstable/rewrite
base: unstable/rewrite
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Unstable/rewrite #6
wasn325
wants to merge
270
commits into
wasn325:unstable/rewrite
from
CloudNetService:unstable/rewrite
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#648) * chore: Replace the usage of Verify with Preconditions to prevent relocation issues * chore: Fix missing reimports * chore: Replace some missleading docs * chore: Fix indent in the factory
* New translations en_US.properties (German) [ci skip] * Update source file en_US.properties [ci skip] * New translations en_US.properties (German) [ci skip] * Update source file en_US.properties [ci skip] * New translations en_US.properties (German) [ci skip]
Also disable compiler warnings properly :)
This prevents accidental deadlocks of an event loop.
This prevents unexpected connection failures of the wrapper which obviously cannot connect to 0.0.0.0
### Motivation Currently there is a lot of redundant and duplicated code in the task command. ### Modifications Replaced the duplicated code by abstracting the logic as much as possible. ### Result The redundant and duplicated code is not present anymore.
### Motivation Currently we inject the permission function into all players when the proxy is started, we don't have to do that as we dont support reloading it anyways. ### Modifications Removed the injection of the permission function. ### Result We don't use the reflection based injection anymore.
### Motivation Currently there are some places where we are still using types we don't need. ### Modifications Ran the intellij cleanup and removed some types we don't need. ### Result Cleanup
### Motivation Currently the game profile on fabric servers is not correct and therefore the skin is not applied. ### Modifications Moved our own packet mixin to the handleAcceptedLogin method. ### Result The game profile has the correct uuid and the skin is applied.
### Motivation Currently there is no way to modify the node selection for a service which is about to be created. ### Modifications Added a new event allowing the cancellation of the service creation process and giving the option to select a different node to pick up the service. ### Result The node selection is now modifiable using the mentioned event.
### Motivation Currently all command descriptions are hardcoded and therefore only available in English. ### Modifications Added a new translatable property to the description annotation which allows the opt-out of a translatable description. ### Result Our descriptions can be translated to different languages on crowdin.
…757) ### Motivation Currently not all of our plugins unregister everything they register on the start leading to problems when they are reloaded. ### Modifications Added a util method to unregister everything and call it when disabling the plugins. ### Result All plugins unregister their stuff.
### Motivation Some command descriptions are currently spelled in a very confusing way. ### Modification Improve the spelling of some command descriptions. ### Result Better command descriptions.
### Motivation Currently there is no way for a plugin to automatically schedule the retry of a service creation if the initial request failed. ### Modification Added the possibility to specify a retry configuration in the service configuration which allows the retry of a service creation. The creation has a fixed amount of max retries (there is no way to schedule forever) and the possibility to backoff the service re-creation according to the current retry count. Once the creation process suceeded, an event will be fired on previously added listeners for the state of the service creation. The deferred creation can be associated with the service by either using the creation id of the CreationResult or by (for example) adding a marker to the supplied service configuration when creating the service initially. ### Result API users now have a much easier way to define how a service creation should be retried.
### Motivation JDK 19 added the virtual thread feature as a preview feature. As these "threads" are not backed by a platform thread, and are even sleeping while waiting for some operations (like file system aceess) they are the perfect fit for our packet processing work with can require a lot of threads which are sometimes just waiting for background work to complete. ### Modification Added a util class which can detect when runnning on Java 19+ with preview features enabled, and build virtual thread executors when needed. These are for now only used for packet dispatching. If virtual threads are not available, then the caller can specify a fallback thread factory to use. ### Result Packet dispatching is optimized for users which are using newer jvms with preview features enabled. ##### Other context Some nice stuff to read: * https://openjdk.org/jeps/425 * https://blogs.oracle.com/javamagazine/post/java-loom-virtual-threads-platform-threads
### Motivation The translation entry for the key 'command-tasks-setup-question-host-address' was missing, ### Modification Added the english translation for 'command-tasks-setup-question-host-address' ### Result All translations are present.
### Motivation Applies all pending dependency updates to ensure that all dependencies are up-to-date. The netty dependency was bumped to snapshot again, as netty recently fixed an issue observed by us which was rarely visible when shutting down a running service - this prevents us from getting reports which are false-positive. ### Modification Apply all pending dependency updates and bump netty to 5.0.0-Alpha5-SNAPSHOT. ### Result All dependencies are up-to-date again and no more netty exceptions are thrown during jvm shutdowns.
### Motivation Currently the module path parser successfully parses paths to a directory. But a directory is never a module and therefore can't get loaded. ### Modification Check if the specified path points to a directory and if so abort the parsing process. ### Result Only files are parsed sucessfully.
### Motivation The interrupted state of a thread will be reset in case an InterruptedException is thrown. As we need catch these exceptions any upper layer of the method call is unable to respond to the interuption and `Thread.currentThread().isInterrupted()` will falsely return false. ### Modification Call `Thread.currentThread().interrupt()` to mark threads as interrupted when catching an InterruptedException. This PR also removes the usages of `Thread.interrupted()` which check if a thread is interrupted but also resets the interrupted state of the thread. ### Result No more accidental wrong marks of threads which should be marked as interrupted. ##### Other context A bit more context is given (for example) here: https://dzone.com/articles/why-do-we-need-threadcurrentthreadinterrupt-in-int
### Motivation All tests should run on the latest lts version of java (currently 17) and the latest available version (currently 19-ea). The change of the distribution to zulu was needed as temurin had no 20-ea builds, but we're currently limited by mockito which only supports up to java 19. To make later updates easier the distribution should be zulu anyway. ### Modification Use java 19-ea as the latest test version instead of 18, replaced temurin with zulu jdk distribution. ### Result Faster updates to newer java versions & tests are running on jdk 19 which makes it easier to determine if we need to do something in order to support a newer java version.
) ### Motivation Currently everybody that wants to use a Minestom implementation is forced to shade google-guava. As the dependency system of Minestom did not seem to work. ### Modification Added the cloudperms dependency to simplenametags & chat. Furthermore added a new service loader file to point to the correct maven resolver, basically fixing the minestom extension dependency resolving system... ### Result Minestom dependency resolving works and Minestom implementations are lo longer forced to shade guava.
### Motivation The usage of wildcard types in the changed places is not needed and can lead to exceptions, for example when used in combination with our rpc system. ### Modification Remove uneeded wildcard types when they are exposed by our api. ### Result No more usages of wildcard types. ##### Other context Closes #775
### Motivation Currently we state that we support Glowstone by providing downloads in our installer but due to the usage of ASM6 in Glowstone we are unable to support it. ### Modification Removed the Glowstone downloads and ServiceEnvironmentType. ### Result Glowstone is not supported anymore (at least until they update to ASM9).
0utplay
force-pushed
the
unstable/rewrite
branch
from
August 13, 2022 18:26
6a51e4c
to
a3c47a0
Compare
### Motivation Currently we use some immutable sets in the node configuration leading to UnsupportedOperationExceptions ### Modification Use mutable sets instead of immutable ones. ### Result No UnsupportedOperationException.
…#779) ### Motivation While testing the upgrade of a CloudNet 3.4 instance I noticed that the LabyMod module config is not converted correctly. ### Modification Rearranged the module task order and actually write the labymod config to the file instead of the builder. ### Result The conversion works how its intended.
…711) ### Motivation There were already occurrences of accidental pull request merges into wrong branches. ### Modification Add an action that will fail when the target branch is not "nightly" ### Result Less more likely to accidentaly merge a pull request into the wrong branch.
### Motivation Currently rpc does not travel the interfaces of all extending classes and therefore misses some interfaces. Furthermore the constructor generation was not correct in a way that the channelSupplier field is not initialized at all. ### Modification Travel all interfaces on every extending class and write the channelSupplier field. ### Result RPC generates all methods and constructors correctly. ## Other context Closes #780
### Motivation One of the translations in the template command has to parameters but 0 are supplied in the runtime. ### Modification Added the missing parameters for a correct translation. ### Result The translation is displayed correctly.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request includes:
Changes made to the repository:
Documentation of test results:
Related issues/discussions: