{"action":"created","issue":{"url":"https://api.github.com/repos/xjsframework/xjs/issues/112","repository_url":"https://api.github.com/repos/xjsframework/xjs","labels_url":"https://api.github.com/repos/xjsframework/xjs/issues/112/labels{/name}","comments_url":"https://api.github.com/repos/xjsframework/xjs/issues/112/comments","events_url":"https://api.github.com/repos/xjsframework/xjs/issues/112/events","html_url":"https://github.com/xjsframework/xjs/issues/112","id":167814970,"number":112,"title":"Having XJS framework on an HTML and an iframe within it may cause wrong videoitem properties to be returned","user":{"login":"SML-MeSo","id":8614197,"avatar_url":"https://avatars.githubusercontent.com/u/8614197?v=3","gravatar_id":"","url":"https://api.github.com/users/SML-MeSo","html_url":"https://github.com/SML-MeSo","followers_url":"https://api.github.com/users/SML-MeSo/followers","following_url":"https://api.github.com/users/SML-MeSo/following{/other_user}","gists_url":"https://api.github.com/users/SML-MeSo/gists{/gist_id}","starred_url":"https://api.github.com/users/SML-MeSo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SML-MeSo/subscriptions","organizations_url":"https://api.github.com/users/SML-MeSo/orgs","repos_url":"https://api.github.com/users/SML-MeSo/repos","events_url":"https://api.github.com/users/SML-MeSo/events{/privacy}","received_events_url":"https://api.github.com/users/SML-MeSo/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/xjsframework/xjs/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":{"login":"virn","id":16117443,"avatar_url":"https://avatars.githubusercontent.com/u/16117443?v=3","gravatar_id":"","url":"https://api.github.com/users/virn","html_url":"https://github.com/virn","followers_url":"https://api.github.com/users/virn/followers","following_url":"https://api.github.com/users/virn/following{/other_user}","gists_url":"https://api.github.com/users/virn/gists{/gist_id}","starred_url":"https://api.github.com/users/virn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/virn/subscriptions","organizations_url":"https://api.github.com/users/virn/orgs","repos_url":"https://api.github.com/users/virn/repos","events_url":"https://api.github.com/users/virn/events{/privacy}","received_events_url":"https://api.github.com/users/virn/received_events","type":"User","site_admin":false},"assignees":[{"login":"virn","id":16117443,"avatar_url":"https://avatars.githubusercontent.com/u/16117443?v=3","gravatar_id":"","url":"https://api.github.com/users/virn","html_url":"https://github.com/virn","followers_url":"https://api.github.com/users/virn/followers","following_url":"https://api.github.com/users/virn/following{/other_user}","gists_url":"https://api.github.com/users/virn/gists{/gist_id}","starred_url":"https://api.github.com/users/virn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/virn/subscriptions","organizations_url":"https://api.github.com/users/virn/orgs","repos_url":"https://api.github.com/users/virn/repos","events_url":"https://api.github.com/users/virn/events{/privacy}","received_events_url":"https://api.github.com/users/virn/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/xjsframework/xjs/milestones/10","html_url":"https://github.com/xjsframework/xjs/milestones/1.5.0","labels_url":"https://api.github.com/repos/xjsframework/xjs/milestones/10/labels","id":1708300,"number":10,"title":"1.5.0","description":"1.5.0 aims to improve over 1.4.0's support for global sources by reworking some of the internals and exposing a clearer set of APIs that mirrors the set of properties pertaining to sources and to their linked video items.","creator":{"login":"Matrim-Cauthon","id":6104004,"avatar_url":"https://avatars.githubusercontent.com/u/6104004?v=3","gravatar_id":"","url":"https://api.github.com/users/Matrim-Cauthon","html_url":"https://github.com/Matrim-Cauthon","followers_url":"https://api.github.com/users/Matrim-Cauthon/followers","following_url":"https://api.github.com/users/Matrim-Cauthon/following{/other_user}","gists_url":"https://api.github.com/users/Matrim-Cauthon/gists{/gist_id}","starred_url":"https://api.github.com/users/Matrim-Cauthon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Matrim-Cauthon/subscriptions","organizations_url":"https://api.github.com/users/Matrim-Cauthon/orgs","repos_url":"https://api.github.com/users/Matrim-Cauthon/repos","events_url":"https://api.github.com/users/Matrim-Cauthon/events{/privacy}","received_events_url":"https://api.github.com/users/Matrim-Cauthon/received_events","type":"User","site_admin":false},"open_issues":11,"closed_issues":0,"state":"open","created_at":"2016-04-15T06:24:24Z","updated_at":"2016-09-20T08:57:09Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2016-07-27T09:52:06Z","updated_at":"2016-10-06T08:40:45Z","closed_at":null,"body":"Currently, whenever attaching an item, we reference their IDs in a slot map so that we won't have to attach them again on successive videoitem property calls. However, these may fail on main frame-iframe instances, both with XJS framework included. Both of them share a videoitem instance such that when calling AttachVideoitem1 on the main frame with a specific ID, then calling also AttachVideoitem1 on the iframe with another ID will overwrite the videoitem attached at slot 1 for the both of them. Therefore, when mainframe tries to access the properties of the former ID, it will not call attach anymore since in its slotmap, it still has the item as slot 1 when really, it isn't because of the overwrite. It will erroneously return the property which is really for the latter ID (from iframe).\r\n\r\npossible resolutions (either of the two):\r\n- do not use the slot map and either always attach everytime we try to access a videoitem property or always detach afterwards\r\n- have a flag somewhere in the framework which user needs to toggle if to be used in an iframe and just do the above behavior when toggle is on\r\n"},"comment":{"url":"https://api.github.com/repos/xjsframework/xjs/issues/comments/251901301","html_url":"https://github.com/xjsframework/xjs/issues/112#issuecomment-251901301","issue_url":"https://api.github.com/repos/xjsframework/xjs/issues/112","id":251901301,"user":{"login":"Matrim-Cauthon","id":6104004,"avatar_url":"https://avatars.githubusercontent.com/u/6104004?v=3","gravatar_id":"","url":"https://api.github.com/users/Matrim-Cauthon","html_url":"https://github.com/Matrim-Cauthon","followers_url":"https://api.github.com/users/Matrim-Cauthon/followers","following_url":"https://api.github.com/users/Matrim-Cauthon/following{/other_user}","gists_url":"https://api.github.com/users/Matrim-Cauthon/gists{/gist_id}","starred_url":"https://api.github.com/users/Matrim-Cauthon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Matrim-Cauthon/subscriptions","organizations_url":"https://api.github.com/users/Matrim-Cauthon/orgs","repos_url":"https://api.github.com/users/Matrim-Cauthon/repos","events_url":"https://api.github.com/users/Matrim-Cauthon/events{/privacy}","received_events_url":"https://api.github.com/users/Matrim-Cauthon/received_events","type":"User","site_admin":false},"created_at":"2016-10-06T08:40:45Z","updated_at":"2016-10-06T08:40:45Z","body":"I forgot to mention it here, but @SML-MeSo and I previously discussed actually just not implementing the optimization flag, because we don't have any benchmarks yet on whether it has a noticeable effect.\r\n\r\nIn my opinion, we can just fix the bug to work for all instances (meaning, we always reattach for any internal API calls). This is probably the quickest and simplest resolution for this item. cc @dcefram "}}
{"actor":{"display_login":"Matrim-Cauthon"}}