aboutsummaryrefslogtreecommitdiff
path: root/src/web_service
Commit message (Collapse)AuthorAgeFilesLines
* [common] remove DetachedTasks object usage (#4096)lizzie2026-07-092-7/+13
| | | | | | | | | | | | | | | | | | | this was only ever used for announce room json on one single instance this object is pretty much a danger to society and shouldnt exist, especially since its: a) a singleton b) spawns objects out of thin air c) doesn't respect RAII and can outlive its parent objects (big no no) generally we shouldnt endorse objects like these in the future, but alas, it existed, now it has to begone additionally there is a similar object in KWorkerTaskManager but it's not as egregious as this one. check that this didnt break the usual announce room json logic Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4096 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [cmake, deps] conjure common/httplib.h and remove global def for httplib ↵lizzie2026-04-062-12/+4
| | | | | | | | | | | | | | | | macros (#3800) httplib stuff done by @crueter on #3797 + some extra stuff since the warning push/pop should be in header i fear :) Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3800 Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [common/logging] Simplify logging logic and fix issues when logging before ↵lizzie2026-03-123-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | system is created (#3688) - our logging code was bigger than spdlog itself, why???? just keep it simple - fix issues when logging before logging system is even started - removes the "initialized logging twice" issue - removes uneeded indirection in file logging - uses direct formatting instead of jumping hoopla-around the fmt::format() ressult - code duplication and dead code removal as usual I did explore dup2() but I think it's not worth the hassle I did try `fwopen()` but it's better if things are just kept as-is. there is a lot of noise because I removed a bunch of redundant files on logging and just put everything in one file now normally this wouldn't be a good idea, however consider: the complexity of logging; it's less than 500 lines... does it really need a whole subsystem?!?!?! ITS JUST LOGGING Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3688 Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: DraVee <chimera@dravee.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* nuke: Goodbye PCH, you will not be missed (#2821)Caio Oliveira2025-10-272-11/+0
| | | | | | | | Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2821 Reviewed-by: crueter <crueter@eden-emu.dev> Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Co-committed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
* [cmake] MinGW builds; fix line endings; fix weird multiplayer lobby behavior ↵crueter2025-10-262-0/+11
| | | | | | | | | | | | (#2835) MinGW builds perform pretty dramatically better than MSVC in my (brief) testing, getting 40% better FPS on my KVM than MSVC. How this will translate to the real world, who knows, but this is a really good target to have. TODO: Add this to CI, potentially replace clang-cl Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2835 Reviewed-by: MaranBr <maranbr@eden-emu.dev>
* [cmake] refactor: SDL2 CI and CPMUtil::AddCIPackage (#284)crueter2025-08-231-6/+2
| | | | | | | | | | | | Replaces bundled SDL2 with my SDL2 CI, and updates external SDL2 Additionally, reduces all that boilerplate with a common AddCIPackage in CPMUtil.cmake, currently used by OpenSSL and SDL2. To be used with ffmpeg in the future Signed-off-by: crueter <crueter@crueter.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/284 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
* [ci, cmake] openssl updates, fix drpc and ci scripts (#283)crueter2025-08-191-3/+2
| | | | | | | | | | | | | | | - Add bundled OpenSSL libs for Solaris, FreeBSD, Linux - Fix CPMUtil default on msvc - Update CI scripts (thanks dravee) - PLATFORM_<OS> helpers for non-ANDROID UNIX Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com> Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/283 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Co-authored-by: crueter <crueter@crueter.xyz> Co-committed-by: crueter <crueter@crueter.xyz>
* [cmake] refactor: CPM over vcpkg (#250)crueter2025-08-141-1/+9
| | | | | | | | | Completely replaces vcpkg with CPM for all "system" dependencies. Primarily needed for Android and Windows. Also uses my OpenSSL CI for those two platforms. In theory, improves configure and build time by a LOT and makes things much easier to manage Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/250 Reviewed-by: Lizzie <lizzie@eden-emu.dev>
* [cmake] refactor: Use CPM over submodules (#143)crueter2025-08-041-1/+2
| | | | | | | | | Transfers the majority of submodules and large externals to CPM, using source archives rather than full Git clones. Not only does this save massive amounts of clone and configure time, but dependencies are grabbed on-demand rather than being required by default. Additionally, CPM will (generally) automatically search for system dependencies, though certain dependencies have options to control this. Testing shows gains ranging from 5x to 10x in terms of overall clone/configure time. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/143 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
* Update fmt to allow for v11crueter2025-04-102-2/+2
| | | Signed-off-by: swurl <swurl@swurl.xyz>
* Removed telemetry and anonymized SCM (git) stringsdarktux2025-04-043-176/+0
|
* web_backend: Fix compilationFearlessTobi2024-02-061-6/+6
|
* web_backend: Sync with Citra implementationFearlessTobi2024-02-041-19/+22
| | | | 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.
* Warnings cleanup for GCC 13 and Clang 16comex2023-08-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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".
* general: Silence -Wshadow{,-uncaptured-local} warningslat9nq2023-07-181-5/+5
| | | | These occur in the latest commits in LLVM Clang.
* general: fixes for gcc 13Liam2023-04-021-1/+1
|
* externals: Update cpp-httplib to latestAlexandre Bouvier2023-02-211-1/+1
|
* cmake: prefer system librariesAlexandre Bouvier2022-12-041-1/+1
|
* CMake: Consolidate common PCH headersameerj2022-11-301-7/+1
|
* CMake: Use precompiled headersameerj2022-11-292-0/+17
|
* Show error from cpp-httplib when we don't have a response to read (report ↵Kyle Kienapfel2022-10-051-1/+2
| | | | | errors while connecting to API) (#8999) Co-authored-by: Kyle Kienapfel <Docteh@users.noreply.github.com>
* web_service: Correct jwt issuer stringFearlessTobi2022-08-151-1/+3
|
* chore: make yuzu REUSE compliantAndrea Pappacoda2022-07-277-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [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 b2eb10382941bef0914f4a0a4685b9033440aa9f
* network, yuzu: Make copyright headers SPDX-compliantFearlessTobi2022-07-254-12/+8
|
* network, yuzu: Improve variable naming and style consistencyFearlessTobi2022-07-253-5/+5
|
* common: multiplayer: Use GameInfo typegerman772022-07-253-13/+13
|
* Address second part of review commentsFearlessTobi2022-07-253-41/+36
|
* Address first part of review commentsFearlessTobi2022-07-253-1/+88
|
* Fix compilation on linux gccFearlessTobi2022-07-252-6/+6
|
* web_service: Fix -Wmissing-field-initializersFearlessTobi2022-07-251-1/+1
|
* yuzu: Add ui files for multiplayer roomsFearlessTobi2022-07-253-1/+206
|
* web_service: Eliminate variable shadowingMorph2022-06-132-12/+12
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | 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.
* web_service: Replace lock_guard with scoped_lockMerry2022-04-071-2/+2
|
* web_service: Reduce unused includesameerj2022-03-201-1/+0
|
* web_service: Silence -Wmaybe-uninitialized on httplib.hReinUsesLisp2021-07-121-0/+10
|
* externals: httplib: replace custom httplib header with upstream as submodule.Vortex2021-06-191-1/+2
| | | | This also includes a minor change to web_service.cpp - to fix compatibility with upstream changes.
* web_service: follow-up fix to #4842 ...liushuyu2020-10-281-5/+0
| | | | | | | | | | | * 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.
* web_service: web_backend: Handle socket errors with GenericRequest.bunnei2020-10-281-0/+11
| | | | - Fixes a shutdown crash when we try to submit telemetry if there is a service issue.
* web_backend: fix a regression introduced in 16de0a6liushuyu2020-10-272-20/+2
| | | | | | | | | | | | | | | | * A regression was in 16de0a6 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.
* core/CMakeLists: Make some warnings errorsLioncash2020-10-131-9/+6
| | | | | | | | | 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.
* web_service: Move web_result.h into web_serviceLioncash2020-08-226-44/+64
| | | | | | | 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.
* common/telemetry: Migrate namespace into the Common namespaceLioncash2020-08-182-15/+17
| | | | | Migrates the Telemetry namespace into the Common namespace to make the code consistent with the rest of our common code.
* Replace externals with Conan (#3735)James Rowe2020-05-083-3/+3
| | | | | | | | | | | | | | | | | | | | | * 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
* Merge pull request #3673 from lioncash/extrabunnei2020-04-161-7/+7
|\ | | | | CMakeLists: Specify -Wextra on linux builds
| * CMakeLists: Specify -Wextra on linux buildsLioncash2020-04-151-7/+7
| | | | | | | | | | | | | | | | | | | | | | 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.
* | externals: Move LibreSSL linking to httplib.Markus Wick2020-04-161-6/+1
|/ | | | | | 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.
* httplib compatibilityBrian Clinkenbeard2020-02-181-4/+3
|
* web_service/telemetry_json: Report USER_CONFIGReinUsesLisp2020-01-291-0/+1
|
* web-service: Port citra's updated web_backend code.bunnei2019-11-092-18/+57
|