summaryrefslogtreecommitdiff
path: root/src/web_service
AgeCommit message (Collapse)Author
2025-02-16build: upgrade fmt and SDL2Zephyron
Update fmt library to version 11.0.2 and make necessary adjustments: - Replace fmt/format.h includes with fmt/ranges.h - Add const qualifiers to formatter::format functions - Update CMake to require fmt version 11 Additional dependency updates: - Update SDL2 bundled version from 2.28.2 to 2.32.0 - Update catch2 to version 3.8.0 - Update vcpkg baseline to c82f74667287d3dc386bce81e44964370c91a289
2025-01-14Revert incorrect copyright attribution for non-contributed filesZephyron
- In commit b3facaa6bb30cdc39f2b7d632fef1e3bfeee7785, the copyright header was updated to include "Citron Homebrew Project" across multiple files, regardless of whether any contributions were made. - This commit removes the incorrect attribution and reverts the copyright header to its previous state. - Copyright attribution should only be added when meaningful contributions have been made to the file. - This commit ensures proper compliance with copyright standards and maintains correct attribution to the respective contributors. - Special thanks to Tachi for pointing out the need for these corrections and ensuring that proper attribution practices are followed.
2024-12-31core: Update copyright headersZephyron
- Update copyright headers to include Citron Homebrew Project - Add 2025 to copyright years
2024-12-31chore: update project references and add Citron copyrightZephyron
- Replaced all references to the old project name with Citron. - Added Citron copyright information alongside existing notices in all files.
2024-02-06web_backend: Fix compilationFearlessTobi
2024-02-04web_backend: Sync with Citra implementationFearlessTobi
While porting https://github.com/citra-emu/citra/pull/7347, I noticed the code of yuzu was not up-to-date with the implementation from Citra.
2023-08-25Warnings cleanup for GCC 13 and Clang 16comex
Note: For GCC there are still a huge number of `-Warray-bounds` warnings coming from `externals/dynarmic`. I could have added a workaround in `externals/CMakeLists.txt` similar to what this PR does for other externals, but given Dynarmic's close affiliation with Yuzu, it would be better to fix it upstream. Besides that, on my machine, this makes the build warning-free except for some warnings from glslangValidator and AutoMoc. Details: - Disable some warnings in externals. - Disable `-Wnullability-completeness`, which is a Clang warning triggered by the Vulkan SDK where if any pointers in the header are marked _Nullable, it wants all pointers to be marked _Nullable or _Nonnull. Most of them are, but some aren't. Who knows why. - `src/web_service/verify_user_jwt.cpp`: Disable another warning when including `jwt.hpp`. - `src/input_common/input_poller.cpp`: Add missing `override` specifiers. - src/common/swap.h: Remove redundant `operator&`. In general, this file declares three overloads of each operator. Using `+` as an example, the overloads are: - a member function for `swapped_t + integer` - a member function for `swapped_t + swapped_t` - a free function for `integer + swapped_t` But for `operator&`, there was an additional free function for `swapped_t + integer`, which was redundant with the member function. This caused a GCC warning saying "ISO C++ says that these are ambiguous".
2023-07-18general: Silence -Wshadow{,-uncaptured-local} warningslat9nq
These occur in the latest commits in LLVM Clang.
2023-04-02general: fixes for gcc 13Liam
2023-02-21externals: Update cpp-httplib to latestAlexandre Bouvier
2022-12-04cmake: prefer system librariesAlexandre Bouvier
2022-11-30CMake: Consolidate common PCH headersameerj
2022-11-29CMake: Use precompiled headersameerj
2022-10-05Show error from cpp-httplib when we don't have a response to read (report ↵Kyle Kienapfel
errors while connecting to API) (#8999) Co-authored-by: Kyle Kienapfel <Docteh@users.noreply.github.com>
2022-08-15web_service: Correct jwt issuer stringFearlessTobi
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda
[REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
2022-07-25network, yuzu: Make copyright headers SPDX-compliantFearlessTobi
2022-07-25network, yuzu: Improve variable naming and style consistencyFearlessTobi
2022-07-25common: multiplayer: Use GameInfo typegerman77
2022-07-25Address second part of review commentsFearlessTobi
2022-07-25Address first part of review commentsFearlessTobi
2022-07-25Fix compilation on linux gccFearlessTobi
2022-07-25web_service: Fix -Wmissing-field-initializersFearlessTobi
2022-07-25yuzu: Add ui files for multiplayer roomsFearlessTobi
2022-06-13web_service: Eliminate variable shadowingMorph
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-07web_service: Replace lock_guard with scoped_lockMerry
2022-03-20web_service: Reduce unused includesameerj
2021-07-12web_service: Silence -Wmaybe-uninitialized on httplib.hReinUsesLisp
2021-06-19externals: httplib: replace custom httplib header with upstream as submodule.Vortex
This also includes a minor change to web_service.cpp - to fix compatibility with upstream changes.
2020-10-28web_service: follow-up fix to #4842 ...liushuyu
* The web_service http request is now fixed on Windows (R) platform. * The issue is due to a complicated race-condition in `httplib`, a detailed explanation is available at https://github.com/yhirose/cpp-httplib/pull/701 * A pending Pull Request on `httplib` has been applied to remedy the said race-condition. * The socket availability check is removed due to a behavioral chice of `httplib` that a socket will not be created before any actual request is sent.
2020-10-28web_service: web_backend: Handle socket errors with GenericRequest.bunnei
- Fixes a shutdown crash when we try to submit telemetry if there is a service issue.
2020-10-27web_backend: fix a regression introduced in 39c8d18liushuyu
* A regression was in 39c8d18 and token verification function was broken. * The reason being `httplib` now requires OpenSSL 1.1+ API while LibreSSL 2.x provided OpenSSL 1.0 compatible API. * The bundled LibreSSL has been updated to 3.2.2 so it now provides OpenSSL 1.1 compatible API now. * Also the path hint has been added so that it will find the correct path to the CA certs on *nix systems. * An option is provided so that *nix system distributions/providers can use their own SSL implementations when compiling Yuzu/Citra to (hopefully) complies with their maintenance guidelines. * LURLParse is also removed since `httplib` can handle `scheme:host:port` string itself now.
2020-10-13core/CMakeLists: Make some warnings errorsLioncash
Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
2020-08-22web_service: Move web_result.h into web_serviceLioncash
This is the only place it's actively used. It's also more appropriate for web-related structures to be within the web service target. Especially given this one doesn't rely on anything in the common library.
2020-08-18common/telemetry: Migrate namespace into the Common namespaceLioncash
Migrates the Telemetry namespace into the Common namespace to make the code consistent with the rest of our common code.
2020-05-08Replace externals with Conan (#3735)James Rowe
* Remove git submodules that will be loaded through conan * Move custom Find modules to their own folder * Use conan for downloading missing external dependencies * CI: Change the yuzu source folder user to the user that the containers run on * Attempt to remove dirty mingw build hack * Install conan on the msvc build * Only set release build type when using not using multi config generator * Re-add qt bundled to workaround an issue with conan qt not downloading prebuilt binaries * Add workaround for submodules that use legacy CMAKE variables * Re-add USE_BUNDLED_QT on the msvc build bot
2020-04-16Merge pull request #3673 from lioncash/extrabunnei
CMakeLists: Specify -Wextra on linux builds
2020-04-16externals: Move LibreSSL linking to httplib.Markus Wick
Neither core nor web_services use OpenSSL nor LibreSSL. However they need to link them as it's a requirement of httplib. So let's declare this within httplib instead of core and web_services.
2020-04-15CMakeLists: Specify -Wextra on linux buildsLioncash
Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.
2020-02-18httplib compatibilityBrian Clinkenbeard
2020-01-29web_service/telemetry_json: Report USER_CONFIGReinUsesLisp
2019-11-09web-service: Port citra's updated web_backend code.bunnei
2019-04-01general: Use deducation guides for std::lock_guard and std::unique_lockLioncash
Since C++17, the introduction of deduction guides for locking facilities means that we no longer need to hardcode the mutex type into the locks themselves, making it easier to switch mutex types, should it ever be necessary in the future.
2019-03-02web_service: Remove unnecessary inclusionsLioncash
Reduces the potential amount of rebuilding necessary if any headers change. In particular, we were including a header from the core library when we don't even link the core library to the web_service library, so this also gets rid of an indirect dependency.
2018-10-28compatdb: Use a seperate endpoint for testcase submissionfearlessTobi
2018-10-23Merge pull request #1542 from lioncash/projectbunnei
CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
2018-10-20CMakeLists: Use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIRLioncash
This is more localized to what we want to enforce directory-wise with the project. CMAKE_SOURCE_DIR indicates the root of the source tree, but this would cause the wrong behavior if someone included yuzu as part of a larger buildsystem (for whatever reason). Instead, we want to use the directory where the "project(yuzu)" command was declared as the root path reference.
2018-10-20web_service/CMakeLists: Make the CPPHTTPLIB_OPENSSL_SUPPORT constrained to ↵Lioncash
the web_service library only Given we link in httplib privately, we can also make the definition enabling OpenSSL support private as well. Prevents leaking a definition into other libraries that link with this one, like the core library.
2018-10-10web_backend: Make Client use the PImpl idiomLioncash
Like with TelemetryJson, we can make the implementation details private and avoid the need to expose httplib to external libraries that need to use the Client class.