Commit graph

107 commits

Author SHA1 Message Date
derrod d2a7f01295 updater: Use static blake2 and fix building with Debug runtimes 2024-06-14 18:10:04 -04:00
Ryan Foster cfd692ca15 updater: Fix defaultlib conflict
Trying to build in Debug fails due a default lib conflict:
LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use
/NODEFAULTLIB:library

Instead, we can set the updater to always use /MT instead of /MTd.
2024-06-11 18:25:05 -04:00
derrod 0cfae862cd updater: Compile with static VC runtime 2024-06-11 13:24:07 -04:00
derrod 6779052902 updater: Check and update VC runtime version 2024-06-11 13:24:07 -04:00
PatTheMav dc41069619 UI: Update CMake target source lists with alphabetic sorting
Also updates CMake formatting with manual format choices.
2023-12-19 17:59:44 -05:00
derrod cfd8d4c993 updater: Clear shader cache after updating 2023-11-20 04:32:56 -06:00
derrod aed8e2384d updater: Remove non-error logging from multithreaded code 2023-09-05 15:02:41 -04:00
derrod 028b3c12cf updater: Static analysis cleanups 2023-08-26 16:53:14 -07:00
derrod 014f7683cf updater: Pass through parameters to restarted OBS instance 2023-08-11 00:34:36 +02:00
Ryan Foster 64139a6bbd CI: Update to clang-format 16
This commit also modifies UI, libobs, and plugins.
2023-08-10 16:07:25 -04:00
derrod 8ec0d7fd1b updater: Update manifest struct for use in UI 2023-07-23 08:54:17 +02:00
derrod d1dd7dd6d3 updater: Migrate to nlohmann JSON 2023-07-23 02:18:53 +02:00
derrod bdc2da6e48 updater: Update installed version in registry 2023-07-22 16:33:19 -07:00
Richard Stanway b7fddceb67
updater: Treat mapped file errors as a sharing violation
For whatever reason there exists a different error code if the file has
been opened as a mapped file, so we need to handle it.
2023-07-21 03:02:31 +02:00
derrod 46525f5175 updater: Fix updating without patch files 2023-07-07 12:50:02 -04:00
PatTheMav db895092ed cmake: Add changes for CMake build framework 3.0
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-06-29 10:11:32 -04:00
derrod 8983083cec updater: Refactor and cleanup 2023-06-11 02:17:28 +02:00
Lain 106c7aa61f Update copyrights/names 2023-05-20 01:31:18 -07:00
derrod 5fbe9cdb41 updater: Add workaround for broken CLI arguments 2023-03-29 02:08:46 +02:00
PatTheMav 349372b3b3 cmake: Add changes for CMake build framework 3.0
New code path only taken if OBS_CMAKE_VERSION is set to 3.0.0 or
greater, old functionality remains unchanged.
2023-03-26 18:20:38 -04:00
derrod b31344d82e updater: Fix building in Debug 2023-03-12 20:50:45 +01:00
derrod 0ece23dff2 updater: Bump version 2023-03-07 15:34:27 -05:00
derrod 2790e1ab1b updater: Use native WinHTTP decompression (remove zlib) 2023-03-07 15:34:27 -05:00
derrod fc5a84ed5d updater: Use zstd for patch manifest request 2023-03-07 15:34:27 -05:00
derrod f29e1fdee4 updater: Switch to Zstandard for delta updates
zstd is faster, less resource intensive, and produces smaller
files than bsdiff + LZMA.

Overall, it's a significant improvement for our workflow.
2023-03-07 15:34:27 -05:00
derrod 787c5f67a8 updater: Add Zstandard for compressed downloads
Using zstd reduces the download size for updates by about 2/3.
2023-03-07 15:34:27 -05:00
derrod 8ba646c842 updater: Check if awaited instance matches current install
Also replaces any secondary usages of GetCurrentDirectory with cached
static variable.

