Skip to content

Commit

Permalink
修复 Android 上令牌倒计时引发的闪退
Browse files Browse the repository at this point in the history
改进 代理服务潜在的空指针异常
改进 hosts macOS 上文件操作
  • Loading branch information
AigioL committed Aug 26, 2021
1 parent 7ecc411 commit ee61b9f
Show file tree
Hide file tree
Showing 8 changed files with 208 additions and 97 deletions.
118 changes: 85 additions & 33 deletions README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,39 +47,91 @@ English | [简体中文](./README.md)

<!--Prerequisites Microsoft Visual C++ 2015-2019 Redistributable [64 bit](https://aka.ms/vs/16/release/vc_redist.x64.exe) / [32 bit](https://aka.ms/vs/16/release/vc_redist.x86.exe)-->
## 🖥 Supported Operating Systems
- Desktop(Only X64 and ARM64 are supported)
- Windows 10 / Windows Server, Version 20H2
- Windows 10 / Windows Server, Version 2004
- Windows 10 / Windows Server, Version 1909
- Windows 10 / Windows Server, Version 1903
- Windows 10, Version 1809
- Windows 10, Version 1803
- Windows 10, Version 1709
- Windows 10, Version 1607
- Windows 8.1 / Windows Server 2012 R2
- Windows 7 SP1 [ESU](https://docs.microsoft.com/troubleshoot/windows-client/windows-7-eos-faq/windows-7-extended-security-updates-faq)
- Prerequisites
- KB3063858 [64 bit](https://www.microsoft.com/download/details.aspx?id=47442) / [32 bit](https://www.microsoft.com/download/details.aspx?id=47409)
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- macOS 10.14 Mojave Or Higher
- Linux Distribution
- Arch Linux
- Alpine Linux 3.13+
- CentOS 7+
- Debian 10+
- Deepin 20.1 / UOS 20
- Fedora 32+
- Linux Mint 18+
- openSUSE 15+
- Red Hat Enterprise Linux 7+
- SUSE Enterprise Linux (SLES) 12 SP2+
- Ubuntu 16.04, 18.04, 20.04+
- Mobile
- Android 5.0/API 21+ (Only [arm64-v8a](https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#arm64-v8a) and [armeabiv-v7a](https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#v7a) are supported)
- iOS 10.0+ (ARM64 only)
### Windows

OS | Version | Architectures | Lifecycle
--------------------------------------|-------------------------|-----------------|----------
[Windows Client][Windows-client] | 7 SP1(**\***), 8.1 | x64 | [Windows][Windows-lifecycle]
[Windows 10 Client][Windows-client] | Version 1607+ | x64 | [Windows][Windows-lifecycle]
[Windows Server][Windows-Server] | 2012+ | x64 | [Windows Server][Windows-Server-lifecycle]

**\*** Windows 7 SP1 is supported with KB3063858 [64 bit](https://www.microsoft.com/download/details.aspx?id=47442) installed.

[Windows-client]: https://www.microsoft.com/windows/
[Windows-lifecycle]: https://support.microsoft.com/help/13853/windows-lifecycle-fact-sheet
[win-client-docker]: https://hub.docker.com/_/microsoft-windows
[Windows-Server-lifecycle]: https://docs.microsoft.com/windows-server/get-started/windows-server-release-info
[Nano-Server]: https://docs.microsoft.com/windows-server/get-started/getting-started-with-nano-server
[Windows-Server]: https://docs.microsoft.com/windows-server/

### Linux

OS | Version | Architectures | Lifecycle
--------------------------------------|-----------------------|-------------------|----------
[Alpine Linux][Alpine] | 3.13+ | x64, Arm64, Arm32 | [Alpine][Alpine-lifecycle]
[CentOS][CentOS] | 7+ | x64 | [CentOS][CentOS-lifecycle]
[Debian][Debian] | 10+ | x64, Arm64, Arm32 | [Debian][Debian-lifecycle]
[Fedora][Fedora] | 33+ | x64 | [Fedora][Fedora-lifecycle]
[openSUSE][OpenSUSE] | 15+ | x64 | [OpenSUSE][OpenSUSE-lifecycle]
[Red Hat Enterprise Linux][RHEL] | 7+ | x64, Arm64 | [Red Hat][RHEL-lifecycle]
[SUSE Enterprise Linux (SLES)][SLES] | 12 SP2+ | x64 | [SUSE][SLES-lifecycle]
[Ubuntu][Ubuntu] | 16.04, 18.04, 20.04+ | x64, Arm64, Arm32 | [Ubuntu][Ubuntu-lifecycle]
[Deepin / UOS][Deepin] | 20+ | x64 | [Deepin][Deepin-lifecycle]

[Alpine]: https://alpinelinux.org/
[Alpine-lifecycle]: https://wiki.alpinelinux.org/wiki/Alpine_Linux:Releases
[CentOS]: https://www.centos.org/
[CentOS-lifecycle]:https://wiki.centos.org/FAQ/General
[CentOS-docker]: https://hub.docker.com/_/centos
[CentOS-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-centos8
[Debian]: https://www.debian.org/
[Debian-lifecycle]: https://wiki.debian.org/DebianReleases
[Debian-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-debian10
[Fedora]: https://getfedora.org/
[Fedora-lifecycle]: https://fedoraproject.org/wiki/End_of_life
[Fedora-docker]: https://hub.docker.com/_/fedora
[Fedora-msft-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-fedora32
[Fedora-pm]: https://fedoraproject.org/wiki/DotNet
[OpenSUSE]: https://opensuse.org/
[OpenSUSE-lifecycle]: https://en.opensuse.org/Lifetime
[OpenSUSE-docker]: https://hub.docker.com/r/opensuse/leap
[OpenSUSE-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-opensuse15
[RHEL]: https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
[RHEL-lifecycle]: https://access.redhat.com/support/policy/updates/errata/
[RHEL-msft-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-rhel8
[RHEL-pm]: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/developing_.net_applications_in_rhel_8/using-net-core-on-rhel_gsg#installing-net-core_gsg
[SLES]: https://www.suse.com/products/server/
[SLES-lifecycle]: https://www.suse.com/lifecycle/
[SLES-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-sles15
[Ubuntu]: https://ubuntu.com/
[Ubuntu-lifecycle]: https://wiki.ubuntu.com/Releases
[Ubuntu-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-ubuntu-2004
[Deepin]: https://www.deepin.org/
[Deepin-lifecycle]: https://www.deepin.org/release-notes

### macOS

OS | Version | Architectures |
------------------------------|---------------------------|-------------------|
[macOS][macOS] | 10.14+ | x64 |

[macOS]: https://support.apple.com/macos

### Android

OS | Version | Architectures |
------------------------------|-------------------------|-------------------|
[Android][Android] | 5.0(API 21)+ | [Arm32](https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#v7a), [Arm64](https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#arm64-v8a) |

[Android]: https://support.google.com/android

### iOS / iPadOS

OS | Version | Architectures |
------------------------------|-------------------------|-------------------|
[iOS][iOS] | 10.0+ | x64, Arm32, Arm64 |

[iOS]: https://support.apple.com/ios

## ⛔ Unsupported Operating System
- Windows 8
Expand Down
118 changes: 85 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,39 +56,91 @@
<!--发布配置SelfContained=true时会自动打包VC++相关程序集-->
<!--先决条件 Microsoft Visual C++ 2015-2019 Redistributable [64 位](https://aka.ms/vs/16/release/vc_redist.x64.exe) / [32 位](https://aka.ms/vs/16/release/vc_redist.x86.exe)-->
## 🖥 系统要求
- 桌面端(仅支持 X64 和 ARM64)
- Windows 10/Windows Server 版本 20H2
- Windows 10/Windows Server 版本 2004
- Windows 10/Windows Server 版本 1909
- Windows 10/Windows Server 版本 1903
- Windows 10 版本 1809
- Windows 10 版本 1803
- Windows 10 版本 1709
- Windows 10 版本 1607
- Windows 8.1
- Windows 7 SP1 [ESU](https://docs.microsoft.com/zh-cn/troubleshoot/windows-client/windows-7-eos-faq/windows-7-extended-security-updates-faq)
- 先决条件
- KB3063858 [64 位](https://www.microsoft.com/zh-cn/download/details.aspx?id=47442) / [32 位](https://www.microsoft.com/zh-cn/download/details.aspx?id=47409)
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2012
- macOS 10.14 Mojave 或更高版本
- Linux 发行版
- Arch Linux
- Alpine Linux 3.13+
- CentOS 7+
- Debian 10+
- Deepin 20.1 / UOS 20
- Fedora 32+
- Linux Mint 18+
- openSUSE 15+
- Red Hat Enterprise Linux 7+
- SUSE Enterprise Linux (SLES) 12 SP2+
- Ubuntu 16.04, 18.04, 20.04+
- 移动端
- Android 5.0/API 21+ (仅支持 [arm64-v8a](https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#arm64-v8a) 和 [armeabiv-v7a](https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#v7a))
- iOS 10.0+ (仅支持 ARM64)
### Windows

OS | Version | Architectures | Lifecycle
--------------------------------------|-------------------------|-----------------|----------
[Windows Client][Windows-client] | 7 SP1(**\***), 8.1 | x64 | [Windows][Windows-lifecycle]
[Windows 10 Client][Windows-client] | Version 1607+ | x64 | [Windows][Windows-lifecycle]
[Windows Server][Windows-Server] | 2012+ | x64 | [Windows Server][Windows-Server-lifecycle]

**\*** Windows 7 SP1 is supported with KB3063858 [64 位](https://www.microsoft.com/zh-cn/download/details.aspx?id=47442) installed.

[Windows-client]: https://www.microsoft.com/windows/
[Windows-lifecycle]: https://support.microsoft.com/help/13853/windows-lifecycle-fact-sheet
[win-client-docker]: https://hub.docker.com/_/microsoft-windows
[Windows-Server-lifecycle]: https://docs.microsoft.com/windows-server/get-started/windows-server-release-info
[Nano-Server]: https://docs.microsoft.com/windows-server/get-started/getting-started-with-nano-server
[Windows-Server]: https://docs.microsoft.com/windows-server/

### Linux

OS | Version | Architectures | Lifecycle
--------------------------------------|-----------------------|-------------------|----------
[Alpine Linux][Alpine] | 3.13+ | x64, Arm64, Arm32 | [Alpine][Alpine-lifecycle]
[CentOS][CentOS] | 7+ | x64 | [CentOS][CentOS-lifecycle]
[Debian][Debian] | 10+ | x64, Arm64, Arm32 | [Debian][Debian-lifecycle]
[Fedora][Fedora] | 33+ | x64 | [Fedora][Fedora-lifecycle]
[openSUSE][OpenSUSE] | 15+ | x64 | [OpenSUSE][OpenSUSE-lifecycle]
[Red Hat Enterprise Linux][RHEL] | 7+ | x64, Arm64 | [Red Hat][RHEL-lifecycle]
[SUSE Enterprise Linux (SLES)][SLES] | 12 SP2+ | x64 | [SUSE][SLES-lifecycle]
[Ubuntu][Ubuntu] | 16.04, 18.04, 20.04+ | x64, Arm64, Arm32 | [Ubuntu][Ubuntu-lifecycle]
[Deepin / UOS][Deepin] | 20+ | x64 | [Deepin][Deepin-lifecycle]

[Alpine]: https://alpinelinux.org/
[Alpine-lifecycle]: https://wiki.alpinelinux.org/wiki/Alpine_Linux:Releases
[CentOS]: https://www.centos.org/
[CentOS-lifecycle]:https://wiki.centos.org/FAQ/General
[CentOS-docker]: https://hub.docker.com/_/centos
[CentOS-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-centos8
[Debian]: https://www.debian.org/
[Debian-lifecycle]: https://wiki.debian.org/DebianReleases
[Debian-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-debian10
[Fedora]: https://getfedora.org/
[Fedora-lifecycle]: https://fedoraproject.org/wiki/End_of_life
[Fedora-docker]: https://hub.docker.com/_/fedora
[Fedora-msft-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-fedora32
[Fedora-pm]: https://fedoraproject.org/wiki/DotNet
[OpenSUSE]: https://opensuse.org/
[OpenSUSE-lifecycle]: https://en.opensuse.org/Lifetime
[OpenSUSE-docker]: https://hub.docker.com/r/opensuse/leap
[OpenSUSE-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-opensuse15
[RHEL]: https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux
[RHEL-lifecycle]: https://access.redhat.com/support/policy/updates/errata/
[RHEL-msft-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-rhel8
[RHEL-pm]: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/developing_.net_applications_in_rhel_8/using-net-core-on-rhel_gsg#installing-net-core_gsg
[SLES]: https://www.suse.com/products/server/
[SLES-lifecycle]: https://www.suse.com/lifecycle/
[SLES-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-sles15
[Ubuntu]: https://ubuntu.com/
[Ubuntu-lifecycle]: https://wiki.ubuntu.com/Releases
[Ubuntu-pm]: https://docs.microsoft.com/dotnet/core/install/linux-package-manager-ubuntu-2004
[Deepin]: https://www.deepin.org/
[Deepin-lifecycle]: https://www.deepin.org/release-notes

### macOS

OS | Version | Architectures |
------------------------------|---------------------------|-------------------|
[macOS][macOS] | 10.14+ | x64 |

[macOS]: https://support.apple.com/macos

### Android

OS | Version | Architectures |
------------------------------|-------------------------|-------------------|
[Android][Android] | 5.0(API 21)+ | [Arm32](https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#v7a), [Arm64](https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#arm64-v8a) |

[Android]: https://support.google.com/android

### iOS / iPadOS

OS | Version | Architectures |
------------------------------|-------------------------|-------------------|
[iOS][iOS] | 10.0+ | x64, Arm32, Arm64 |

[iOS]: https://support.apple.com/ios

## ⛔ 不受支持的操作系统
- Windows 8
Expand Down
4 changes: 2 additions & 2 deletions packaging/build-osx-app.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ emit_plist() {
<key>CFBundleIdentifier</key>
<string>net.steampp.app</string>
<key>CFBundleShortVersionString</key>
<string>2.4.11</string>
<string>2.4.12</string>
<key>CFBundleVersion</key>
<string>2.4.11.0</string>
<string>2.4.12.0</string>
<key>LSMinimumSystemVersion</key>
<string>10.14</string>
<key>CFBundleDevelopmentRegion</key>
Expand Down
32 changes: 14 additions & 18 deletions release-template.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
### 新增内容
1. 部分新增文本的其他语言翻译


### 修复问题
1. 修复 Desktop 上因登录或注册后头像引发的无限闪退
2. 修复 Windows 上托盘菜单有时无法打开窗口
3. 改进 Desktop 上库存游戏右键菜单隐藏游戏项位置
4. 移除 Desktop 上菜单栏用户手机号显示
5. 修复 Desktop 上库存游戏中磁盘占用 UI 错位
6. 修复 Desktop 上快速登录等待中 UI 错位
7. 修复一些杂项问题,增强程序稳定性
1. 修复 Desktop 上用户头像应当为圆形而不是方形
2. 修复 Android 上切换系统语言可能引发的闪退
3. 修复 Windows 10 上启动时可能出现的网络连接中断提示

### 已知问题
- Desktop
Expand Down Expand Up @@ -64,19 +60,19 @@

| File | Checksum (SHA256) |
| ---- | ---- |
| Steam++_win_x64_v2.4.11.7z | SHA256 |
| Steam++_win_x64_v2.4.11.exe | SHA256 |
| Steam++_win_x64_v2.4.12.7z | SHA256 |
| Steam++_win_x64_v2.4.12.exe | SHA256 |
| | |
| Steam++_linux_x64_v2.4.11.7z | SHA256 |
| Steam++_linux_arm64_v2.4.11.7z | SHA256 |
| Steam++_linux_arm_v2.4.11.7z | SHA256 |
| Steam++_linux_x64_v2.4.12.7z | SHA256 |
| Steam++_linux_arm64_v2.4.12.7z | SHA256 |
| Steam++_linux_arm_v2.4.12.7z | SHA256 |
| | |
| Steam++_macos_x64_v2.4.11.dmg | SHA256 |
| Steam++_macos_x64_v2.4.11.app.zip | SHA256 |
| Steam++_macos_x64_v2.4.11.7z | SHA256 |
| Steam++_macos_x64_v2.4.12.dmg | SHA256 |
| Steam++_macos_x64_v2.4.12.app.zip | SHA256 |
| Steam++_macos_x64_v2.4.12.7z | SHA256 |
| | |
| Steam++_android_arm64_v8a_v2.4.11.apk | SHA256 |
| Steam++_android_armeabi_v7a_v2.4.11.apk | SHA256 |
| Steam++_android_arm64_v8a_v2.4.12.apk | SHA256 |
| Steam++_android_armeabi_v7a_v2.4.12.apk | SHA256 |

<!-- ***
Expand Down
2 changes: 1 addition & 1 deletion src/Common.CoreLib/Properties/ThisAssembly.Version.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ static partial class ThisAssembly
/// <item> macOS:\packaging\build-osx-app.sh &lt;CFBundleVersion&gt; &lt;CFBundleShortVersionString&gt; </item>
/// </list>
/// </summary>
public const string Version = "2.4.11";
public const string Version = "2.4.12";

//public const string InfoVersion = Version + "-beta";
}
Expand Down
12 changes: 11 additions & 1 deletion src/ST.Client.Desktop/Models/MyAuthenticator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,17 @@ public int CodeCountdown
string _CurrentCode = string.Empty;
string? _CurrentCodeCache;

string GetCurrentCode() => AuthenticatorData.Value.CurrentCode;
string GetCurrentCode()
{
try
{
return AuthenticatorData.Value.CurrentCode;
}
catch
{
return string.Empty;
}
}

public Task<Stream?> QrCodeStream => GetQrCodeStream();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,8 @@ bool TryOperation([NotNullWhen(false)] out string? message,
if (editInfo.Exists)
editInfo.Delete();
fileInfo.CopyTo(editPath);
fileInfo = new FileInfo(editPath);
editInfo.Refresh();
fileInfo = editInfo;
}
if (checkMaxLength)
{
Expand Down
16 changes: 8 additions & 8 deletions src/ST.Client.Desktop/Services/Mvvm/ProxyService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,10 @@ public IReadOnlyCollection<AccelerateProjectDTO>? EnableProxyDomains
{
if (!ProxyDomains.Items.Any_Nullable())
return null;
return ProxyDomains.Items.SelectMany(s =>
{
return s.Items.Where(w => w.Enable);
}).ToArray();
return ProxyDomains.Items
.Where(x => x.Items != null)
.SelectMany(s => s.Items!.Where(w => w.Enable))
.ToArray();
}
}

Expand All @@ -79,9 +79,9 @@ public IReadOnlyCollection<ScriptDTO>? EnableProxyScripts
{
if (!IsEnableScript)
return null;
if (!ProxyScripts.Items.Any())
if (!ProxyScripts.Items.Any_Nullable())
return null;
return ProxyScripts.Items.Where(w => w.Enable).ToArray();
return ProxyScripts.Items!.Where(w => w.Enable).ToArray();
}
}

Expand Down Expand Up @@ -205,7 +205,7 @@ public bool ProxyStatus
if (s == null) return default!;
return s.HostsArray.Select(host =>
{
if (host.Contains(" "))
if (host.Contains(' '))
{
var h = host.Split(' ');
return (h[0], h[1]);
Expand Down Expand Up @@ -244,7 +244,7 @@ public bool ProxyStatus
{
httpProxyService.StopProxy();
StopTimer();
void OnStopRemoveHostsByTag()
static void OnStopRemoveHostsByTag()
{
var needClear = IHostsFileService.Instance.ContainsHostsByTag();
if (needClear)
Expand Down

0 comments on commit ee61b9f

Please sign in to comment.