mirror of
https://github.com/LizardByte/Sunshine.git
synced 2026-08-18 02:55:12 +00:00
fix(virtual-hid): remove license expiration (#5517)
This commit is contained in:
@ -304,7 +304,6 @@ namespace confighttp {
|
||||
output_tree["activation_usage"] = license.activation_usage;
|
||||
output_tree["plan_name"] = license.plan_name;
|
||||
output_tree["customer_email"] = license.customer_email;
|
||||
output_tree["expires_at"] = license.expires_at;
|
||||
output_tree["message"] = license.message;
|
||||
output_tree["purchase_url"] = license.purchase_url;
|
||||
output_tree["manage_account_url"] = license.manage_account_url;
|
||||
|
||||
@ -410,6 +410,7 @@ namespace system_tray {
|
||||
virtualhid_license_menu_text_storage() = {};
|
||||
|
||||
set_virtualhid_license_menu_item(0, std::format("Status: {}", virtualhid_license_state_label(license.state)), true);
|
||||
auto separator_index = 5U;
|
||||
if (license.licensed()) {
|
||||
set_virtualhid_license_menu_item(
|
||||
1,
|
||||
@ -423,18 +424,14 @@ namespace system_tray {
|
||||
);
|
||||
set_virtualhid_license_menu_item(
|
||||
3,
|
||||
license.expires_at.empty() ? "Expiration: Not reported" : std::format("Expires: {}", license.expires_at),
|
||||
true
|
||||
);
|
||||
set_virtualhid_license_menu_item(
|
||||
4,
|
||||
license.activation_limit == 0 ?
|
||||
"Machine activations: Not reported" :
|
||||
std::format("Machine activations: {} / {}", license.activation_usage, license.activation_limit),
|
||||
true
|
||||
);
|
||||
set_virtualhid_license_menu_item(6, "View License Details", false, tray_virtualhid_license_cb);
|
||||
set_virtualhid_license_menu_item(7, "Manage License", false, tray_virtualhid_license_cb);
|
||||
separator_index = 4U;
|
||||
set_virtualhid_license_menu_item(5, "View License Details", false, tray_virtualhid_license_cb);
|
||||
set_virtualhid_license_menu_item(6, "Manage License", false, tray_virtualhid_license_cb);
|
||||
} else {
|
||||
set_virtualhid_license_menu_item(1, std::string {virtualhid_license_state_detail(license.state)}, true);
|
||||
set_virtualhid_license_menu_item(2, "Full virtual gamepad support is locked", true);
|
||||
@ -447,10 +444,11 @@ namespace system_tray {
|
||||
set_virtualhid_license_menu_item(6, "Activate License", false, tray_virtualhid_license_cb);
|
||||
set_virtualhid_license_menu_item(7, "Buy License", false, tray_virtualhid_license_cb);
|
||||
}
|
||||
virtualhid_license_menu[5] = {.text = "-"};
|
||||
set_virtualhid_license_menu_item(8, "Benefits over ViGEmBus", false);
|
||||
virtualhid_license_menu[8].submenu = virtualhid_benefits_menu.data();
|
||||
set_virtualhid_license_menu_item(9, "Download Virtual HID Driver", false, tray_virtualhid_download_cb);
|
||||
virtualhid_license_menu[separator_index] = {.text = "-"};
|
||||
const auto benefits_index = separator_index + 3U;
|
||||
set_virtualhid_license_menu_item(benefits_index, "Benefits over ViGEmBus", false);
|
||||
virtualhid_license_menu[benefits_index].submenu = virtualhid_benefits_menu.data();
|
||||
set_virtualhid_license_menu_item(benefits_index + 1U, "Download Virtual HID Driver", false, tray_virtualhid_download_cb);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -594,7 +594,6 @@
|
||||
"virtualhid_license_customer": "Customer",
|
||||
"virtualhid_license_deactivate": "Deactivate This Machine",
|
||||
"virtualhid_license_desc": "An active license is required before Sunshine can create libvirtualhid gamepads. Activation is handled by the local libvirtualhid service; Sunshine does not save your license key.",
|
||||
"virtualhid_license_expires": "Expires",
|
||||
"virtualhid_license_key": "License Key",
|
||||
"virtualhid_license_key_desc": "The key is sent only to the local libvirtualhid service and is cleared from this page after successful activation.",
|
||||
"virtualhid_license_key_placeholder": "Enter your product key",
|
||||
|
||||
@ -193,10 +193,6 @@
|
||||
<dt>{{ $t('troubleshooting.virtualhid_license_customer') }}</dt>
|
||||
<dd>{{ virtualhidLicense.customer_email }}</dd>
|
||||
</dl>
|
||||
<dl class="virtualhid-license-stat" v-if="virtualhidLicense.expires_at">
|
||||
<dt>{{ $t('troubleshooting.virtualhid_license_expires') }}</dt>
|
||||
<dd>{{ virtualhidLicense.expires_at }}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
|
||||
<p class="virtualhid-license-message"
|
||||
@ -511,7 +507,6 @@
|
||||
activation_usage: 0,
|
||||
plan_name: '',
|
||||
customer_email: '',
|
||||
expires_at: '',
|
||||
message: '',
|
||||
purchase_url: '',
|
||||
manage_account_url: '',
|
||||
|
||||
@ -1439,7 +1439,6 @@ TEST(ConfigHttpLicenseStatusTest, BuildVirtualHidLicenseStatus_IncludesExpectedF
|
||||
license.activation_usage = 3;
|
||||
license.plan_name = "Yearly";
|
||||
license.customer_email = "customer@example.com";
|
||||
license.expires_at = "2027-08-10T00:00:00Z";
|
||||
license.message = "License is active";
|
||||
license.purchase_url = "https://example.com/buy";
|
||||
license.manage_account_url = "https://example.com/manage";
|
||||
@ -1452,7 +1451,7 @@ TEST(ConfigHttpLicenseStatusTest, BuildVirtualHidLicenseStatus_IncludesExpectedF
|
||||
EXPECT_EQ(output["activation_usage"].get<unsigned int>(), 3U);
|
||||
EXPECT_EQ(output["plan_name"].get<std::string>(), "Yearly");
|
||||
EXPECT_EQ(output["customer_email"].get<std::string>(), "customer@example.com");
|
||||
EXPECT_EQ(output["expires_at"].get<std::string>(), "2027-08-10T00:00:00Z");
|
||||
EXPECT_FALSE(output.contains("expires_at"));
|
||||
EXPECT_EQ(output["message"].get<std::string>(), "License is active");
|
||||
EXPECT_EQ(output["purchase_url"].get<std::string>(), "https://example.com/buy");
|
||||
EXPECT_EQ(output["manage_account_url"].get<std::string>(), "https://example.com/manage");
|
||||
|
||||
@ -98,15 +98,16 @@ namespace {
|
||||
* @brief Verify the shared action entries in a populated Virtual HID Driver menu.
|
||||
*
|
||||
* @param license_menu License submenu to verify.
|
||||
* @param benefits_index Index of the shared benefits action.
|
||||
*/
|
||||
void verify_virtualhid_actions_menu(const struct tray_menu *license_menu) {
|
||||
void verify_virtualhid_actions_menu(const struct tray_menu *license_menu, std::size_t benefits_index) {
|
||||
ASSERT_NE(license_menu, nullptr);
|
||||
EXPECT_STREQ(license_menu[8].text, "Benefits over ViGEmBus");
|
||||
EXPECT_EQ(license_menu[8].cb, nullptr);
|
||||
verify_virtualhid_benefits_menu(license_menu[8].submenu);
|
||||
EXPECT_STREQ(license_menu[9].text, "Download Virtual HID Driver");
|
||||
EXPECT_NE(license_menu[9].cb, nullptr);
|
||||
EXPECT_EQ(license_menu[10].text, nullptr);
|
||||
EXPECT_STREQ(license_menu[benefits_index].text, "Benefits over ViGEmBus");
|
||||
EXPECT_EQ(license_menu[benefits_index].cb, nullptr);
|
||||
verify_virtualhid_benefits_menu(license_menu[benefits_index].submenu);
|
||||
EXPECT_STREQ(license_menu[benefits_index + 1U].text, "Download Virtual HID Driver");
|
||||
EXPECT_NE(license_menu[benefits_index + 1U].cb, nullptr);
|
||||
EXPECT_EQ(license_menu[benefits_index + 2U].text, nullptr);
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -328,7 +329,6 @@ TEST_F(SystemTrayTest, PreparesLicensedVirtualHidMenuBeforeInitialization) {
|
||||
license.state = lvh::LicenseState::licensed;
|
||||
license.plan_name = "Yearly";
|
||||
license.customer_email = "customer@example.com";
|
||||
license.expires_at = "2027-08-10T00:00:00Z";
|
||||
license.activation_usage = 2;
|
||||
license.activation_limit = 5;
|
||||
|
||||
@ -340,29 +340,26 @@ TEST_F(SystemTrayTest, PreparesLicensedVirtualHidMenuBeforeInitialization) {
|
||||
EXPECT_STREQ(license_menu[0].text, "Status: Licensed");
|
||||
EXPECT_STREQ(license_menu[1].text, "Plan: Yearly");
|
||||
EXPECT_STREQ(license_menu[2].text, "Customer: customer@example.com");
|
||||
EXPECT_STREQ(license_menu[3].text, "Expires: 2027-08-10T00:00:00Z");
|
||||
EXPECT_STREQ(license_menu[4].text, "Machine activations: 2 / 5");
|
||||
EXPECT_STREQ(license_menu[5].text, "-");
|
||||
EXPECT_STREQ(license_menu[6].text, "View License Details");
|
||||
EXPECT_STREQ(license_menu[3].text, "Machine activations: 2 / 5");
|
||||
EXPECT_STREQ(license_menu[4].text, "-");
|
||||
EXPECT_STREQ(license_menu[5].text, "View License Details");
|
||||
EXPECT_NE(license_menu[5].cb, nullptr);
|
||||
EXPECT_STREQ(license_menu[6].text, "Manage License");
|
||||
EXPECT_NE(license_menu[6].cb, nullptr);
|
||||
EXPECT_STREQ(license_menu[7].text, "Manage License");
|
||||
EXPECT_NE(license_menu[7].cb, nullptr);
|
||||
verify_virtualhid_actions_menu(license_menu);
|
||||
verify_virtualhid_actions_menu(license_menu, 7U);
|
||||
EXPECT_EQ(tray_data.notification_title, nullptr);
|
||||
EXPECT_EQ(tray_data.notification_text, nullptr);
|
||||
EXPECT_EQ(tray_data.notification_cb, nullptr);
|
||||
|
||||
license.plan_name.clear();
|
||||
license.customer_email.clear();
|
||||
license.expires_at.clear();
|
||||
license.activation_usage = 0;
|
||||
license.activation_limit = 0;
|
||||
system_tray::update_tray_virtualhid_license(license, false);
|
||||
|
||||
EXPECT_STREQ(license_menu[1].text, "This machine is activated");
|
||||
EXPECT_STREQ(license_menu[2].text, "Customer: Not reported");
|
||||
EXPECT_STREQ(license_menu[3].text, "Expiration: Not reported");
|
||||
EXPECT_STREQ(license_menu[4].text, "Machine activations: Not reported");
|
||||
EXPECT_STREQ(license_menu[3].text, "Machine activations: Not reported");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -393,7 +390,7 @@ TEST_P(UnlicensedVirtualHidTrayTest, PreparesMenuAndStartupNotification) {
|
||||
EXPECT_NE(license_menu[6].cb, nullptr);
|
||||
EXPECT_STREQ(license_menu[7].text, "Buy License");
|
||||
EXPECT_NE(license_menu[7].cb, nullptr);
|
||||
verify_virtualhid_actions_menu(license_menu);
|
||||
verify_virtualhid_actions_menu(license_menu, 8U);
|
||||
EXPECT_STREQ(tray_data.notification_title, "Activate Virtual HID Driver");
|
||||
EXPECT_STREQ(
|
||||
tray_data.notification_text,
|
||||
|
||||
2
third-party/libvirtualhid
vendored
2
third-party/libvirtualhid
vendored
Submodule third-party/libvirtualhid updated: 6b06ea99f0...0cab07331f
Reference in New Issue
Block a user