- Rebased onto official Polyfrost OneLauncher v2.3.1 (commit 0e49c691)
- Preserved 100% offline authentication without requiring Microsoft accounts
- Integrated custom 3D offline skin changer with UUID character slot targeting
- Maintained CustomSkinLoader auto-configuration for Ely.by and SkinRestorer
- Maintained direct GitHub Releases auto-updater pointing to oiupoyt/OneLauncher-Cracked
- Maintained mods filter popover fix eliminating text ghosting/duplication
- Configured dev profile to prevent debug symbol bloat
6.3 KiB
Contributing to OneLauncher/OneClient
Welcome!
Please read our Code of Conduct to keep our community approachable and respectable.
New Contributor Guide
To familiarize yourself with the project, please read the README. Here are some resources to help you get started with open-source contributions:
- Finding ways to contribute to open-source on GitHub
- Setting up Git
- GitHub flow
- Collaborating with pull requests
- The Rust Book
- The
cargoCLI
Getting Started
Issues
Creating a New Issue
If you come across an issue or have a feature request for OneLauncher/OneClient, please search if a related issue has already been reported. If no relevant issue exists, you can open a new issue using the appropriate issue form.
Solving an Issue
To find an issue that interests you, you can browse through our existing issues and use the available labels to narrow down your search (See Labels for more information). As a general rule, if you find an issue you want to work on, you are welcome to open a PR with a fix.
Making Changes
Making Changes Locally
This project is a pure Rust Cargo workspace (edition 2024). Make sure you have a
recent Rust toolchain (rustc 1.85+) installed before proceeding - the easiest way
is via rustup.
To make changes locally, follow these steps:
- Clone the repository:
git clone https://github.com/Polyfrost/OneLauncher - Navigate to the project directory:
cd OneLauncher - Configure your system environment for OneLauncher/OneClient development:
- Install a Rust toolchain that supports edition 2024:
rustup toolchain install stable - Freya renders with Skia; on Linux you may also need system libraries such as a C
compiler,
pkg-config, and the usual GUI/graphics dev packages. See the Freya setup guide for platform-specific prerequisites.
- Install a Rust toolchain that supports edition 2024:
Running
The app crate is oneclient_app:
cargo run -p oneclient_app- Runs the OneClient desktop application.cargo build --release -p oneclient_app- Builds an optimized release binary.
After you finish making your changes and committed them to your branch, run
cargo fmt and cargo clippy to fix style inconsistencies and catch lints.
Packaging
Installers are built with cargo-packager (config in
packages/oneclient_app/Cargo.toml under [package.metadata.packager]):
cargo install cargo-packager --lockedcargo build --release -p oneclient_appcargo packager --release -p oneclient_app --formats <nsis|app,dmg|deb,appimage>
Releases are cut by dispatching the OneClient Release Build GitHub Actions
workflow. See the Packaging / Releasing section of the README for details
and per-OS prerequisites.
Pull Request
Once you have finished making your changes, create a pull request (PR) to submit them.
- Fill out the template to help reviewers understand your changes and the purpose of your PR.
- If you are addressing an existing issue, don't forget to link your PR to the issue.
- Enable the checkbox to allow maintainer edits so that the branch can be updated for merging.
- Once you submit your PR, a team member will review your proposal. They may ask questions or request additional information.
- You may be asked to make changes before the PR can be merged, either through suggested changes or pull request comments. You can apply suggested changes directly through the UI. For other changes, you can make them in your fork and commit them to your branch.
- As you update your PR and apply changes, mark each conversation as resolved.
- If you run into any merge issues, refer to this git tutorial to help you resolve merge conflicts and other issues.
Your PR is Merged!
Congratulations! 🎉🎉 Polyfrost thanks you for your contribution! ✨ Once your PR is merged, your changes will be included in the next release.
Common Errors
macOS errors with Xcode command line tools
Build errors can occur when the Xcode command line tools are not installed or not in your PATH.
Run xcode-select --install in the terminal to install them. If they are already installed, ensure that macOS is updated to the latest version available.
Credits
This CONTRIBUTING.md file was inspired by the github/docs CONTRIBUTING.md file, and we extend our gratitude to the original authors.