MediaSession usage of the iframe widget. (ios)
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- ios, javascript, react-native
- Domain
- mobile
Research direction
Start by reproducing the issue with the React Native WebView examples, comparing the inline HTML iframe with the direct URL and observing the iOS MediaSession metadata. Trace whether the iframe or another widget entry point supplies “Soundcloud Widget”; done means identifying its source and confirming whether track title and artwork can be exposed reliably.
Written by the indexing model from the issue text.
Description
Hi,
I'm trying to embed a soundcloud iframe inside a react-native application, and it works very well.
On IOS however, the system controls are showing a title: "Soundcloud Widget"
Do you know where that title might be coming from?
Note: I was able to update the title by updating the MediaSession metadata inside the iframe ( We can inject JS into the iframe on ios ).
But this method is not stable, every once in a while it goes back to "Soundcloud Widget"
I'm trying to figure out what's happening.
My current assumption is, that you are updating the MediaSession inside the iframe as well. If so, do you have a default "Soundcloud Widget" title?
If that is the case, would you be open to set the mediaSession metadata to the track information inside the iframe? Title, and possibly artwork
If that assumption is wrong, maybe somewhere else you have a "Soundcloud Widget" value, which ios is using.
Do you have any ideas?
Example react-native code:
const soundcloudURL = "your soundcloud url"
// ...
<WebView
source={{html: `
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; width: 100%; overflow: hidden; }
iframe { border: none; width: 100%; height: 100%; display: block; }
</style>
</head>
<body>
<iframe src="${url}" allow="autoplay" />
</body>
</html>
`}}
/>
// OR
<WebView source={{uri: url}} />
- Dominant language
- JavaScript
- Stars
- 253
- Forks
- 53
- Avg merge
- 1m
- Merged PRs (30d)
- 1
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
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.
More from soundcloud/api
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
soundcloud/api#593 · 6 comments ·
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 52/100
soundcloud/api#592 ·
-
documentation
Difficulty 4/5 3-5 days Newbie friendliness 45/100
soundcloud/api#583 · 1 comment · 1 reaction ·
-
widget
Difficulty 5/5 Over a week Newbie friendliness 35/100
soundcloud/api#557 · 1 comment ·
-
Difficulty 5/5 Over a week Newbie friendliness 38/100
soundcloud/api#548 ·
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
TheOdinProject/curriculum#31444 ·
Maintainers usually reply within 1 day
-
software-development-practices software-development-practices:nist-ssdf
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
githubnext/gh-aw-cao#15860 ·
Maintainers usually reply within 1 day
-
framework/gatsby help wanted kind/bug
Difficulty 2/5 1-3 hours Newbie friendliness 87/100
Maintainers usually reply within 2 days
-
bug
Difficulty 1/5 Under an hour Newbie friendliness 92/100
PedestrianDynamics/pyFDS-Evac#476 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
aiko-chan-ai/DiscordBotClient#380 ·