Co-Authored-By: Richard Stanway <r1ch@r1ch.net>
2023-03-03 21:47:56 +00:00
derrod 08733a0e1a updater: Remove 32-bit Support 2023-03-01 20:18:03 -05:00
derrod d15dce99d0 updater: Multi-threaded delta patching 2023-03-01 16:20:43 -05:00
Georges Basile Stavracas Neto a1a98f9cfd plugins: Drop win-ivcam
Apparently this was a prototype from Intel that never really
properly launched. Remove the plugin.
2023-02-24 14:04:29 +01:00
derrod 0972da9e1a UI: Merge win-update and nix-update 2023-02-19 01:35:56 +01:00
derrod cd78ecae50 updater: Deduplicate delta patch downloads 2023-01-29 02:24:55 -08:00
derrod cbe3ef7e57 Revert "UI/updater: Fix files with similar hashes clashing"
This reverts commit 7396c211be.
2023-01-29 02:24:55 -08:00
derrod 778cf5a96a updater: Pass AppData path to elevated process 2023-01-25 12:32:41 -05:00
derrod ffd7202168 updater: Add additional status messages 2023-01-24 20:14:40 -08:00
derrod edcb80ae8b updater: Hash files with multiple threads 2023-01-22 23:58:56 +01:00
derrod 143877c8ff updater: Fix portable OBS not being relaunched correctly 2023-01-14 15:30:58 -08:00
derrod 807c0c386d updater: Deduplicate Downloads 2023-01-12 11:37:26 -08:00
derrod 9c2cccfbc7 updater: Bump to version 2.2 2022-12-03 15:03:28 -08:00
derrod 1617424466 updater: Add --branch/--portable command line arguments 2022-11-22 02:54:07 +01:00
Richard Stanway 47e441b2e5
UI/updater: CMake: Add /utf-8 to MSVC command line
Fixes compiler interpreting UTF-8 as individual bytes when building the
wide string and showing the wrong characters.

Fixes #7304.
2022-09-05 22:51:15 +02:00
Richard Stanway 1cae3d4a3c
UI/updater: Fix manifest XML namespace for dpiAware setting 2022-09-05 22:49:11 +02:00
Ryan Foster 7d853fb155 UI/updater: Only run updater on Windows 10+
OBS Studio 28 no longer supports Windows 7, 8, or 8.1, and Qt 6 will
fail to run on those versions. Users on those systems being offered the
update will end up in a state where OBS will not run if they install the
update. Let's prevent the updater executable from running on those
versions to avoid that scenario.
2022-09-02 18:03:17 -07:00
jp9000 7396c211be UI/updater: Fix files with similar hashes clashing
Do to multithreading the update process, files of the same hash can
sometimes collide due to race. Ensure the filenames are all unique by
appending an incremented value for each file.
2022-08-31 20:51:21 -07:00
jp9000 e87a97eb8c UI/updater: Fix silent failure on auto-update 2022-08-31 20:19:11 -07:00
Richard Stanway 31414d2d7a
UI/updater: Fix wrong parameter order for MessageBox 2022-09-01 00:44:57 +02:00
Richard Stanway 854d75919f
UI/updater: Use a unique temp path for patch files
Fixes a case where patches for the same destination file but different
source files would clobber each other and cause integrity check
failures.
2022-09-01 00:37:53 +02:00
derrod 9a5e094cb3 UI/updater: Delete files listed as removed in manifest 2022-08-30 00:22:22 -07:00
PatTheMav 1f0f2be15e
UI: Update CMakeLists.txt for main OBS app 2022-03-16 23:11:58 +01:00
Richard Stanway 10446c1a0b UI/updater: Explicitly set PSAPI_VERSION=2
If the user didn't set their minimum SDK level this would default to
PSAPI_VERSION=1 which requires psapi.lib (removed in 4614c057).
2021-12-09 02:51:08 +01:00