Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

License key installed (maybe), and not updating in web UI and CC issue with Stripe

Featured Replies

Running 7.2.2., just bought a new license key (thank you Cyber Weekend Sale!).

There's a lot of wonkiness' in what is displayed right after installing the keyfile, and inconsistent dates displayed. When I install the key via the key file url, it appears as if it took, but the web UI does not update to reflect that it's been installed.

The top shows:
- "expires in 4 days" (which is wrong because I extended the trial this past Monday for another 15 days), as per a trial extension email I received which extended the trial till 2025-12-09, (it used to show the correct number of days), and
- it still shows "Unraid OS Trial"

Which contradicts what is displayed in the "Thank you":
- License Key type: Unleashed
- Yet another different trial expiration date of just under 2 days
- OS Update Eligibility for another year.. (so not a trial??)

Doesn't matter how many times I "Install Key" using my given Key URL, nothing gets updated correctly.

image.png

Please don't tell me I need to "turn it off and on again" in order to get a license to be installed AND display correctly???

Secondly;

WTH Unraid... Your purchase process "saved" my CC info on Stripe without my approval? I could see if it was a recurring payment, but this was a one time license purchase. I did not approve, and I was never asked. Screenshot from my Unraid account

image.png

Pretty sure this against Stripes terms of use.

https://docs.stripe.com/payments/save-during-payment

Quote : "When you save a payment method, you can only use it for the specific usage you have included in your terms. To charge a payment method when a customer is offline and save it as an option for future purchases, make sure that you explicitly collect consent from the customer for this specific use. For example, include a “Save my payment method for future use” checkbox to collect consent."

Edited by TrevP
typo

Solved by TrevP

  • Community Expert

Have you rebooted since installing the key?

  • Author

Did you see the part of "Please don't tell me I need to "turn it off and on again" in order to get a license to be installed AND display correctly???"

To answer your question, no I haven't and I can't right now. At least not for awhile because the system is in USE. Why should I have to reboot just to get proper and correct values displaying in the UI. The UI should be displaying the true license information entered after applying the license. If the license is indeed applied, the UI should reflect this. So while the issue is happening, I'll help the devs debug what is going on under the hood to resolve root cause. If rebooting changes the UI display values, that doesn't help anyone. It'll happen again to someone else in the future. Better help debug the root cause today, then leave it to be left to occur again.

This might be different if the system asked to be rebooted after applying the license, but it didn't. As such, rebooting should not be a needed step.

Any feedback on the credit card thing?


Edited by TrevP

  • Community Expert
7 hours ago, TrevP said:

Any feedback on the credit card thing?

You need to contact support for that.

Regarding the license, the server is licensed as shown on Tools - Registration; the other places should update eventually on their own, and they will for sure if you reboot, but it's just a display issue; it won't affect server functionality.

  • Author

Define "update eventually" as the Top line "Expires in" numbers are increasing, not decreasing. See screenshot below.

It went from : "Expires in 4 days 1 hours 55 minutes•Unraid OS Trial"
to : "Expires in 4 days 20 hours 2 minutes•Unraid OS Trial"


No idea where that counter is getting it's information from, and it's still showing "Trial", with the purchase option link.

I also just noticed for the "Trial Expiration" in the "Thank you" screen, it actually displaying:


Trial expiration: Expires in 2 days 17 hours 2 minutes ago

That's when the original trial expired, aka; in the past. So either change the wording of that line to be
Trial expiration: Expired 2 days 17 hours 2 minutes ago

Or, a better suggestion, if the license actually is installed, just don't display that line at all. I don't care when the trial expired if I'm now running a valid license, it's too confusing (obviously).

image.png

Edited by TrevP

  • Community Expert

image.png

This is what matters; you can ignore all the other ones, but I would think it should have updated by now. You can post the diagnostics to confirm the license, or just reboot.

  • Author
  • Solution

In digging further (and without rebooting, on purpose), I’m pretty confident the root cause is inconsistent state between server-state.php and the GraphQL registration object. It looks like the GraphQL registration state is never updated after the original trial is created.


1. server-state.php (Connect state)

From:

/plugins/dynamix.my.servers/data/server-state.php

I see:

"regTy": "Unleashed",
"state": "UNLEASHED",
"expireTime": 0,
"regTm": 1764185767000,
"regExp": 1795721767000

So Connect / server-state.php correctly thinks:

  • I’m on an Unleashed license

  • There’s no trial expiry (expireTime = 0)


2. GraphQL registration state (before any restart)

Using this query:

query {
  registration {
    id
    type
    state
    expiration
    updateExpiration
  }
}

I get:

{
  "data": {
    "registration": {
      "id": "…",
      "type": "TRIAL",
      "state": "TRIAL",
      "expiration": "1764017265000",
      "updateExpiration": null
    }
  }
}

The important part is the expiration value:

  • 1764017265000 is the timestamp for when my original trial expired

  • It does not match my extended trial expiry

  • It also does not reflect the later Unleashed purchase

So it looks like:

  • The GraphQL registration object was set up when the original trial started

  • It never updated when the trial was extended

  • It still hadn’t updated even after installing the Unleashed key

Meanwhile, server-state.php had already updated and was reporting regTy: "Unleashed", state: "UNLEASHED", expireTime: 0.

That would explain why parts of the UI can show “Unleashed” (anything reading server-state.php) and “Trial/Unlicensed” at the same time (anything reading the GraphQL registration state).


3. Forcing a refresh of the API state

To test this theory, I restarted just the Unraid API service (still no reboot):

unraid-api restart

Then I re-ran the same GraphQL query:

query {
  registration {
    id
    type
    state
    expiration
    updateExpiration
  }
}

After the restart, GraphQL now returns:

{
  "data": {
    "registration": {
      "id": "…",
      "type": "UNLEASHED",
      "state": "UNLEASHED",
      "expiration": "0",
      "updateExpiration": "1795721767000"
    }
  }
}

This now matches server-state.php:

  • type / stateUNLEASHED

  • expiration0 (no trial)

  • updateExpiration → same future timestamp as regExp in server-state.php

And as you can see in the screenshot below, once the API was restarted, the UI also updated and now shows everything correctly as Unleashed.


4. What this suggests

Putting it all together:

  • The registration data exposed by GraphQL is:

    • Created when the original trial is created

    • Not updated when the trial is extended

    • Not updated when an Unleashed key is installed

  • server-state.php does get updated to UNLEASHED immediately after installing the key

  • Restarting unraid-api (or rebooting the server) forces GraphQL to refresh and then it correctly reports UNLEASHED with no trial


So the root issue seems to be:

The GraphQL registration state is stale and only refreshed when the Unraid API service starts. It doesn’t get updated when a trial is extended or when a paid license is installed, even though server-state.php already has the correct Unleashed state.


If the UI is mixing server-state.php and GraphQL as data sources, that would naturally produce exactly the mixed “Unleashed” + “Trial/Unlicensed” messages I was seeing until unraid-api was restarted. After restarting the API, both GraphQL and the UI now fully agree on the Unleashed license.

Which brings up.. if simple registration information isn't updated in GraphQL, what other things are also not updated?

image.png

Edited by TrevP

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.