Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Rune Pages Falsely Marked as Non-Deletable #1013

Open
Ku-Tadao opened this issue Nov 25, 2024 · 3 comments
Open

[BUG] Rune Pages Falsely Marked as Non-Deletable #1013

Ku-Tadao opened this issue Nov 25, 2024 · 3 comments

Comments

@Ku-Tadao
Copy link

Bug Description
A clear and concise description of what the bug is.
Rune pages are sometimes falsely marked as non-deletable by the API, even though the isDeletable property is true in the /lol-perks/v1/pages GET response. This behavior resolves itself only after manually changing the rune page name within the League client.

Problem Description
A clear and concise description of what the problem is.
When attempting to DELETE a rune page using the /lol-perks/v1/pages/{id} endpoint, the API sometimes responds with a 403 error (Page is not deletable). The issue persists despite the page being marked as deletable in the GET response. Changing the rune page name manually in the client allows the DELETE request to succeed, even though no other data changes (verified via DiffChecker).

Expected Result
What were you expecting to happen after you performed the above steps? Include screenshots, logs, or a description.
The DELETE request to /lol-perks/v1/pages/{id} should successfully remove the rune page when the isDeletable property is true in the GET response.

Actual Result
What actually happened after you performed the above steps? Include screenshots, logs, or a description.
The DELETE request returns the following response:

{
  "errorCode": "RPC_ERROR",
  "httpStatus": 403,
  "implementationDetails": {},
  "message": "Page is not deletable."
}

This happens randomly but is exacerbated when working with Quickplay functionality, where creating and activating rune pages can result in too many pages being created.

Developer Impact
Describe how this affects you as a developer.

  • Frequency: Occurs sporadically but frequently during Quickplay implementation.
  • Severity: Blocks the functionality of managing rune pages dynamically, potentially leading to exceeding the rune page limit.
  • Cost: Time spent debugging and implementing workarounds for a seemingly inconsistent API response.
  • Efficiency: Forces manual intervention (renaming in the League client).
  • Etc: Could cause a poor user experience due to unmanageable rune pages.

Player Impact
Describe how this affects League of Legends players.

  • Frequency: Occurs during attempts to dynamically manage rune pages.
  • Severity: Prevents automated deletion of excess rune pages, potentially resulting in users hitting the rune page limit and requiring manual fixes.
  • Quantity: All players using automation for Quickplay rune pages are affected.
  • Region: Affects players globally.
  • Etc: Frustration due to inconsistent API behavior.

Preconditions
What conditions must be met in order for this bug to occur?

  1. Create a rune page programmatically.
  2. Attempt to delete the same rune page via the API.

Repro Steps
Step by step, what do you need to do to cause the bug?

  1. Programmatically create a rune page using the POST /lol-perks/v1/pages endpoint with valid payload data.
  2. Confirm the newly created rune page appears in the GET /lol-perks/v1/pages response and has isDeletable: true.
  3. Attempt to delete the rune page using the DELETE /lol-perks/v1/pages/{id} endpoint.
  4. Observe that the API sometimes responds with a 403 error (Page is not deletable), despite the page being marked as deletable in the previous GET response.
  5. Manually rename the rune page in the League client and attempt the DELETE request again, which succeeds without modifying any other properties.

Note:
This behavior is not guaranteed to happen every time. Based on the collected responses, the issue appears to occur sporadically but is more frequent during automated Quickplay functionality when rune pages are dynamically created and updated. The root cause is unclear, but it consistently involves the API refusing to delete certain pages marked as deletable without any discernible differences in their properties.

Issue Comments
If you're also experiencing this issue, please add any additional context that is useful, the developer impact to yourself, and the player impact to your users.

@Ku-Tadao
Copy link
Author

@Ku-Tadao
Copy link
Author

Ku-Tadao commented Nov 25, 2024

Thanks to @danblock97 workaround, it seems that simply PUTting an empty array to /lol-perks/v1/pages/{id} it seems to allow it to be removed afterwards.

example:
/lol-perks/v1/pages/1445035412

{
  "isDeletable": true,
  "name": ""
}

@geozukunft
Copy link

The LCU is not officially supported and always subject to change and therefore also doesn't get support here on Github

https://developer.riotgames.com/docs/lol#league-client-api

NOTE: We provide no guarantees of full documentation, service uptime, or change communication for unsupported services. This team does not own any components of the underlying services, and will not offer additional support related to them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants