-
Notifications
You must be signed in to change notification settings - Fork 48
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
Addon interferes with Azure portal #747
Comments
Hi @MohitM90, thank you very much for filing this bug report! That's very frustrating that 10ten interferes like that. I wonder if you would be able to open the developer console (F12 then go to "Console") and take a screenshot of what you see? There may be some errors there. (My guess is that the Azure portal sees the messages sent by 10ten between iframes and panics because it does not recognize them.) |
Thank you for the confirmation. I think we need to rework the iframe handling to send messages via the background page instead. That's going to be a bit of work but hopefully it works and will be more robust. |
Thank you for the quick response and looking forward to the fix! 🙂 |
I started looking into this and it looks quite hard. In particular, if we go via the background page, even if we have a For some cases we might be able to disambiguate based on the fact that at least in Firefox, the In fact, even just determining which iframe is the topmost is hard since we previously relied on using This is going to take much more thought but we should bear in mind that the case where the top-most frame with the extension loaded is not the root window (with So we might be able to simplify the problem by just assuming top-most window === top-most extension frame === But there still remain plenty of other problems like matching frameIds to As a completely different approach, given that the two sites where we suspect this is causing problems are English sites, perhaps we just need to avoid calling |
A couple of quick notes after looking into this approach: we'll need to be careful to not send the initial Update: Add we need to stop firing |
On further thought, I think the "just try not to send
So we're better off to try to avoid using |
I have a rough plan for approaching this but it's going to take a bit of work so I'll try to get onto it tomorrow. |
Started on this today and boy is it a lot of work. I'm working on it over in the Here's my rough plan:
It's quite a risky change and will need quite a bit of testing but I don't see any other way at the moment. The first two items are the hardest/riskiest so if we clear those, the rest should be manageable although the last one has pretty bad failure behaviour (i.e. when we can't successfully locate the target frame, the puck just stops looking up content for that frame or even looks it up in the wrong frame. That should only happen on some combinations of cross-origin iframes which already don't work in activeTab mode, i.e. Safari, so maybe it's not such a big deal.) |
I spoke with @shirakaba yesterday who suggested we try hooking I gave this a try on the I've tried using
That seems even more invasive than what we currently do so I suspect we shouldn't go there. Furthermore, that approach still has the difficulty that it only hooks at the point when the listener is added. If a page adds a listener before the content script is injected we'll have no way to intercept messages and hide them from the page. The MDN docs for |
I implemented the final step today and while it works fine in test cases, it seems to struggle with the various cross-origin iframes on asahi.com, for example. I'm a bit fuzzy on the details but I think what happens is that when we navigate an iframe in Firefox, at least, it ends up getting a new Now, we don't clear out old frames from our list of frames when an iframe is navigated. I don't recall why (we used to but I dropped that code at some point) except that I think it was a combination of (a) not being sure if all browsers behave the same way with regards to assigning new On asahi.com there are plenty of iframes are doing all sorts of requests and, possibly, redirects. One way or another, we end up with a long list of frames with the same We can possibly fix this by being more strict about managing frames and being more careful about clearing out navigated iframes. That would allow us to keep a consistent architecture for all inter-frame messages. However, I'm not completely confident we could do this reliably, particularly not across all browsers and all kinds of navigations. Furthermore, we already know that for this particular message where we need to go from So I think I might tweak the approach to have a singular exception for the The adverse consequences of We can further ameliorate it by making our message listener listen during the capture phase and calling If that still proves problematic we can either:
|
Ok I think I've finally got this all working with all the wrinkles ironed out. I had a lot of trouble with Safari because it turns out it doesn't support sending to specific frames and so I had to add extra handling to ensure that frames ignored messages that weren't intended for them. Test plan:
|
I've just submitted version 1.3.5 which includes a fix for this. It is already available for Firefox, should be available for Chrome in ~1 day and for Edge in ~1 week (the Edge review process is quite slow). |
@MohitM90 Sorry for not updating this issue sooner, but the Edge update took less time than expected and should have been available from about Sep 17 last week. Hopefully Azure portal should work by now. |
Yes, it works fine now. Thank you so much! :) |
Hi,
I'm using the 10ten Japanese Reader (Rikaichamp) addon Version 1.2.3 in Microsoft Edge Version 93.0.961.38. Recently, it started to cause problems with the Azure portal (portal.azure.com). When the addon is enabled, the workflow of Logic Apps is not visualized. They are only visualized when the addon is disabled. It was working fine a few weeks ago.
Example:
10ten addon disabled:
10ten addon enabled:
I have no idea why it is behaving like that. I have disabled all other addons. The website only behaves like that when 10ten is enabled...
The text was updated successfully, but these errors were encountered: