mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2024-11-15 19:22:26 +08:00
fix: bundle error
This commit is contained in:
parent
8f409477c8
commit
0b78dedf04
3
.github/workflows/release.yml
vendored
3
.github/workflows/release.yml
vendored
|
@ -66,8 +66,6 @@ jobs:
|
|||
tagName: v__VERSION__
|
||||
releaseName: "Clash Verge Rev v__VERSION__"
|
||||
releaseBody: "More new features are now supported."
|
||||
releaseDraft: false
|
||||
prerelease: false
|
||||
tauriScript: pnpm
|
||||
args: --target ${{ matrix.target }}
|
||||
|
||||
|
@ -201,7 +199,6 @@ jobs:
|
|||
tag_name: v${{steps.build.outputs.appVersion}}
|
||||
name: "Clash Verge Rev v${{steps.build.outputs.appVersion}}"
|
||||
body: "More new features are now supported."
|
||||
prerelease: true
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
files: src-tauri/target/${{ matrix.target }}/release/bundle/nsis/*setup*
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"@actions/github": "^5.1.1",
|
||||
"@tauri-apps/cli": "1.5.12",
|
||||
"@tauri-apps/cli": "^1.5.13",
|
||||
"@types/fs-extra": "^9.0.13",
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
"@types/lodash-es": "^4.17.12",
|
||||
|
|
|
@ -111,8 +111,8 @@ importers:
|
|||
specifier: ^5.1.1
|
||||
version: 5.1.1
|
||||
"@tauri-apps/cli":
|
||||
specifier: 1.5.12
|
||||
version: 1.5.12
|
||||
specifier: ^1.5.13
|
||||
version: 1.5.13
|
||||
"@types/fs-extra":
|
||||
specifier: ^9.0.13
|
||||
version: 9.0.13
|
||||
|
@ -1299,100 +1299,100 @@ packages:
|
|||
}
|
||||
engines: { node: ">= 14.6.0", npm: ">= 6.6.0", yarn: ">= 1.19.1" }
|
||||
|
||||
"@tauri-apps/cli-darwin-arm64@1.5.12":
|
||||
"@tauri-apps/cli-darwin-arm64@1.5.13":
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-ud06E547WE7oDZeN5rH4eeB90Rie0aSCFH0Zb6XyNb6qgg0ZIftM+N3OjVONxk84/g//nr4/x7wW6LOwiwvPHw==,
|
||||
integrity: sha512-wXsBp6FIsQ1yoAEJ8dao7BkVdOp5xlfgGyAbJVCFKU3LTUqKw4A+ayxO6CV2lFfSaOdzdU86z+eJsl38nzmoSg==,
|
||||
}
|
||||
engines: { node: ">= 10" }
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
"@tauri-apps/cli-darwin-x64@1.5.12":
|
||||
"@tauri-apps/cli-darwin-x64@1.5.13":
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-hSz9cuHO4lYora0z2XRFEIblkStT3eJvh/iYmsFfjT3usGBt2fTPMJ4SnL1Uyu64Y59dqyRNBikuBuymAFESjA==,
|
||||
integrity: sha512-1I/8Q8ogr1P1iQhjsXw0DSPjb8r2ggx2h52X1NXODhBknWIG7Y3rPDnRSXg1qoauRi19728BmP/CSW6MugidwQ==,
|
||||
}
|
||||
engines: { node: ">= 10" }
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
"@tauri-apps/cli-linux-arm-gnueabihf@1.5.12":
|
||||
"@tauri-apps/cli-linux-arm-gnueabihf@1.5.13":
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-FanE15/c7nz64CcTFe7f+8b7+rFQCb3Ivju+4sxVSPkAOJXHc5no3Y/LxFt85SAOMgPTB2FMuxHUdjvLjd2D1w==,
|
||||
integrity: sha512-IHtE8YGZ4KV0fX8w6a8lftFGLsDCr/kbikKIgvUQdypImToCr4MKbyKQ6guwSGPlCExtHpD7+LOtFoRocLCtBw==,
|
||||
}
|
||||
engines: { node: ">= 10" }
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
"@tauri-apps/cli-linux-arm64-gnu@1.5.12":
|
||||
"@tauri-apps/cli-linux-arm64-gnu@1.5.13":
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-ETVyIcR4xVGnuhTgTY+kPG5LbAJQobPA8OxSLRY203f0cqYuSPffgyahtS65uPJ9egWIN3fflDKGTE1xcgFNAA==,
|
||||
integrity: sha512-U01Jvr0YoBwqRJ1lf+lzFRrNwhfdP4HF/3p1ahFzSoQ6CuYk0pL1jYmsYA7PigKmmovu8ctNq9E9quSdquOIeQ==,
|
||||
}
|
||||
engines: { node: ">= 10" }
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
"@tauri-apps/cli-linux-arm64-musl@1.5.12":
|
||||
"@tauri-apps/cli-linux-arm64-musl@1.5.13":
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-ZhMagbS50dDV9glHrtRg1bkUa7sUDPsZ9bJ0xnd0vr8Smi8RiJ/dgQbF5eQNp4ahzYl+FtLjBkMTZKACrKgusg==,
|
||||
integrity: sha512-+UVxc5yQavLWnsFCDYXp4HxDxhyuDt+V2IOdy+ClO/xJ8ii5vFz1QYQBm9s1ofXWPXn5BYyBVNhGuPstAYcO9A==,
|
||||
}
|
||||
engines: { node: ">= 10" }
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
"@tauri-apps/cli-linux-x64-gnu@1.5.12":
|
||||
"@tauri-apps/cli-linux-x64-gnu@1.5.13":
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-H6jXU4AG8g6FZxX+U3M76zigbLvj7bE+wG+xOrS7xCRwkfAEKw0aulymdFfOl44KBZDQQsV5KYA6T6csx3KbIQ==,
|
||||
integrity: sha512-QDIkbpMprEe08V9Yn+XMbQa2ErY9Cj6TlvcSGLzida4gAVHwf42AMxBBFSvjpdMyB7D5lJMsDSq5xhEeRPs/HQ==,
|
||||
}
|
||||
engines: { node: ">= 10" }
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
"@tauri-apps/cli-linux-x64-musl@1.5.12":
|
||||
"@tauri-apps/cli-linux-x64-musl@1.5.13":
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-Y/0dzBD8oFZ04Xq75LKPJvOI2MbVFdwGY6w41l24OxNiNopF7AzdrZGTJ+MoUbU9PALNP8ABhOP6BYZiV528OA==,
|
||||
integrity: sha512-7JHNrF0b8Y7R693SG8JWhWmt/3d6vhyswEu26NUxQG2IYQlVY51sDPkub7S1cynh4++7CMV5sNK0EUr6hLrR9A==,
|
||||
}
|
||||
engines: { node: ">= 10" }
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
"@tauri-apps/cli-win32-arm64-msvc@1.5.12":
|
||||
"@tauri-apps/cli-win32-arm64-msvc@1.5.13":
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-fxCS1/zQp+W7Lze+6Sh64RLqWFE57NsU+Y9L30ZKt5Prnt2LXEoa3POSaQpgHLRgwL/WfDW2nkYBRH3fVIrpQg==,
|
||||
integrity: sha512-p+j3IcrPnQ7/iaMlrdDBGT2SlB6MzjTbSdLo1jNE3DAeO98jByIJZyNme07Fv87280+2LXVB5XtusCsgTwIHCw==,
|
||||
}
|
||||
engines: { node: ">= 10" }
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
"@tauri-apps/cli-win32-ia32-msvc@1.5.12":
|
||||
"@tauri-apps/cli-win32-ia32-msvc@1.5.13":
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-keWSEBOxL8q750AzmL4L3DDJzDzmb6DGT3+0HTjbEfu+a2GRS1lnrkm3EEeAepPoz4r62+cOQbjPRP8YGtGfFw==,
|
||||
integrity: sha512-ypxRAGd8QYOCaBUmqzvHvrzj64OgfhzZQS/TSQlKWeJ9X1oQzQDNUrifsdaZZvZBf9yqSRf8lMYoN5qFjrHZfA==,
|
||||
}
|
||||
engines: { node: ">= 10" }
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
"@tauri-apps/cli-win32-x64-msvc@1.5.12":
|
||||
"@tauri-apps/cli-win32-x64-msvc@1.5.13":
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-+eIvaPVwtVM7puXlCZIS1lSFF0VZ0gAUShKwk/kBZi8xUYQoNEW2RUWSPp+TEdZsMiAxd/zFZ+tGgv83Hxjbjg==,
|
||||
integrity: sha512-B3YDAyZb8f6zKqZj/ydL/cQVkT/KxNyumXsX+UL4oM5E2DM89OD5BxMgqGr7zwmJSaRNRHkXRK+BMluvZjHG9w==,
|
||||
}
|
||||
engines: { node: ">= 10" }
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
"@tauri-apps/cli@1.5.12":
|
||||
"@tauri-apps/cli@1.5.13":
|
||||
resolution:
|
||||
{
|
||||
integrity: sha512-tMvcMVIrvNjoPIVO5pZk7lJrHVXw7NBggpJXRAQsD7VkMW9hT1uX3jVZeoPCmQ5KbpXvjoNXe+Ws8nE2NR/8Ow==,
|
||||
integrity: sha512-wULOJNb/Dxc/E+Z0+7MkaqKYAmdjGJEFpZ5xcNhvC3BVX1O6MbhHjXGfwfu4mgIGhVqY1KJaKoXx7EDZAlk7Pw==,
|
||||
}
|
||||
engines: { node: ">= 10" }
|
||||
hasBin: true
|
||||
|
@ -4236,48 +4236,48 @@ snapshots:
|
|||
|
||||
"@tauri-apps/api@1.5.4": {}
|
||||
|
||||
"@tauri-apps/cli-darwin-arm64@1.5.12":
|
||||
"@tauri-apps/cli-darwin-arm64@1.5.13":
|
||||
optional: true
|
||||
|
||||
"@tauri-apps/cli-darwin-x64@1.5.12":
|
||||
"@tauri-apps/cli-darwin-x64@1.5.13":
|
||||
optional: true
|
||||
|
||||
"@tauri-apps/cli-linux-arm-gnueabihf@1.5.12":
|
||||
"@tauri-apps/cli-linux-arm-gnueabihf@1.5.13":
|
||||
optional: true
|
||||
|
||||
"@tauri-apps/cli-linux-arm64-gnu@1.5.12":
|
||||
"@tauri-apps/cli-linux-arm64-gnu@1.5.13":
|
||||
optional: true
|
||||
|
||||
"@tauri-apps/cli-linux-arm64-musl@1.5.12":
|
||||
"@tauri-apps/cli-linux-arm64-musl@1.5.13":
|
||||
optional: true
|
||||
|
||||
"@tauri-apps/cli-linux-x64-gnu@1.5.12":
|
||||
"@tauri-apps/cli-linux-x64-gnu@1.5.13":
|
||||
optional: true
|
||||
|
||||
"@tauri-apps/cli-linux-x64-musl@1.5.12":
|
||||
"@tauri-apps/cli-linux-x64-musl@1.5.13":
|
||||
optional: true
|
||||
|
||||
"@tauri-apps/cli-win32-arm64-msvc@1.5.12":
|
||||
"@tauri-apps/cli-win32-arm64-msvc@1.5.13":
|
||||
optional: true
|
||||
|
||||
"@tauri-apps/cli-win32-ia32-msvc@1.5.12":
|
||||
"@tauri-apps/cli-win32-ia32-msvc@1.5.13":
|
||||
optional: true
|
||||
|
||||
"@tauri-apps/cli-win32-x64-msvc@1.5.12":
|
||||
"@tauri-apps/cli-win32-x64-msvc@1.5.13":
|
||||
optional: true
|
||||
|
||||
"@tauri-apps/cli@1.5.12":
|
||||
"@tauri-apps/cli@1.5.13":
|
||||
optionalDependencies:
|
||||
"@tauri-apps/cli-darwin-arm64": 1.5.12
|
||||
"@tauri-apps/cli-darwin-x64": 1.5.12
|
||||
"@tauri-apps/cli-linux-arm-gnueabihf": 1.5.12
|
||||
"@tauri-apps/cli-linux-arm64-gnu": 1.5.12
|
||||
"@tauri-apps/cli-linux-arm64-musl": 1.5.12
|
||||
"@tauri-apps/cli-linux-x64-gnu": 1.5.12
|
||||
"@tauri-apps/cli-linux-x64-musl": 1.5.12
|
||||
"@tauri-apps/cli-win32-arm64-msvc": 1.5.12
|
||||
"@tauri-apps/cli-win32-ia32-msvc": 1.5.12
|
||||
"@tauri-apps/cli-win32-x64-msvc": 1.5.12
|
||||
"@tauri-apps/cli-darwin-arm64": 1.5.13
|
||||
"@tauri-apps/cli-darwin-x64": 1.5.13
|
||||
"@tauri-apps/cli-linux-arm-gnueabihf": 1.5.13
|
||||
"@tauri-apps/cli-linux-arm64-gnu": 1.5.13
|
||||
"@tauri-apps/cli-linux-arm64-musl": 1.5.13
|
||||
"@tauri-apps/cli-linux-x64-gnu": 1.5.13
|
||||
"@tauri-apps/cli-linux-x64-musl": 1.5.13
|
||||
"@tauri-apps/cli-win32-arm64-msvc": 1.5.13
|
||||
"@tauri-apps/cli-win32-ia32-msvc": 1.5.13
|
||||
"@tauri-apps/cli-win32-x64-msvc": 1.5.13
|
||||
|
||||
"@types/babel__core@7.20.5":
|
||||
dependencies:
|
||||
|
|
|
@ -13,8 +13,9 @@ Unicode true
|
|||
!include FileFunc.nsh
|
||||
!include x64.nsh
|
||||
!include WordFunc.nsh
|
||||
!include "LogicLib.nsh"
|
||||
!include "StrFunc.nsh"
|
||||
!include "Win\COM.nsh"
|
||||
!include "Win\Propkey.nsh"
|
||||
!addplugindir "$%AppData%\Local\NSIS\"
|
||||
${StrCase}
|
||||
${StrLoc}
|
||||
|
@ -149,7 +150,6 @@ Function PageReinstall
|
|||
; however, this should be fine since the user will have to confirm the uninstallation
|
||||
; and they can chose to abort it if doesn't make sense.
|
||||
StrCpy $0 0
|
||||
|
||||
wix_loop:
|
||||
EnumRegKey $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" $0
|
||||
StrCmp $1 "" wix_done ; Exit loop if there is no more keys to loop on
|
||||
|
@ -571,7 +571,7 @@ Section WebView2
|
|||
!if "${INSTALLWEBVIEW2MODE}" == "downloadBootstrapper"
|
||||
Delete "$TEMP\MicrosoftEdgeWebview2Setup.exe"
|
||||
DetailPrint "$(webview2Downloading)"
|
||||
nsis_tauri_utils::download "https://go.microsoft.com/fwlink/p/?LinkId=2124703" "$TEMP\MicrosoftEdgeWebview2Setup.exe"
|
||||
NSISdl::download "https://go.microsoft.com/fwlink/p/?LinkId=2124703" "$TEMP\MicrosoftEdgeWebview2Setup.exe"
|
||||
Pop $0
|
||||
${If} $0 == 0
|
||||
DetailPrint "$(webview2DownloadSuccess)"
|
||||
|
@ -730,7 +730,8 @@ Function .onInstSuccess
|
|||
check_r_flag:
|
||||
${GetOptions} $CMDLINE "/R" $R0
|
||||
IfErrors run_done 0
|
||||
Exec '"$INSTDIR\${MAINBINARYNAME}.exe"'
|
||||
${GetOptions} $CMDLINE "/ARGS" $R0
|
||||
Exec '"$INSTDIR\${MAINBINARYNAME}.exe" $R0'
|
||||
run_done:
|
||||
FunctionEnd
|
||||
|
||||
|
@ -743,30 +744,35 @@ Function un.onInit
|
|||
|
||||
!insertmacro MUI_UNGETLANGUAGE
|
||||
FunctionEnd
|
||||
|
||||
Function un.isDirectoryEmpty
|
||||
Exch $0
|
||||
Push $1
|
||||
Push $2
|
||||
StrCpy $2 0
|
||||
FindFirst $1 $2 "$0\*.*"
|
||||
loop:
|
||||
StrCmp $2 "" done
|
||||
StrCmp $2 "." next
|
||||
StrCmp $2 ".." next
|
||||
StrCpy $0 0
|
||||
goto done
|
||||
next:
|
||||
FindNext $1 $2
|
||||
goto loop
|
||||
done:
|
||||
FindClose $1
|
||||
StrCmp $2 "" 0 +2
|
||||
StrCpy $0 1
|
||||
Pop $2
|
||||
Pop $1
|
||||
Exch $0
|
||||
FunctionEnd
|
||||
|
||||
!macro DeleteAppUserModelId
|
||||
!insertmacro ComHlpr_CreateInProcInstance ${CLSID_DestinationList} ${IID_ICustomDestinationList} r1 ""
|
||||
${If} $1 P<> 0
|
||||
${ICustomDestinationList::DeleteList} $1 '("${BUNDLEID}")'
|
||||
${IUnknown::Release} $1 ""
|
||||
${EndIf}
|
||||
!insertmacro ComHlpr_CreateInProcInstance ${CLSID_ApplicationDestinations} ${IID_IApplicationDestinations} r1 ""
|
||||
${If} $1 P<> 0
|
||||
${IApplicationDestinations::SetAppID} $1 '("${BUNDLEID}")i.r0'
|
||||
${If} $0 >= 0
|
||||
${IApplicationDestinations::RemoveAllDestinations} $1 ''
|
||||
${EndIf}
|
||||
${IUnknown::Release} $1 ""
|
||||
${EndIf}
|
||||
!macroend
|
||||
|
||||
; From https://stackoverflow.com/a/42816728/16993372
|
||||
!macro UnpinShortcut shortcut
|
||||
!insertmacro ComHlpr_CreateInProcInstance ${CLSID_StartMenuPin} ${IID_IStartMenuPinnedList} r0 ""
|
||||
${If} $0 P<> 0
|
||||
System::Call 'SHELL32::SHCreateItemFromParsingName(ws, p0, g "${IID_IShellItem}", *p0r1)' "${shortcut}"
|
||||
${If} $1 P<> 0
|
||||
${IStartMenuPinnedList::RemoveFromList} $0 '(r1)'
|
||||
${IUnknown::Release} $1 ""
|
||||
${EndIf}
|
||||
${IUnknown::Release} $0 ""
|
||||
${EndIf}
|
||||
!macroend
|
||||
|
||||
Section Uninstall
|
||||
!insertmacro CheckIfAppIsRunning
|
||||
|
@ -789,15 +795,14 @@ Section Uninstall
|
|||
; Delete uninstaller
|
||||
Delete "$INSTDIR\uninstall.exe"
|
||||
|
||||
; Remove InstallDir
|
||||
Push "$INSTDIR"
|
||||
Call un.isDirectoryEmpty
|
||||
Pop $0
|
||||
${If} $0 == 1
|
||||
RMDir /R /REBOOTOK "$INSTDIR"
|
||||
${Else}
|
||||
MessageBox MB_OK "Install Directory is not Empty, Please remove it manually."
|
||||
${EndIf}
|
||||
{{#each resources_ancestors}}
|
||||
RMDir /REBOOTOK "$INSTDIR\\{{this}}"
|
||||
{{/each}}
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
!insertmacro DeleteAppUserModelId
|
||||
!insertmacro UnpinShortcut "$SMPROGRAMS\$AppStartMenuFolder\${MAINBINARYNAME}.lnk"
|
||||
!insertmacro UnpinShortcut "$DESKTOP\${MAINBINARYNAME}.lnk"
|
||||
|
||||
; Remove start menu shortcut
|
||||
!insertmacro MUI_STARTMENU_GETFOLDER Application $AppStartMenuFolder
|
||||
|
@ -840,13 +845,39 @@ Function SkipIfPassive
|
|||
${IfThen} $PassiveMode == 1 ${|} Abort ${|}
|
||||
FunctionEnd
|
||||
|
||||
!macro SetLnkAppUserModelId shortcut
|
||||
!insertmacro ComHlpr_CreateInProcInstance ${CLSID_ShellLink} ${IID_IShellLink} r0 ""
|
||||
${If} $0 P<> 0
|
||||
${IUnknown::QueryInterface} $0 '("${IID_IPersistFile}",.r1)'
|
||||
${If} $1 P<> 0
|
||||
${IPersistFile::Load} $1 '("${shortcut}", ${STGM_READWRITE})'
|
||||
${IUnknown::QueryInterface} $0 '("${IID_IPropertyStore}",.r2)'
|
||||
${If} $2 P<> 0
|
||||
System::Call 'Oleaut32::SysAllocString(w "${BUNDLEID}") i.r3'
|
||||
System::Call '*${SYSSTRUCT_PROPERTYKEY}(${PKEY_AppUserModel_ID})p.r4'
|
||||
System::Call '*${SYSSTRUCT_PROPVARIANT}(${VT_BSTR},,&i4 $3)p.r5'
|
||||
${IPropertyStore::SetValue} $2 '($4,$5)'
|
||||
|
||||
System::Call 'Oleaut32::SysFreeString($3)'
|
||||
System::Free $4
|
||||
System::Free $5
|
||||
${IPropertyStore::Commit} $2 ""
|
||||
${IUnknown::Release} $2 ""
|
||||
${IPersistFile::Save} $1 '("${shortcut}",1)'
|
||||
${EndIf}
|
||||
${IUnknown::Release} $1 ""
|
||||
${EndIf}
|
||||
${IUnknown::Release} $0 ""
|
||||
${EndIf}
|
||||
!macroend
|
||||
|
||||
Function CreateDesktopShortcut
|
||||
CreateShortcut "$DESKTOP\${MAINBINARYNAME}.lnk" "$INSTDIR\${MAINBINARYNAME}.exe"
|
||||
ApplicationID::Set "$DESKTOP\${MAINBINARYNAME}.lnk" "${BUNDLEID}"
|
||||
!insertmacro SetLnkAppUserModelId "$DESKTOP\${MAINBINARYNAME}.lnk"
|
||||
FunctionEnd
|
||||
|
||||
Function CreateStartMenuShortcut
|
||||
CreateDirectory "$SMPROGRAMS\$AppStartMenuFolder"
|
||||
CreateShortcut "$SMPROGRAMS\$AppStartMenuFolder\${MAINBINARYNAME}.lnk" "$INSTDIR\${MAINBINARYNAME}.exe"
|
||||
ApplicationID::Set "$SMPROGRAMS\$AppStartMenuFolder\${MAINBINARYNAME}.lnk" "${BUNDLEID}"
|
||||
!insertmacro SetLnkAppUserModelId "$SMPROGRAMS\$AppStartMenuFolder\${MAINBINARYNAME}.lnk"
|
||||
FunctionEnd
|
||||
|
|
Loading…
Reference in New Issue
Block a user