mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Merge pull request #1018 from wabbajack-tools/version-bump-and-fixes
Version bump and fixes
This commit is contained in:
commit
ec40249e5d
@ -1,5 +1,13 @@
|
|||||||
### Changelog
|
### Changelog
|
||||||
|
|
||||||
|
#### Version - 2.2.0.0 - 8/7/2020
|
||||||
|
* Can now use NTFS XPRESS16 compression to reduce install sizes (optional in the settings panel)
|
||||||
|
* Better valid directory detection during install
|
||||||
|
* Prime the Hash cache during install so that we don't have to re-hash during a modlist update
|
||||||
|
* Better detection and handling of midden files
|
||||||
|
* Reworked the installer to use less temporary storage during install, keeps fewer archives open at once
|
||||||
|
* Launcher now passes arguments to the main Wabbajack.exe application
|
||||||
|
|
||||||
#### Version - 2.1.3.4 - 7/28/2020
|
#### Version - 2.1.3.4 - 7/28/2020
|
||||||
* Fixes for Tar Files (for realz this time)
|
* Fixes for Tar Files (for realz this time)
|
||||||
* Watch disk usage, throw an error if disk usage gets too high
|
* Watch disk usage, throw an error if disk usage gets too high
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<AssemblyName>wabbajack-cli</AssemblyName>
|
<AssemblyName>wabbajack-cli</AssemblyName>
|
||||||
<Company>Wabbajack</Company>
|
<Company>Wabbajack</Company>
|
||||||
<Platforms>x64</Platforms>
|
<Platforms>x64</Platforms>
|
||||||
<AssemblyVersion>2.1.3.4</AssemblyVersion>
|
<AssemblyVersion>2.2.0.0</AssemblyVersion>
|
||||||
<FileVersion>2.1.3.4</FileVersion>
|
<FileVersion>2.2.0.0</FileVersion>
|
||||||
<Copyright>Copyright © 2019-2020</Copyright>
|
<Copyright>Copyright © 2019-2020</Copyright>
|
||||||
<Description>An automated ModList installer</Description>
|
<Description>An automated ModList installer</Description>
|
||||||
<PublishReadyToRun>true</PublishReadyToRun>
|
<PublishReadyToRun>true</PublishReadyToRun>
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||||
<UseWPF>true</UseWPF>
|
<UseWPF>true</UseWPF>
|
||||||
<AssemblyVersion>2.1.3.4</AssemblyVersion>
|
<AssemblyVersion>2.2.0.0</AssemblyVersion>
|
||||||
<FileVersion>2.1.3.4</FileVersion>
|
<FileVersion>2.2.0.0</FileVersion>
|
||||||
<Copyright>Copyright © 2019-2020</Copyright>
|
<Copyright>Copyright © 2019-2020</Copyright>
|
||||||
<Description>Wabbajack Application Launcher</Description>
|
<Description>Wabbajack Application Launcher</Description>
|
||||||
<PublishReadyToRun>true</PublishReadyToRun>
|
<PublishReadyToRun>true</PublishReadyToRun>
|
||||||
|
@ -239,5 +239,20 @@ namespace Wabbajack.Lib
|
|||||||
}
|
}
|
||||||
throw new HttpException(result);
|
throw new HttpException(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static async Task<Uri?> GetMirrorUrl(Hash archiveHash)
|
||||||
|
{
|
||||||
|
var client = await GetClient();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var result =
|
||||||
|
await client.GetStringAsync($"{Consts.WabbajackBuildServerUri}/mirror/{archiveHash.ToHex()}");
|
||||||
|
return new Uri(result);
|
||||||
|
}
|
||||||
|
catch (HttpException ex)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -128,11 +128,12 @@ namespace Wabbajack.Lib.Downloaders
|
|||||||
Utils.Log($"Looking for patch for {archive.Name} ({(long)archive.Hash} {archive.Hash.ToHex()} -> {(long)result.Archive!.Hash} {result.Archive!.Hash.ToHex()})");
|
Utils.Log($"Looking for patch for {archive.Name} ({(long)archive.Hash} {archive.Hash.ToHex()} -> {(long)result.Archive!.Hash} {result.Archive!.Hash.ToHex()})");
|
||||||
var patchResult = await ClientAPI.GetModUpgrade(archive, result.Archive!);
|
var patchResult = await ClientAPI.GetModUpgrade(archive, result.Archive!);
|
||||||
|
|
||||||
Utils.Log($"Downloading patch for {archive.Name}");
|
Utils.Log($"Downloading patch for {archive.Name} from {patchResult}");
|
||||||
|
|
||||||
var tempFile = new TempFile();
|
var tempFile = new TempFile();
|
||||||
|
|
||||||
using var response = await (await ClientAPI.GetClient()).GetAsync(patchResult);
|
using var response = await (await ClientAPI.GetClient()).GetAsync(patchResult);
|
||||||
|
|
||||||
await tempFile.Path.WriteAllAsync(await response.Content.ReadAsStreamAsync());
|
await tempFile.Path.WriteAllAsync(await response.Content.ReadAsStreamAsync());
|
||||||
response.Dispose();
|
response.Dispose();
|
||||||
|
|
||||||
@ -157,9 +158,12 @@ namespace Wabbajack.Lib.Downloaders
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
var url = await ClientAPI.GetMirrorUrl(archive.Hash);
|
||||||
|
if (url == null) return false;
|
||||||
|
|
||||||
var newArchive =
|
var newArchive =
|
||||||
new Archive(
|
new Archive(
|
||||||
new WabbajackCDNDownloader.State(new Uri($"{Consts.WabbajackMirror}{archive.Hash.ToHex()}")))
|
new WabbajackCDNDownloader.State(url))
|
||||||
{
|
{
|
||||||
Hash = archive.Hash, Size = archive.Size, Name = archive.Name
|
Hash = archive.Hash, Size = archive.Size, Name = archive.Name
|
||||||
};
|
};
|
||||||
|
@ -105,7 +105,7 @@ namespace Wabbajack.Server.Test
|
|||||||
patcher.NoCleaning = true;
|
patcher.NoCleaning = true;
|
||||||
|
|
||||||
var sql = Fixture.GetService<SqlService>();
|
var sql = Fixture.GetService<SqlService>();
|
||||||
var oldFileData = Encoding.UTF8.GetBytes("Cheese for Everyone!");
|
var oldFileData = Encoding.UTF8.GetBytes("Cheese for Everyone!" + Guid.NewGuid());
|
||||||
var newFileData = Encoding.UTF8.GetBytes("Forks for Everyone!");
|
var newFileData = Encoding.UTF8.GetBytes("Forks for Everyone!");
|
||||||
var oldDataHash = oldFileData.xxHash();
|
var oldDataHash = oldFileData.xxHash();
|
||||||
var newDataHash = newFileData.xxHash();
|
var newDataHash = newFileData.xxHash();
|
||||||
|
@ -146,6 +146,16 @@ namespace Wabbajack.BuildServer.Controllers
|
|||||||
return Ok("Purged");
|
return Ok("Purged");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpGet]
|
||||||
|
[Authorize(Roles = "User")]
|
||||||
|
[Route("/mirror/{hashAsHex}")]
|
||||||
|
public async Task<IActionResult> HaveHash(string hashAsHex)
|
||||||
|
{
|
||||||
|
var result = await _sql.HaveMirror(Hash.FromHex(hashAsHex));
|
||||||
|
if (result) return Ok($"https://{(await _creds).Username}.b-cdn.net/{hashAsHex}");
|
||||||
|
return NotFound("Not Mirrored");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -75,5 +75,13 @@ namespace Wabbajack.Server.DataLayer
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<bool> HaveMirror(Hash hash)
|
||||||
|
{
|
||||||
|
await using var conn = await Open();
|
||||||
|
|
||||||
|
return await conn.QueryFirstOrDefaultAsync<Hash>("SELECT Hash FROM dbo.MirroredFiles WHERE Hash = @Hash",
|
||||||
|
new {Hash = hash}) != default;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -203,7 +203,7 @@ namespace Wabbajack.Server.Services
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
_logger.Log(LogLevel.Information,
|
_logger.Log(LogLevel.Information,
|
||||||
$"Uploading {patchFile.Size.ToFileSizeString()} patch file to CDN");
|
$"Uploading {patchFile.Size.ToFileSizeString()} patch file to CDN {patchName}");
|
||||||
using var client = await GetBunnyCdnFtpClient();
|
using var client = await GetBunnyCdnFtpClient();
|
||||||
|
|
||||||
await client.UploadFileAsync((string)patchFile, patchName, FtpRemoteExists.Overwrite);
|
await client.UploadFileAsync((string)patchFile, patchName, FtpRemoteExists.Overwrite);
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<OutputType>Exe</OutputType>
|
<OutputType>Exe</OutputType>
|
||||||
<TargetFramework>netcoreapp3.1</TargetFramework>
|
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||||
<AssemblyVersion>2.1.3.4</AssemblyVersion>
|
<AssemblyVersion>2.2.0.0</AssemblyVersion>
|
||||||
<FileVersion>2.1.3.4</FileVersion>
|
<FileVersion>2.2.0.0</FileVersion>
|
||||||
<Copyright>Copyright © 2019-2020</Copyright>
|
<Copyright>Copyright © 2019-2020</Copyright>
|
||||||
<Description>Wabbajack Server</Description>
|
<Description>Wabbajack Server</Description>
|
||||||
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<UseWPF>true</UseWPF>
|
<UseWPF>true</UseWPF>
|
||||||
<Platforms>x64</Platforms>
|
<Platforms>x64</Platforms>
|
||||||
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
|
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
|
||||||
<AssemblyVersion>2.1.3.4</AssemblyVersion>
|
<AssemblyVersion>2.2.0.0</AssemblyVersion>
|
||||||
<FileVersion>2.1.3.4</FileVersion>
|
<FileVersion>2.2.0.0</FileVersion>
|
||||||
<Copyright>Copyright © 2019-2020</Copyright>
|
<Copyright>Copyright © 2019-2020</Copyright>
|
||||||
<Description>An automated ModList installer</Description>
|
<Description>An automated ModList installer</Description>
|
||||||
<PublishReadyToRun>true</PublishReadyToRun>
|
<PublishReadyToRun>true</PublishReadyToRun>
|
||||||
|
Loading…
Reference in New Issue
Block a user