learningequality / learningequality/studio
Unstable - Removing a channel from the community library is problematic
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 191
- Forks
- 307
- Avg merge
- 5d 6h
- Merged PRs (30d)
- 10
Description
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Observed behavior
In the administration there's no easy way to remove a channel from the community library - I need to delete the channel permanently to do so. Also after deleting the channel permanently when I go to the Community library page I can still see the channel card. When I click on the card I am getting the following error:
{
"data": {
"channel": [
"Select a valid choice. That choice is not one of the available choices."
]
},
"status": 400,
"statusText": "",
"headers": {
"allow": "GET, HEAD, OPTIONS",
"alt-svc": "h3=\":443\"; ma=86400",
"cf-cache-status": "DYNAMIC",
"cf-ray": "9eba77fa3c9bf9bb-SOF",
"content-language": "en",
"content-length": "87",
"content-type": "application/json",
"date": "Mon, 13 Apr 2026 12:28:06 GMT",
"etag": "\"df19434e4038926f6d4bbbfed9ee771e\"",
"priority": "u=1,i",
"referrer-policy": "same-origin",
"server": "cloudflare",
"server-timing": "cfExtPri",
"vary": "Accept-Language, Cookie",
"via": "1.1 google",
"x-content-type-options": "nosniff",
"x-frame-options": "DENY",
"x-robots-tag": "noindex"
},
"config": {
"transitional": {
"silentJSONParsing": true,
"forcedJSONParsing": true,
"clarifyTimeoutError": false,
"legacyInterceptorReqResOrdering": true
},
"adapter": [
"xhr",
"http",
"fetch"
],
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"xsrfCookieName": "csrftoken",
"xsrfHeaderName": "X-CSRFToken",
"maxContentLength": -1,
"maxBodyLength": -1,
"env": {},
"headers": {
"Accept": "application/json, text/plain, */*"
},
"paramsSerializer": {},
"params": {
"channel": "c217470dccf44127aff4bbc27b840ded",
"version": 6
},
"method": "get",
"url": "/api/channelversion",
"allowAbsoluteUrls": true,
"signal": {}
},
"request": {
"__sentry_xhr_v3__": {
"method": "GET",
"url": "/api/channelversion?channel=c217470dccf44127aff4bbc27b840ded&version=6",
"request_headers": {
"accept": "application/json, text/plain, */*",
"x-csrftoken": "xyJuZpCcDWhq3KkwGXEI6Tu8pl8YIbXTRWVTbGkTeD3yVH02HPqtNkBVWEBicasy"
},
"body": null,
"status_code": 400
}
}
}
https://github.com/user-attachments/assets/a14909ea-d9d4-4f32-8751-5d18f7edec9c
Expected behavior
The expected behavior should be further discussed and specified.
Steps to reproduce the issue
- Sign in to Studio at Unstable
- Create a new channel, import content and publish it.
- Click the Share button, select the 'Submit to community library' option and submit the form.
- Approve the submission as an admin
- Verify that the channel is displayed at the Community library page
- Delete the channel as an admin
Usage Details
- Studio Unstable
- OS: Windows 11
- Browser: Chrome, Firefox
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the administration flow described in the issue, then inspect the Community library page and the /api/channelversion request after a submitted channel is deleted. Clarify the expected removal behavior with maintainers before changing anything; done should include a defined behavior for deleted channels and no invalid channel request or stale card.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend, content
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100