Comments (6)
There is an example here: https://github.com/newrelic-experimental/nr1-rssreader
from nr1-status-pages.
🎉 This issue has been resolved in version 0.16.0 🎉
The release is available on GitHub release
Your semantic-release bot 📦🚀
from nr1-status-pages.
@norbertsuski I tested the rss parser with New Relic status page and it returned the list of incident as expected. My only problem is with the iframe.
- For AWS status page: https://status.aws.amazon.com/ the RSS feed link in: https://status.aws.amazon.com/rss/a4b-us-east-rss is "http" and not "https". This causes this error: Mixed Content: The page at 'https://one.newrelic.com/launcher/166b6fd4-334d-4fc2-ab02-252175b917ac.status-page-launcher?nerdpacks=local&pane=eyJuZXJkbGV0SWQiOiIxNjZiNmZkNC0zMzRkLTRmYzItYWIwMi0yNTIxNzViOTE3YWMuc3RhdHVzLXBhZ2VzIn0=&cards[0]=eyJuZXJkbGV0SWQiOiIxNjZiNmZkNC0zMzRkLTRmYzItYWIwMi0yNTIxNzViOTE3YWMuZXh0ZXJuYWwtcGFnZSIsImV4dGVybmFsTGluayI6Imh0dHA6Ly9zdGF0dXMuYXdzLmFtYXpvbi5jb20vIn0=&platform[timeRange][duration]=1800000' was loaded over HTTPS, but requested an insecure frame 'http://status.aws.amazon.com/'. This request has been blocked; the content must be served over HTTPS. Can we transform the link protocol in the rss feed always to "https". In the AWS case for example: the rss link should be transformed into "https" and that's what should be used in the Iframe.
- For Slack: https://status.slack.com/feed/rss the Iframe didn't work, it shows connection refused => Refused to frame 'https://status.slack.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self' *.slack.com".. Is there a workaround?
- For IBM Cloud: https://cloud.ibm.com/status/api/notifications/feed.rss I got this error when I try to open the Iframe: Refused to display 'https://cloud.ibm.com/status' in a frame because it set 'X-Frame-Options' to 'sameorigin'. is there a solution for this?
from nr1-status-pages.
Another remark: the CORS proxy should be configurable since some people may use their own internal proxy. https://cors-anywhere.herokuapp.com/ can be selected by default but we should be able to change it. Currently, https://cors-anywhere.herokuapp.com/ has a limit of 100 request per referrer per hour, so a customer will need to use his own proxy server to avoid this limitation. Ideally, by default https://cors-anywhere.herokuapp.com/ is used, however this URL should be configurable.
from nr1-status-pages.
I spent a lot of time trying to get the Iframe to work for the RSS feed but it seems very hard to implement.
The "connexion refused" and "refused to display" errors are all because some sites like "Slack" don't allow CORS.
I tried to use the Proxy to get the html and then pass it as srcDoc for the iframe, that actually worked, it returned the HTML in the stacked nerdlet, however the CSS and images were not loaded because the HTML I got back from the proxy has relative paths (example: <link rel="stylesheet" href="/css/v2/averta-font.css">
).
To get the CSS and Images/Fonts, I manipulated the HTML returned by the proxy and added the absolute URL with the proxy url (<link rel="stylesheet" href="https://api.allorigins.win/raw?url=https://status.slack.com//css/v2/averta-font.css">
), I have used this snippet:
const url = "https://api.allorigins.win/raw?url="+this.props.src;
const networkResponse = await axios.get(url);
let updatedHtml = networkResponse.data.replace(/src="(.?)"/g,src="${url}$1"
);
updatedHtml = updatedHtml.replace(/href="(.?)"/g,href="${url}$1"
);
That actually worked and added the styles properly, however when I clicked on anything in the Iframe the style was gone.
I think I might be able to fix that as well but it seems like a lot of work for a small thing.
Besides, we can't guarantee that it will work properly for all external status pages.
I will let you take a look, but if you share my opinion it would be probably easier to change the "See status page button" into a link and open the page in a different window (see screenshot below).
from nr1-status-pages.
@aminoz007 I'm inclined to close this again based on #82. Please confirm.
from nr1-status-pages.
Related Issues (20)
- Workload and NRQL based status pages don't work HOT 3
- Support for https://status.okta.com/ HOT 2
- Support for Azure and Microsoft status pages HOT 2
- [Repolinter] Open Source Policy Issues
- Update package dependencies HOT 1
- add nrlabs' HelpModal component to status pages nerdlet HOT 1
- Update package dependencies HOT 1
- add Messages component HOT 1
- Handle http URLs gracefully HOT 1
- add HelpModal component HOT 1
- Fix modal css HOT 3
- Add a Status Page card to a dashboard
- [Repolinter] Open Source Policy Issues
- Add mandatory indicators to Add Service form HOT 1
- Show CORS Proxy option only when relevant HOT 1
- Validate Statuspal URL handling
- Investigate adding a stat-page service to an account HOT 2
- Replace the account picker with the platform account picker
- Save last used account in user storage
- Search on status page not working HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nr1-status-pages.