[jira] [Commented] (MYFACES-4672) Uncaught TypeError: G.hasKey is not a function
[ https://issues.apache.org/jira/browse/MYFACES-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17860622#comment-17860622 ] Werner Punz commented on MYFACES-4672: -- Great I will check the other branches later this week whether they need the fix as well (2.3, 2.3-next) > Uncaught TypeError: G.hasKey is not a function > -- > > Key: MYFACES-4672 > URL: https://issues.apache.org/jira/browse/MYFACES-4672 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.2.16 >Reporter: Volodymyr Siedlecki >Assignee: Werner Punz >Priority: Major > > This affects 2.2 which I know is out of date, but I have a user of MyFaces > 2.2 who needs this bug fixed. > I ported MYFACES-4606 to 2.2 here: > [https://github.com/apache/myfaces/pull/647] > 4606 was applied to 2.3, so I applied the same fix to 2.2. However, I didn't > realize that _AjaxRequestLevel2 was removed from 2.3 in this PR: > [https://github.com/apache/myfaces/pull/415/files] > _AjaxRequestLevel2 still exists in the 2.2 codebase. > This mean that `if(targetBuf.hasKey(identifier))` was called from > _AjaxRequestLevel2's getFormData which does not decorate the FormData to > include the hasKey method – thus we get " G.hasKey is not a function". > [https://github.com/volosied/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxRequestLevel2.js#L32-L44] > This error is reproducible via multi-part form requests that use ajax. > What is the proper fix here? I'll create a draft PR for what I think is > correct. > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4672) Uncaught TypeError: G.hasKey is not a function
[ https://issues.apache.org/jira/browse/MYFACES-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17860620#comment-17860620 ] Volodymyr Siedlecki commented on MYFACES-4672: -- It works for us. I"ll close out this issue. thank you again :) > Uncaught TypeError: G.hasKey is not a function > -- > > Key: MYFACES-4672 > URL: https://issues.apache.org/jira/browse/MYFACES-4672 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.2.16 >Reporter: Volodymyr Siedlecki >Assignee: Werner Punz >Priority: Major > > This affects 2.2 which I know is out of date, but I have a user of MyFaces > 2.2 who needs this bug fixed. > I ported MYFACES-4606 to 2.2 here: > [https://github.com/apache/myfaces/pull/647] > 4606 was applied to 2.3, so I applied the same fix to 2.2. However, I didn't > realize that _AjaxRequestLevel2 was removed from 2.3 in this PR: > [https://github.com/apache/myfaces/pull/415/files] > _AjaxRequestLevel2 still exists in the 2.2 codebase. > This mean that `if(targetBuf.hasKey(identifier))` was called from > _AjaxRequestLevel2's getFormData which does not decorate the FormData to > include the hasKey method – thus we get " G.hasKey is not a function". > [https://github.com/volosied/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxRequestLevel2.js#L32-L44] > This error is reproducible via multi-part form requests that use ajax. > What is the proper fix here? I'll create a draft PR for what I think is > correct. > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4672) Uncaught TypeError: G.hasKey is not a function
[ https://issues.apache.org/jira/browse/MYFACES-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17859582#comment-17859582 ] Werner Punz commented on MYFACES-4672: -- https://github.com/apache/myfaces/pull/724 Pull request issued, [~volosied] can you please check if this fixes the issue in your customers use case scenario? If yes then we can upstream the fix as well to next if needed! > Uncaught TypeError: G.hasKey is not a function > -- > > Key: MYFACES-4672 > URL: https://issues.apache.org/jira/browse/MYFACES-4672 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.2.16 >Reporter: Volodymyr Siedlecki >Assignee: Werner Punz >Priority: Major > > This affects 2.2 which I know is out of date, but I have a user of MyFaces > 2.2 who needs this bug fixed. > I ported MYFACES-4606 to 2.2 here: > [https://github.com/apache/myfaces/pull/647] > 4606 was applied to 2.3, so I applied the same fix to 2.2. However, I didn't > realize that _AjaxRequestLevel2 was removed from 2.3 in this PR: > [https://github.com/apache/myfaces/pull/415/files] > _AjaxRequestLevel2 still exists in the 2.2 codebase. > This mean that `if(targetBuf.hasKey(identifier))` was called from > _AjaxRequestLevel2's getFormData which does not decorate the FormData to > include the hasKey method – thus we get " G.hasKey is not a function". > [https://github.com/volosied/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxRequestLevel2.js#L32-L44] > This error is reproducible via multi-part form requests that use ajax. > What is the proper fix here? I'll create a draft PR for what I think is > correct. > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4672) Uncaught TypeError: G.hasKey is not a function
[ https://issues.apache.org/jira/browse/MYFACES-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856958#comment-17856958 ] Volodymyr Siedlecki commented on MYFACES-4672: -- Thanks, the suggestion above looks to work well. I'll use it for now – one of our jsf-2.2 needs it. I look forward to your full analysis / fix :) Once again, I appreciate your quick help here. > Uncaught TypeError: G.hasKey is not a function > -- > > Key: MYFACES-4672 > URL: https://issues.apache.org/jira/browse/MYFACES-4672 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.2.16 >Reporter: Volodymyr Siedlecki >Assignee: Werner Punz >Priority: Major > > This affects 2.2 which I know is out of date, but I have a user of MyFaces > 2.2 who needs this bug fixed. > I ported MYFACES-4606 to 2.2 here: > [https://github.com/apache/myfaces/pull/647] > 4606 was applied to 2.3, so I applied the same fix to 2.2. However, I didn't > realize that _AjaxRequestLevel2 was removed from 2.3 in this PR: > [https://github.com/apache/myfaces/pull/415/files] > _AjaxRequestLevel2 still exists in the 2.2 codebase. > This mean that `if(targetBuf.hasKey(identifier))` was called from > _AjaxRequestLevel2's getFormData which does not decorate the FormData to > include the hasKey method – thus we get " G.hasKey is not a function". > [https://github.com/volosied/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxRequestLevel2.js#L32-L44] > This error is reproducible via multi-part form requests that use ajax. > What is the proper fix here? I'll create a draft PR for what I think is > correct. > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4672) Uncaught TypeError: G.hasKey is not a function
[ https://issues.apache.org/jira/browse/MYFACES-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856898#comment-17856898 ] Werner Punz commented on MYFACES-4672: -- I am thinking about the following follliwing, I do not want to change the code big time if((targetBuf.has && targetBuf.has(identifier)) || (targetBuf.hasKey && targetBuf.hasKey(identifier))) you basically do a check first which type of targetBuf you have by checking the whether it has a has or hasKey and then proceed forward! Give this a shot! I will be able to provide a fix monday, but not earlier, sorry about that! But you can give it a try that way. > Uncaught TypeError: G.hasKey is not a function > -- > > Key: MYFACES-4672 > URL: https://issues.apache.org/jira/browse/MYFACES-4672 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.2.16 >Reporter: Volodymyr Siedlecki >Assignee: Werner Punz >Priority: Major > > This affects 2.2 which I know is out of date, but I have a user of MyFaces > 2.2 who needs this bug fixed. > I ported MYFACES-4606 to 2.2 here: > [https://github.com/apache/myfaces/pull/647] > 4606 was applied to 2.3, so I applied the same fix to 2.2. However, I didn't > realize that _AjaxRequestLevel2 was removed from 2.3 in this PR: > [https://github.com/apache/myfaces/pull/415/files] > _AjaxRequestLevel2 still exists in the 2.2 codebase. > This mean that `if(targetBuf.hasKey(identifier))` was called from > _AjaxRequestLevel2's getFormData which does not decorate the FormData to > include the hasKey method – thus we get " G.hasKey is not a function". > [https://github.com/volosied/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxRequestLevel2.js#L32-L44] > This error is reproducible via multi-part form requests that use ajax. > What is the proper fix here? I'll create a draft PR for what I think is > correct. > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4672) Uncaught TypeError: G.hasKey is not a function
[ https://issues.apache.org/jira/browse/MYFACES-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856875#comment-17856875 ] Volodymyr Siedlecki commented on MYFACES-4672: -- Are you saying we should use use " if(targetBuf.has(identifier)) {" instead? [https://github.com/Apache/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxUtils.js#L63] I'll leave it to you as this is out of my area at this point. Thank you again for all your help here :) > Uncaught TypeError: G.hasKey is not a function > -- > > Key: MYFACES-4672 > URL: https://issues.apache.org/jira/browse/MYFACES-4672 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.2.16 >Reporter: Volodymyr Siedlecki >Assignee: Werner Punz >Priority: Major > > This affects 2.2 which I know is out of date, but I have a user of MyFaces > 2.2 who needs this bug fixed. > I ported MYFACES-4606 to 2.2 here: > [https://github.com/apache/myfaces/pull/647] > 4606 was applied to 2.3, so I applied the same fix to 2.2. However, I didn't > realize that _AjaxRequestLevel2 was removed from 2.3 in this PR: > [https://github.com/apache/myfaces/pull/415/files] > _AjaxRequestLevel2 still exists in the 2.2 codebase. > This mean that `if(targetBuf.hasKey(identifier))` was called from > _AjaxRequestLevel2's getFormData which does not decorate the FormData to > include the hasKey method – thus we get " G.hasKey is not a function". > [https://github.com/volosied/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxRequestLevel2.js#L32-L44] > This error is reproducible via multi-part form requests that use ajax. > What is the proper fix here? I'll create a draft PR for what I think is > correct. > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4672) Uncaught TypeError: G.hasKey is not a function
[ https://issues.apache.org/jira/browse/MYFACES-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856861#comment-17856861 ] Werner Punz commented on MYFACES-4672: -- I am a little bit puzzled why you get the g.hasKey is not a function. There is decoration code which explicitly adds the hasKey /** * creates a neutral form data wrapper over an existing form Data element * the wrapper delegates following methods, append * and adds makeFinal as finalizing method which returns the final * send representation of the element * * @param formData an array */ createFormDataDecorator:function (formData) That one creates formData shims and all of them have the hasKey, I will look into this! Btw. Multiform reverts in old browsers to an iframe transport! > Uncaught TypeError: G.hasKey is not a function > -- > > Key: MYFACES-4672 > URL: https://issues.apache.org/jira/browse/MYFACES-4672 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.2.16 >Reporter: Volodymyr Siedlecki >Assignee: Werner Punz >Priority: Major > > This affects 2.2 which I know is out of date, but I have a user of MyFaces > 2.2 who needs this bug fixed. > I ported MYFACES-4606 to 2.2 here: > [https://github.com/apache/myfaces/pull/647] > 4606 was applied to 2.3, so I applied the same fix to 2.2. However, I didn't > realize that _AjaxRequestLevel2 was removed from 2.3 in this PR: > [https://github.com/apache/myfaces/pull/415/files] > _AjaxRequestLevel2 still exists in the 2.2 codebase. > This mean that `if(targetBuf.hasKey(identifier))` was called from > _AjaxRequestLevel2's getFormData which does not decorate the FormData to > include the hasKey method – thus we get " G.hasKey is not a function". > [https://github.com/volosied/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxRequestLevel2.js#L32-L44] > This error is reproducible via multi-part form requests that use ajax. > What is the proper fix here? I'll create a draft PR for what I think is > correct. > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4672) Uncaught TypeError: G.hasKey is not a function
[ https://issues.apache.org/jira/browse/MYFACES-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856856#comment-17856856 ] Volodymyr Siedlecki commented on MYFACES-4672: -- For better reference this is the original fix I used which caused the form data problems: {{_MF_CLS(_PFX_XHR + "_MultipartAjaxRequestLevel2", myfaces._impl.xhrCore._AjaxRequest, \{ getFormData: function() { var A; if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { A = this._Lang.createFormDataDecorator(jsf.getViewState(this._sourceForm)); this._AJAXUTIL.appendIssuingItem(this._source, A); } else \{ A = this._Lang.createFormDataDecorator(jsf.getViewState(new Array())) this._AJAXUTIL.encodeSubmittableFields(A, this._sourceForm, null); this._AJAXUTIL.appendIssuingItem(this._source, A); } return A; },}} > Uncaught TypeError: G.hasKey is not a function > -- > > Key: MYFACES-4672 > URL: https://issues.apache.org/jira/browse/MYFACES-4672 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.2.16 >Reporter: Volodymyr Siedlecki >Assignee: Werner Punz >Priority: Major > > This affects 2.2 which I know is out of date, but I have a user of MyFaces > 2.2 who needs this bug fixed. > I ported MYFACES-4606 to 2.2 here: > [https://github.com/apache/myfaces/pull/647] > 4606 was applied to 2.3, so I applied the same fix to 2.2. However, I didn't > realize that _AjaxRequestLevel2 was removed from 2.3 in this PR: > [https://github.com/apache/myfaces/pull/415/files] > _AjaxRequestLevel2 still exists in the 2.2 codebase. > This mean that `if(targetBuf.hasKey(identifier))` was called from > _AjaxRequestLevel2's getFormData which does not decorate the FormData to > include the hasKey method – thus we get " G.hasKey is not a function". > [https://github.com/volosied/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxRequestLevel2.js#L32-L44] > This error is reproducible via multi-part form requests that use ajax. > What is the proper fix here? I'll create a draft PR for what I think is > correct. > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4672) Uncaught TypeError: G.hasKey is not a function
[ https://issues.apache.org/jira/browse/MYFACES-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856855#comment-17856855 ] Volodymyr Siedlecki commented on MYFACES-4672: -- Thanks! I did tried adding the function, but it caused other errors in their application. The XHR did not contain the form data in the request – it was formatted differently. When I decorated the form data object, the request had: {color:#1d1c1d}j_id_a:j_id_d=[object File] j_id_a_SUBMIT=1 javax.faces.ViewState=etXhe99OOEwGmJMwtxyC6OvI0hBYMSNfhRFQFlnPdIp07mF2KWgN0fDLNVqbkvHTdDOAWQ== javax.faces.behavior.event=change javax.faces.partial.event=change javax.faces.source=j_id_a:j_id_d javax.faces.partial.ajax=true javax.faces.partial.execute=j_id_a:j_id_d j_id_a=j_id_a{color} It should look more like this: {color:#cc}-10818876671980492753015449693{color} {color:#cc}Content-Disposition: form-data{color}{color:#6a9955}; name="j_id_a:j_id_d"; filename="1.txt"{color} {color:#cc}Content-Type: text/plain{color} {color:#cc}1{color} {color:#cc}-10818876671980492753015449693{color} {color:#cc}Content-Disposition: form-data{color}{color:#6a9955}; name="j_id_a_SUBMIT"{color} {color:#cc}1 {color} > Uncaught TypeError: G.hasKey is not a function > -- > > Key: MYFACES-4672 > URL: https://issues.apache.org/jira/browse/MYFACES-4672 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.2.16 >Reporter: Volodymyr Siedlecki >Assignee: Werner Punz >Priority: Major > > This affects 2.2 which I know is out of date, but I have a user of MyFaces > 2.2 who needs this bug fixed. > I ported MYFACES-4606 to 2.2 here: > [https://github.com/apache/myfaces/pull/647] > 4606 was applied to 2.3, so I applied the same fix to 2.2. However, I didn't > realize that _AjaxRequestLevel2 was removed from 2.3 in this PR: > [https://github.com/apache/myfaces/pull/415/files] > _AjaxRequestLevel2 still exists in the 2.2 codebase. > This mean that `if(targetBuf.hasKey(identifier))` was called from > _AjaxRequestLevel2's getFormData which does not decorate the FormData to > include the hasKey method – thus we get " G.hasKey is not a function". > [https://github.com/volosied/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxRequestLevel2.js#L32-L44] > This error is reproducible via multi-part form requests that use ajax. > What is the proper fix here? I'll create a draft PR for what I think is > correct. > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4672) Uncaught TypeError: G.hasKey is not a function
[ https://issues.apache.org/jira/browse/MYFACES-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856854#comment-17856854 ] Werner Punz commented on MYFACES-4672: -- I will look into it next week. As far as I remember, the old codebase built something similar as FormData to keep the code on the same level. I will look into it but wont make it before monday! > Uncaught TypeError: G.hasKey is not a function > -- > > Key: MYFACES-4672 > URL: https://issues.apache.org/jira/browse/MYFACES-4672 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.2.16 >Reporter: Volodymyr Siedlecki >Assignee: Werner Punz >Priority: Major > > This affects 2.2 which I know is out of date, but I have a user of MyFaces > 2.2 who needs this bug fixed. > I ported MYFACES-4606 to 2.2 here: > [https://github.com/apache/myfaces/pull/647] > 4606 was applied to 2.3, so I applied the same fix to 2.2. However, I didn't > realize that _AjaxRequestLevel2 was removed from 2.3 in this PR: > [https://github.com/apache/myfaces/pull/415/files] > _AjaxRequestLevel2 still exists in the 2.2 codebase. > This mean that `if(targetBuf.hasKey(identifier))` was called from > _AjaxRequestLevel2's getFormData which does not decorate the FormData to > include the hasKey method – thus we get " G.hasKey is not a function". > [https://github.com/volosied/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxRequestLevel2.js#L32-L44] > This error is reproducible via multi-part form requests that use ajax. > What is the proper fix here? I'll create a draft PR for what I think is > correct. > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4672) Uncaught TypeError: G.hasKey is not a function
[ https://issues.apache.org/jira/browse/MYFACES-4672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856844#comment-17856844 ] Volodymyr Siedlecki commented on MYFACES-4672: -- https://github.com/apache/myfaces/pull/720 > Uncaught TypeError: G.hasKey is not a function > -- > > Key: MYFACES-4672 > URL: https://issues.apache.org/jira/browse/MYFACES-4672 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.2.16 >Reporter: Volodymyr Siedlecki >Assignee: Werner Punz >Priority: Major > > This affects 2.2 which I know is out of date, but I have a user of MyFaces > 2.2 who needs this bug fixed. > I ported MYFACES-4606 to 2.2 here: > [https://github.com/apache/myfaces/pull/647] > 4606 was applied to 2.3, so I applied the same fix to 2.2. However, I didn't > realize that _AjaxRequestLevel2 was removed from 2.3 in this PR: > [https://github.com/apache/myfaces/pull/415/files] > _AjaxRequestLevel2 still exists in the 2.2 codebase. > This mean that `if(targetBuf.hasKey(identifier))` was called from > _AjaxRequestLevel2's getFormData which does not decorate the FormData to > include the hasKey method – thus we get " G.hasKey is not a function". > [https://github.com/volosied/myfaces/blob/d5d28a0e6cae3ea22e021c64ecf474d6352bf900/api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxRequestLevel2.js#L32-L44] > This error is reproducible via multi-part form requests that use ajax. > What is the proper fix here? I'll create a draft PR for what I think is > correct. > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)