[jira] [Created] (MYFACES-4674) ResponseWriter: wrapped vs getWrapped() issue
Melloware created MYFACES-4674: -- Summary: ResponseWriter: wrapped vs getWrapped() issue Key: MYFACES-4674 URL: https://issues.apache.org/jira/browse/MYFACES-4674 Project: MyFaces Core Issue Type: Bug Affects Versions: 4.1.0-RC2, 4.0.2 Reporter: Melloware Original report to Mojarra: https://github.com/eclipse-ee4j/mojarra/issues/5456 After debugging BalusC determined that Mojarra was doing the correct thing and MyFaces is somewhere in its chain calling the delegate/wrapped writer and not the `getWrapped()` writer. *BalusC: * {quote}Hmm ok probably MyFaces still has a wrapped-vs-getWrapped bug in its ResponseWriter(Wrapper) impl that it fails to invoke the PrimePartialResponseWriter#endDocument when given a wrapped writer.{quote} It is NOT currently affecting anything but I thought i would open this as BalusC thought it was odd how MyFaces was treating the scenario. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2332) ColumnSelector: header element not disabled
Henning Nöth created TOBAGO-2332: Summary: ColumnSelector: header element not disabled Key: TOBAGO-2332 URL: https://issues.apache.org/jira/browse/TOBAGO-2332 Project: MyFaces Tobago Issue Type: Bug Components: Core Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth The column selector header element is not disabled if . -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2331) Lazy sheet: Ajax request contains too many keys
Henning Nöth created TOBAGO-2331: Summary: Lazy sheet: Ajax request contains too many keys Key: TOBAGO-2331 URL: https://issues.apache.org/jira/browse/TOBAGO-2331 Project: MyFaces Tobago Issue Type: Bug Components: Core, JavaScript Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth If a lazy sheet contains form elements (e.g. a tc:in or a tc:button), those IDs/keys are put into the Ajax request to load the next batch of a lazy sheet. There is a maximum number of keys in a request, so an error will occur if the user scrolls long enough. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2330) Lazy sheet: NPE while processing Ajax response
Henning Nöth created TOBAGO-2330: Summary: Lazy sheet: NPE while processing Ajax response Key: TOBAGO-2330 URL: https://issues.apache.org/jira/browse/TOBAGO-2330 Project: MyFaces Tobago Issue Type: Bug Components: JavaScript Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth An error may occur if using lazy sheet. It's hard to reproduce, so we have no good test. {code:javascript} TypeError: Cannot read properties of null (reading 'querySelectorAll') at ia.lazyResponse (tobago-sheet.ts:514:35) at e.sendEvent (AjaxImpl.ts:400:9) at v.sendEvent (XhrRequest.ts:386:28) at v.onResponseReceived (XhrRequest.ts:313:14) at n.onload (XhrRequest.ts:230:18) {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/27/24 7:12 PM: --- Great I will check the other branches later this week whether they need the fix as well (2.3, 2.3-next), 4.x onwards is not affected due to the reimplemented codebase! was (Author: werpu): 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=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] [Resolved] (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:all-tabpanel ] Volodymyr Siedlecki resolved MYFACES-4672. -- Resolution: Fixed > 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] [Resolved] (MYFACES-4673) Quarkus: Update to 3.8 LTS
[ https://issues.apache.org/jira/browse/MYFACES-4673?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Melloware resolved MYFACES-4673. Resolution: Fixed > Quarkus: Update to 3.8 LTS > -- > > Key: MYFACES-4673 > URL: https://issues.apache.org/jira/browse/MYFACES-4673 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC2 >Reporter: Melloware >Assignee: Melloware >Priority: Major > Fix For: 5.0.0, 4.0.3, 4.1.0-RC3 > > > Update to the Quarkus LTS 3.8.5 and change the dev card name to Apache > MyFaces. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MYFACES-4673) Quarkus: Update to 3.8 LTS
Melloware created MYFACES-4673: -- Summary: Quarkus: Update to 3.8 LTS Key: MYFACES-4673 URL: https://issues.apache.org/jira/browse/MYFACES-4673 Project: MyFaces Core Issue Type: Bug Affects Versions: 4.1.0-RC2, 4.0.2, 5.0.0 Reporter: Melloware Update to the Quarkus LTS 3.8.5 and change the dev card name to Apache MyFaces. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2329) ColumnSelector: singleOrNone
Henning Nöth created TOBAGO-2329: Summary: ColumnSelector: singleOrNone Key: TOBAGO-2329 URL: https://issues.apache.org/jira/browse/TOBAGO-2329 Project: MyFaces Tobago Issue Type: Bug Components: JavaScript Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth It is not possible to deselect a row, even if "singleOrNone" is set. There seems to be no difference to "single". -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2328) ColumnSelector must select/deselect the related columnPanel
Henning Nöth created TOBAGO-2328: Summary: ColumnSelector must select/deselect the related columnPanel Key: TOBAGO-2328 URL: https://issues.apache.org/jira/browse/TOBAGO-2328 Project: MyFaces Tobago Issue Type: Bug Components: JavaScript Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2327) ColumnSelector doesn't work if there is a sheet in a sheet.
Henning Nöth created TOBAGO-2327: Summary: ColumnSelector doesn't work if there is a sheet in a sheet. Key: TOBAGO-2327 URL: https://issues.apache.org/jira/browse/TOBAGO-2327 Project: MyFaces Tobago Issue Type: Bug Components: JavaScript Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2326) Lazy sheet: first attribute
Henning Nöth created TOBAGO-2326: Summary: Lazy sheet: first attribute Key: TOBAGO-2326 URL: https://issues.apache.org/jira/browse/TOBAGO-2326 Project: MyFaces Tobago Issue Type: New Feature Components: Core Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth Make the "first" attribute usable for lazy sheet. Currently the first visible row depends on lazy-scroll-position. -- 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/22/24 7:10 PM: --- I am thinking about the following, I do not want to change the code extensively, given it is legacy code: 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. was (Author: werpu): I am thinking about the following, 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/22/24 12:36 PM: I am thinking about the following, 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. was (Author: werpu): 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=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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/21/24 9:09 PM: --- Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the hasKey Function but the has function (seems this was not fully specced out, when I coded this given that xhr2 was in beta at best then, and they renamed it), we simply can identify the code parts which have problems with the hasKey and use has instead as fallback, so if one or the other is present we use either! The reason why your patch fails is that createFormDataDecorator does not really work with a real xhr level2 object! This was a fallback to work with iframe transports but to keep the calls the same on the upper code levels! So we need to fix this on the code parts which rely on the hasKey function being present to also check for has! This is a problem which probably the entire old codebase has! As reference: https://developer.mozilla.org/en-US/docs/Web/API/FormData/has?retiredLocale=de was (Author: werpu): Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the hasKey Function but the has function (seems this was not fully specced out, when I coded this given that xhr2 was in beta at best then, and they renamed it), we simply can identify the code parts which have problems with the hasKey and use has instead as fallback, so if one or the other is present we use either! The reason why your patch fails is that createFormDataDecorator does not really work with a real xhr level2 object! This was a fallback to work with iframe transports but to keep the calls the same on the upper code levels! So we need to fix this on the code parts which rely on the hasKey function being present to also check for has! This is a problem which probably the entire old codebase has! > 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/21/24 9:08 PM: --- Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the hasKey Function but the has function (seems this was not fully specced out, when I coded this given that xhr2 was in beta at best then, and they renamed it), we simply can identify the code parts which have problems with the hasKey and use has instead as fallback, so if one or the other is present we use either! The reason why your patch fails is that createFormDataDecorator does not really work with a real xhr level2 object! This was a fallback to work with iframe transports but to keep the calls the same on the upper code levels! So we need to fix this on the code parts which rely on the hasKey function being present to also check for has! This is a problem which probably the entire old codebase has! was (Author: werpu): Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the hasKey Function but the has function (seems this was not fully specced out, when I coded this and they renamed it), we simply can identify the code parts which have problems with the hasKey and use has instead as fallback, so if one or the other is present we use either! The reason why your patch fails is that createFormDataDecorator does not really work with a real xhr level2 object! This was a fallback to work with iframe transports but to keep the calls the same on the upper code levels! So we need to fix this on the code parts which rely on the hasKey function being present to also check for has! This is a problem which probably the entire old codebase has! > 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/21/24 9:08 PM: --- Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the hasKey Function but the has function (seems this was not fully specced out, when I coded this and they renamed it), we simply can identify the code parts which have problems with the hasKey and use has instead as fallback, so if one or the other is present we use either! The reason why your patch fails is that createFormDataDecorator does not really work with a real xhr level2 object! This was a fallback to work with iframe transports but to keep the calls the same on the upper code levels! So we need to fix this on the code parts which rely on the hasKey function being present to also check for has! This is a problem which probably the entire old codebase has! was (Author: werpu): Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the hasKey Function but the has function (seems this was not fully fixed when I coded this and they renamed it), we simply can identify the code parts which have problems with the hasKey and use has instead as fallback, so if one or the other is present we use either! The reason why your patch fails is that createFormDataDecorator does not really work with a real xhr level2 object! This was a fallback to work with iframe transports but to keep the calls the same on the upper code levels! So we need to fix this on the code parts which rely on the hasKey function being present to also check for has! This is a problem which probably the entire old codebase has! > 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/21/24 9:07 PM: --- Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the hasKey Function but the has function (seems this was not fully fixed when I coded this and they renamed it), we simply can identify the code parts which have problems with the hasKey and use has instead as fallback, so if one or the other is present we use either! The reason why your patch fails is that createFormDataDecorator does not really work with a real xhr level2 object! This was a fallback to work with iframe transports but to keep the calls the same on the upper code levels! So we need to fix this on the code parts which rely on the hasKey function being present to also check for has! This is a problem which probably the entire old codebase has! was (Author: werpu): Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the hasKey Function but the has function (seems this was not fully fixed when I coded this and they renamed it), we simply can identify the code parts which have problems with the hasKey and use has instead as fallback, so if one or the other is present we use either! > 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/21/24 9:06 PM: --- Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the hasKey Function but the has function (seems this was not fully fixed when I coded this and they renamed it), we simply can identify the code parts which have problems with the hasKey and use has instead as fallback, so if one or the other is present we use either! was (Author: werpu): Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the getKey Function, we simply have to add a hasKey function on the FormData class! This affects only the xhrLevel2 class, not the newer ones and very likely also not the iframe transport itself! > 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/21/24 8:56 PM: --- Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the getKey Function, we simply have to add a hasKey function on the FormData class! This affects only the xhrLevel2 class, not the newer ones and very likely also not the iframe transport itself! was (Author: werpu): Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the getKey Function, we simply have to add a hasKey function on the FormData class! > 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/21/24 8:55 PM: --- Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the getKey Function, we simply have to add a hasKey function on the FormData class! was (Author: werpu): Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the getKey Function, we simply have to add a getKey function on the FormData class! > 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/21/24 8:55 PM: --- Ok the issue is very likely in the XHRRequestLevel2 code if (this._context._mfInternal.xhrOp === "multipartQueuedPost") { ret = new FormData(this._sourceForm); FormData does not have the getKey Function, we simply have to add a getKey function on the FormData class! was (Author: werpu): 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) > 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/21/24 8:53 PM: --- 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) was (Author: werpu): 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. Multipart reverts in old browsers to an iframe transport if xhr level 2 cannot be provided > 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/21/24 8:53 PM: --- 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. Multipart reverts in old browsers to an iframe transport if xhr level 2 cannot be provided! * was (Author: werpu): 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/21/24 8:53 PM: --- 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. Multipart reverts in old browsers to an iframe transport if xhr level 2 cannot be provided was (Author: werpu): 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. Multipart reverts in old browsers to an iframe transport if xhr level 2 cannot be provided! * > 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] [Resolved] (MYFACES-4671) PushImpl.ts Socket#onerror attempting to use undefined variable
[ https://issues.apache.org/jira/browse/MYFACES-4671?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Werner Punz resolved MYFACES-4671. -- Resolution: Fixed > PushImpl.ts Socket#onerror attempting to use undefined variable > --- > > Key: MYFACES-4671 > URL: https://issues.apache.org/jira/browse/MYFACES-4671 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.2, 4.1.0-RC2 > Environment: OS: Windows 11 > Java version 17.0.7 >Reporter: Thomas Smith >Assignee: Werner Punz >Priority: Minor > Fix For: 5.0.0, 4.0.3, 4.1.0-RC3 > > Original Estimate: 2h > Remaining Estimate: 2h > > While running some OpenLiberty FAT tests, specifically > io.openliberty.org.apache.myfaces.4.0_fat/WebSocketTests, we discovered a > small bug where JSON.parse(event.data) was running where event.data was > undefined. > Here is the line it occurs: > [https://github.com/apache/myfaces/blob/dae36dde5cc42208d034dda23107ad79f68ecc3a/api/src/client/typescript/faces/impl/PushImpl.ts#L156] > Volodymyr created a GitHub issue describing the issue here: [Faces 4.0 Fix > WebSocketTests so that "onerror listener" occurs - Issue #27598 - > OpenLiberty/open-liberty > (github.com)|https://github.com/OpenLiberty/open-liberty/issues/27598] > Proposed Solution: Change > {code:java} > JSON.parse(event.data) {code} > to > {code:java} > JSON.parse(event.data === undefined ? null : event.data){code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4671) PushImpl.ts Socket#onerror attempting to use undefined variable
[ https://issues.apache.org/jira/browse/MYFACES-4671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856859#comment-17856859 ] Werner Punz commented on MYFACES-4671: -- I added the fix now to all 3 affected branches via the upstream project. Also The fix is now the one with the Elvis operator usage! > PushImpl.ts Socket#onerror attempting to use undefined variable > --- > > Key: MYFACES-4671 > URL: https://issues.apache.org/jira/browse/MYFACES-4671 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.2, 4.1.0-RC2 > Environment: OS: Windows 11 > Java version 17.0.7 >Reporter: Thomas Smith >Assignee: Werner Punz >Priority: Minor > Fix For: 5.0.0, 4.0.3, 4.1.0-RC3 > > Original Estimate: 2h > Remaining Estimate: 2h > > While running some OpenLiberty FAT tests, specifically > io.openliberty.org.apache.myfaces.4.0_fat/WebSocketTests, we discovered a > small bug where JSON.parse(event.data) was running where event.data was > undefined. > Here is the line it occurs: > [https://github.com/apache/myfaces/blob/dae36dde5cc42208d034dda23107ad79f68ecc3a/api/src/client/typescript/faces/impl/PushImpl.ts#L156] > Volodymyr created a GitHub issue describing the issue here: [Faces 4.0 Fix > WebSocketTests so that "onerror listener" occurs - Issue #27598 - > OpenLiberty/open-liberty > (github.com)|https://github.com/OpenLiberty/open-liberty/issues/27598] > Proposed Solution: Change > {code:java} > JSON.parse(event.data) {code} > to > {code:java} > JSON.parse(event.data === undefined ? null : event.data){code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4671) PushImpl.ts Socket#onerror attempting to use undefined variable
[ https://issues.apache.org/jira/browse/MYFACES-4671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856857#comment-17856857 ] Werner Punz commented on MYFACES-4671: -- Btw the code can be written a little bit more tersely: let message = JSON.parse(event?.data ?? null); Typescript has an Elvis operator, so no need for explicity undefined checks anymore! I will prepare a new version of the upstream codebase then we can easily get the new code into all branches! > PushImpl.ts Socket#onerror attempting to use undefined variable > --- > > Key: MYFACES-4671 > URL: https://issues.apache.org/jira/browse/MYFACES-4671 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.2, 4.1.0-RC2 > Environment: OS: Windows 11 > Java version 17.0.7 >Reporter: Thomas Smith >Assignee: Werner Punz >Priority: Minor > Original Estimate: 2h > Remaining Estimate: 2h > > While running some OpenLiberty FAT tests, specifically > io.openliberty.org.apache.myfaces.4.0_fat/WebSocketTests, we discovered a > small bug where JSON.parse(event.data) was running where event.data was > undefined. > Here is the line it occurs: > [https://github.com/apache/myfaces/blob/dae36dde5cc42208d034dda23107ad79f68ecc3a/api/src/client/typescript/faces/impl/PushImpl.ts#L156] > Volodymyr created a GitHub issue describing the issue here: [Faces 4.0 Fix > WebSocketTests so that "onerror listener" occurs - Issue #27598 - > OpenLiberty/open-liberty > (github.com)|https://github.com/OpenLiberty/open-liberty/issues/27598] > Proposed Solution: Change > {code:java} > JSON.parse(event.data) {code} > to > {code:java} > JSON.parse(event.data === undefined ? null : event.data){code} -- 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] [Comment Edited] (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 edited comment on MYFACES-4672 at 6/21/24 8:14 PM: --- 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! The proper fix very likely simply is to add the function! was (Author: werpu): 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=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)
[jira] [Created] (MYFACES-4672) Uncaught TypeError: G.hasKey is not a function
Volodymyr Siedlecki created MYFACES-4672: Summary: 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.15 Reporter: Volodymyr Siedlecki 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] [Created] (TOBAGO-2325) Lazy sheet: make lazyRows deprecated, use rows instead
Henning Nöth created TOBAGO-2325: Summary: Lazy sheet: make lazyRows deprecated, use rows instead Key: TOBAGO-2325 URL: https://issues.apache.org/jira/browse/TOBAGO-2325 Project: MyFaces Tobago Issue Type: Improvement Components: Core Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth The "lazyRows" attribute increases the complexity without much benefits. We should set it to "deprecated" and should use "rows" instead. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2324) ColumnSelector: add attribute to select every row
Henning Nöth created TOBAGO-2324: Summary: ColumnSelector: add attribute to select every row Key: TOBAGO-2324 URL: https://issues.apache.org/jira/browse/TOBAGO-2324 Project: MyFaces Tobago Issue Type: New Feature Components: Core Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth Add an attribute for tc:columnSelector to enable a "select all rows" checkbox which select every row in the sheet state, not only the visible ones. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (MYFACES-4671) PushImpl.ts Socket#onerror attempting to use undefined variable
[ https://issues.apache.org/jira/browse/MYFACES-4671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856124#comment-17856124 ] Werner Punz edited comment on MYFACES-4671 at 6/19/24 4:58 AM: --- Looks fine to me as well! I will merge it in asap and also will take the fix into the upstream project so that it does not get lost! Thanks for providing it! was (Author: werpu): Looks fine to me as well! > PushImpl.ts Socket#onerror attempting to use undefined variable > --- > > Key: MYFACES-4671 > URL: https://issues.apache.org/jira/browse/MYFACES-4671 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.2, 4.1.0-RC2 > Environment: OS: Windows 11 > Java version 17.0.7 >Reporter: Thomas Smith >Assignee: Werner Punz >Priority: Minor > Original Estimate: 2h > Remaining Estimate: 2h > > While running some OpenLiberty FAT tests, specifically > io.openliberty.org.apache.myfaces.4.0_fat/WebSocketTests, we discovered a > small bug where JSON.parse(event.data) was running where event.data was > undefined. > Here is the line it occurs: > [https://github.com/apache/myfaces/blob/dae36dde5cc42208d034dda23107ad79f68ecc3a/api/src/client/typescript/faces/impl/PushImpl.ts#L156] > Volodymyr created a GitHub issue describing the issue here: [Faces 4.0 Fix > WebSocketTests so that "onerror listener" occurs - Issue #27598 - > OpenLiberty/open-liberty > (github.com)|https://github.com/OpenLiberty/open-liberty/issues/27598] > Proposed Solution: Change > {code:java} > JSON.parse(event.data) {code} > to > {code:java} > JSON.parse(event.data === undefined ? null : event.data){code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4671) PushImpl.ts Socket#onerror attempting to use undefined variable
[ https://issues.apache.org/jira/browse/MYFACES-4671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856124#comment-17856124 ] Werner Punz commented on MYFACES-4671: -- Looks fine to me as well! > PushImpl.ts Socket#onerror attempting to use undefined variable > --- > > Key: MYFACES-4671 > URL: https://issues.apache.org/jira/browse/MYFACES-4671 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.2, 4.1.0-RC2 > Environment: OS: Windows 11 > Java version 17.0.7 >Reporter: Thomas Smith >Assignee: Werner Punz >Priority: Minor > Original Estimate: 2h > Remaining Estimate: 2h > > While running some OpenLiberty FAT tests, specifically > io.openliberty.org.apache.myfaces.4.0_fat/WebSocketTests, we discovered a > small bug where JSON.parse(event.data) was running where event.data was > undefined. > Here is the line it occurs: > [https://github.com/apache/myfaces/blob/dae36dde5cc42208d034dda23107ad79f68ecc3a/api/src/client/typescript/faces/impl/PushImpl.ts#L156] > Volodymyr created a GitHub issue describing the issue here: [Faces 4.0 Fix > WebSocketTests so that "onerror listener" occurs - Issue #27598 - > OpenLiberty/open-liberty > (github.com)|https://github.com/OpenLiberty/open-liberty/issues/27598] > Proposed Solution: Change > {code:java} > JSON.parse(event.data) {code} > to > {code:java} > JSON.parse(event.data === undefined ? null : event.data){code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4671) PushImpl.ts Socket#onerror attempting to use undefined variable
[ https://issues.apache.org/jira/browse/MYFACES-4671?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17856085#comment-17856085 ] Volodymyr Siedlecki commented on MYFACES-4671: -- The change looks fine to me. I've assigned it to Werner, so that he could also take a look. Thanks > PushImpl.ts Socket#onerror attempting to use undefined variable > --- > > Key: MYFACES-4671 > URL: https://issues.apache.org/jira/browse/MYFACES-4671 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.2, 4.1.0-RC2 > Environment: OS: Windows 11 > Java version 17.0.7 >Reporter: Thomas Smith >Assignee: Werner Punz >Priority: Minor > Original Estimate: 2h > Remaining Estimate: 2h > > While running some OpenLiberty FAT tests, specifically > io.openliberty.org.apache.myfaces.4.0_fat/WebSocketTests, we discovered a > small bug where JSON.parse(event.data) was running where event.data was > undefined. > Here is the line it occurs: > [https://github.com/apache/myfaces/blob/dae36dde5cc42208d034dda23107ad79f68ecc3a/api/src/client/typescript/faces/impl/PushImpl.ts#L156] > Volodymyr created a GitHub issue describing the issue here: [Faces 4.0 Fix > WebSocketTests so that "onerror listener" occurs - Issue #27598 - > OpenLiberty/open-liberty > (github.com)|https://github.com/OpenLiberty/open-liberty/issues/27598] > Proposed Solution: Change > {code:java} > JSON.parse(event.data) {code} > to > {code:java} > JSON.parse(event.data === undefined ? null : event.data){code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MYFACES-4671) PushImpl.ts Socket#onerror attempting to use undefined variable
Thomas Smith created MYFACES-4671: - Summary: PushImpl.ts Socket#onerror attempting to use undefined variable Key: MYFACES-4671 URL: https://issues.apache.org/jira/browse/MYFACES-4671 Project: MyFaces Core Issue Type: Bug Affects Versions: 4.1.0-RC2, 4.0.2 Environment: OS: Windows 11 Java version 17.0.7 Reporter: Thomas Smith While running some OpenLiberty FAT tests, specifically io.openliberty.org.apache.myfaces.4.0_fat/WebSocketTests, we discovered a small bug where JSON.parse(event.data) was running where event.data was undefined. Here is the line it occurs: [https://github.com/apache/myfaces/blob/dae36dde5cc42208d034dda23107ad79f68ecc3a/api/src/client/typescript/faces/impl/PushImpl.ts#L156] Volodymyr created a GitHub issue describing the issue here: [Faces 4.0 Fix WebSocketTests so that "onerror listener" occurs - Issue #27598 - OpenLiberty/open-liberty (github.com)|https://github.com/OpenLiberty/open-liberty/issues/27598] Proposed Solution: Change {code:java} JSON.parse(event.data) {code} to {code:java} JSON.parse(event.data === undefined ? null : event.data){code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (TOBAGO-2322) Click on an input field inside a sheet should select row
[ https://issues.apache.org/jira/browse/TOBAGO-2322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Henning Nöth resolved TOBAGO-2322. -- Fix Version/s: 5.13.0 6.5.0 Resolution: Fixed > Click on an input field inside a sheet should select row > > > Key: TOBAGO-2322 > URL: https://issues.apache.org/jira/browse/TOBAGO-2322 > Project: MyFaces Tobago > Issue Type: Bug > Components: Core, JavaScript >Affects Versions: 5.12.0, 6.4.0 >Reporter: Henning Nöth >Assignee: Henning Nöth >Priority: Major > Fix For: 5.13.0, 6.5.0 > > > This issue is in conflict with > https://issues.apache.org/jira/browse/TOBAGO-2263. > The solution should be to revert > https://issues.apache.org/jira/browse/TOBAGO-2263 and users have to use the > stopPropagation attribute of tc:event. > To stop a click event on tc:in inside a tc:sheet, use: > {code:xml} > > > > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2323) Fire client-side CustomEvent for tobago-behavior
Carsten Dimmek created TOBAGO-2323: -- Summary: Fire client-side CustomEvent for tobago-behavior Key: TOBAGO-2323 URL: https://issues.apache.org/jira/browse/TOBAGO-2323 Project: MyFaces Tobago Issue Type: Improvement Components: Core Reporter: Carsten Dimmek -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2322) Click on an input field inside a sheet should select row
Henning Nöth created TOBAGO-2322: Summary: Click on an input field inside a sheet should select row Key: TOBAGO-2322 URL: https://issues.apache.org/jira/browse/TOBAGO-2322 Project: MyFaces Tobago Issue Type: Bug Components: Core, JavaScript Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth This issue is in conflict with https://issues.apache.org/jira/browse/TOBAGO-2263. The solution should be to revert https://issues.apache.org/jira/browse/TOBAGO-2263 and users have to use the stopPropagation attribute of tc:event. To stop a click event on tc:in inside a tc:sheet, use: {code:xml} {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (TOBAGO-2317) SelectOneList, SelectManyList: localMenu attribute
[ https://issues.apache.org/jira/browse/TOBAGO-2317?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Henning Nöth resolved TOBAGO-2317. -- Fix Version/s: 5.13.0 6.5.0 Resolution: Fixed > SelectOneList, SelectManyList: localMenu attribute > -- > > Key: TOBAGO-2317 > URL: https://issues.apache.org/jira/browse/TOBAGO-2317 > Project: MyFaces Tobago > Issue Type: New Feature > Components: Core, JavaScript >Affects Versions: 5.12.0, 6.4.0 >Reporter: Henning Nöth >Assignee: Henning Nöth >Priority: Major > Fix For: 5.13.0, 6.5.0 > > > Implement a localMenu attribute according to tc:suggest. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2321) SelectManyList
Henning Nöth created TOBAGO-2321: Summary: SelectManyList Key: TOBAGO-2321 URL: https://issues.apache.org/jira/browse/TOBAGO-2321 Project: MyFaces Tobago Issue Type: Bug Components: JavaScript Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth If the dropdown menu is opened and TAB is pressed, than the next component should be selected. This doesn't work, if an entry is selected. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MYFACES-4668) Quarkus: Programmatic Views not working
[ https://issues.apache.org/jira/browse/MYFACES-4668?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Melloware resolved MYFACES-4668. Fix Version/s: (was: 4.0.3) (was: 4.1.0-RC3) Resolution: Fixed > Quarkus: Programmatic Views not working > --- > > Key: MYFACES-4668 > URL: https://issues.apache.org/jira/browse/MYFACES-4668 > Project: MyFaces Core > Issue Type: Bug > Components: Extension Feature >Affects Versions: 4.0.2, 4.1.0-RC1, 5.0.0 >Reporter: Melloware >Assignee: Melloware >Priority: Major > > Original report: [https://github.com/melloware/quarkus-faces/issues/444] > > I tried to add a programmatic view with the `@View` annotation, but when I > access http://localhost:8080/facelet.xhml it returns 404 > > {code:java} > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet { > @Override > public void apply(FacesContext facesContext, UIComponent parent) { > if > (!facesContext.getAttributes().containsKey(IS_BUILDING_INITIAL_STATE)) { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) { > return (T) > facesContext.getApplication().createComponent(facesContext, componentType, > null); > } > } > } > > {code} > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852460#comment-17852460 ] Werner Punz edited comment on MYFACES-4669 at 6/5/24 2:04 PM: -- Yes Either the spec needs to change and we have to adapt or Mojarra needs to fix it, lets wait for the result! Btw. [~melloware], thanks for digging around, you saved me a few hours of work! was (Author: werpu): Yes Either the spec needs to change and we have to adapt or Mojarra needs to fix it, lets wait for the result! Btw. thanks for digging around, you saved me a few hours of work! > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852460#comment-17852460 ] Werner Punz commented on MYFACES-4669: -- Yes Either the spec needs to change and we have to adapt or Mojarra needs to fix it, lets wait for the result! Btw. thanks for digging around, you saved me a few hours of work! > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852458#comment-17852458 ] Volodymyr Siedlecki commented on MYFACES-4669: -- There is a workaround thankfully. I hope Arjan might be able to comment in the spec issue – it would be nice to have this behavior consistent. > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Werner Punz resolved MYFACES-4669. -- Resolution: Won't Fix Seems to be a mojarra bug, the spec is clear on this one, no need to fix it on the myfaces side then! (See investigation from [~melloware] in the comments) > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852188#comment-17852188 ] Werner Punz edited comment on MYFACES-4669 at 6/4/24 8:43 PM: -- I I just checked the comments on this one, wanted to take over it on thursday, if it is a Mojarra bug then yes it needs to be filed on the mojarra side not on the MyFaces side. MyFaces seems to follow the spec here, Mojarra not! I will unassign me from this bug then, feel free to close it! was (Author: werpu): I I just checked the comments on this one, wanted to take over it on thursday, if it is a mojarra bug then yes it needs to be filed on the mojarra side not on the myfaces side. MyFaces seems to follow the spec here, Mojarra not! I will unassign me from this bug then, feel free to close it! > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852188#comment-17852188 ] Werner Punz commented on MYFACES-4669: -- I I just checked the comments on this one, wanted to take over it on thursday, if it is a mojarra bug then yes it needs to be filed on the mojarra side not on the myfaces side. MyFaces seems to follow the spec here, Mojarra not! > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Assignee: Werner Punz >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852188#comment-17852188 ] Werner Punz edited comment on MYFACES-4669 at 6/4/24 8:42 PM: -- I I just checked the comments on this one, wanted to take over it on thursday, if it is a mojarra bug then yes it needs to be filed on the mojarra side not on the myfaces side. MyFaces seems to follow the spec here, Mojarra not! I will unassign me from this bug then, feel free to close it! was (Author: werpu): I I just checked the comments on this one, wanted to take over it on thursday, if it is a mojarra bug then yes it needs to be filed on the mojarra side not on the myfaces side. MyFaces seems to follow the spec here, Mojarra not! > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Assignee: Werner Punz >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852185#comment-17852185 ] Melloware commented on MYFACES-4669: OK its a Mojarra bug should we close this Myfaces bug? > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Assignee: Werner Punz >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852172#comment-17852172 ] Volodymyr Siedlecki edited comment on MYFACES-4669 at 6/4/24 7:35 PM: -- I reported a similar problem here: [https://github.com/jakartaee/faces/issues/1796] MyFaces will need to NOT escape the XML. I think this is a spec bug? Code to set escape to false: https://github.com/apache/myfaces/blob/1b8695232fdf601cad043e45be570da89a4e65b3/integration-tests/automaticExtensionlessMapping/src/main/java/org/apache/myfaces/core/integrationtests/ProgrammaticViewBean.java#L59C1-L62C34 was (Author: volosied): I reported a similar problem here: [https://github.com/jakartaee/faces/issues/1796] MyFaces will need to escape the XML. I think this is a spec bug. > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Assignee: Werner Punz >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852172#comment-17852172 ] Volodymyr Siedlecki commented on MYFACES-4669: -- I reported a similar problem here: [https://github.com/jakartaee/faces/issues/1796] MyFaces will need to escape the XML. I think this is a spec bug. > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Assignee: Werner Punz >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4670) [Invalid] Cannot Uncheck CheckBox (MYFACES-4606 Regression)
[ https://issues.apache.org/jira/browse/MYFACES-4670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852162#comment-17852162 ] Werner Punz commented on MYFACES-4670: -- Great thanks for the update, as for the other issue assigned to me, I will start to work on it on thursday, wont have time before! > [Invalid] Cannot Uncheck CheckBox (MYFACES-4606 Regression) > > > Key: MYFACES-4670 > URL: https://issues.apache.org/jira/browse/MYFACES-4670 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.0 >Reporter: Volodymyr Siedlecki >Priority: Minor > Attachments: checkbox.war > > > You cannot uncheck a checkbox after it is selected. App is attached. It > looks like a regression from MYFACES-4606. MyFaces 3.0/2.3 look fine and only > 4.0 seems to be affected here. > Form Data is found below: > Working (3.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Second >>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Failing (4.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box"{code} > Second >>>>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1:box "true"{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4670) Cannot Uncheck CheckBox (MYFACES-4606 Regression)
[ https://issues.apache.org/jira/browse/MYFACES-4670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852156#comment-17852156 ] Volodymyr Siedlecki commented on MYFACES-4670: -- Turns out this is fixed in the latest code. My changes didn't include https://issues.apache.org/jira/browse/MYFACES-4658. > Cannot Uncheck CheckBox (MYFACES-4606 Regression) > - > > Key: MYFACES-4670 > URL: https://issues.apache.org/jira/browse/MYFACES-4670 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.0 >Reporter: Volodymyr Siedlecki >Priority: Major > Attachments: checkbox.war > > > You cannot uncheck a checkbox after it is selected. App is attached. It > looks like a regression from MYFACES-4606. MyFaces 3.0/2.3 look fine and only > 4.0 seems to be affected here. > Form Data is found below: > Working (3.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Second >>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Failing (4.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box"{code} > Second >>>>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1:box "true"{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MYFACES-4670) Cannot Uncheck CheckBox (MYFACES-4606 Regression)
[ https://issues.apache.org/jira/browse/MYFACES-4670?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Volodymyr Siedlecki resolved MYFACES-4670. -- Resolution: Invalid > Cannot Uncheck CheckBox (MYFACES-4606 Regression) > - > > Key: MYFACES-4670 > URL: https://issues.apache.org/jira/browse/MYFACES-4670 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.0 >Reporter: Volodymyr Siedlecki >Priority: Major > Attachments: checkbox.war > > > You cannot uncheck a checkbox after it is selected. App is attached. It > looks like a regression from MYFACES-4606. MyFaces 3.0/2.3 look fine and only > 4.0 seems to be affected here. > Form Data is found below: > Working (3.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Second >>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Failing (4.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box"{code} > Second >>>>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1:box "true"{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (MYFACES-4670) Cannot Uncheck CheckBox (MYFACES-4606 Regression)
[ https://issues.apache.org/jira/browse/MYFACES-4670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852146#comment-17852146 ] Volodymyr Siedlecki edited comment on MYFACES-4670 at 6/4/24 6:24 PM: -- Looks like the extra form1:box true is the problem? Code: https://github.com/apache/myfaces/blob/4.0.x/api/src/client/typescript/faces/impl/xhrCore/XhrRequest.ts#L419-L422 was (Author: volosied): Looks like the extra form1:box true is the problem? > Cannot Uncheck CheckBox (MYFACES-4606 Regression) > - > > Key: MYFACES-4670 > URL: https://issues.apache.org/jira/browse/MYFACES-4670 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.0 >Reporter: Volodymyr Siedlecki >Priority: Major > Attachments: checkbox.war > > > You cannot uncheck a checkbox after it is selected. App is attached. It > looks like a regression from MYFACES-4606. MyFaces 3.0/2.3 look fine and only > 4.0 seems to be affected here. > Form Data is found below: > Working (3.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Second >>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Failing (4.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box"{code} > Second >>>>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1:box "true"{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (MYFACES-4670) Cannot Uncheck CheckBox (MYFACES-4606 Regression)
[ https://issues.apache.org/jira/browse/MYFACES-4670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852146#comment-17852146 ] Volodymyr Siedlecki edited comment on MYFACES-4670 at 6/4/24 6:24 PM: -- Looks like the extra "form1:box true" is the problem? Added here: [https://github.com/apache/myfaces/blob/4.0.x/api/src/client/typescript/faces/impl/xhrCore/XhrRequest.ts#L419-L422] was (Author: volosied): Looks like the extra form1:box true is the problem? Code: https://github.com/apache/myfaces/blob/4.0.x/api/src/client/typescript/faces/impl/xhrCore/XhrRequest.ts#L419-L422 > Cannot Uncheck CheckBox (MYFACES-4606 Regression) > - > > Key: MYFACES-4670 > URL: https://issues.apache.org/jira/browse/MYFACES-4670 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.0 >Reporter: Volodymyr Siedlecki >Priority: Major > Attachments: checkbox.war > > > You cannot uncheck a checkbox after it is selected. App is attached. It > looks like a regression from MYFACES-4606. MyFaces 3.0/2.3 look fine and only > 4.0 seems to be affected here. > Form Data is found below: > Working (3.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Second >>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Failing (4.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box"{code} > Second >>>>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1:box "true"{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4670) Cannot Uncheck CheckBox (MYFACES-4606 Regression)
[ https://issues.apache.org/jira/browse/MYFACES-4670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852146#comment-17852146 ] Volodymyr Siedlecki commented on MYFACES-4670: -- Looks like the extra form1:box true is the problem? > Cannot Uncheck CheckBox (MYFACES-4606 Regression) > - > > Key: MYFACES-4670 > URL: https://issues.apache.org/jira/browse/MYFACES-4670 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.0 >Reporter: Volodymyr Siedlecki >Priority: Major > Attachments: checkbox.war > > > You cannot uncheck a checkbox after it is selected. App is attached. It > looks like a regression from MYFACES-4606. MyFaces 3.0/2.3 look fine and only > 4.0 seems to be affected here. > Form Data is found below: > Working (3.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Second >>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Failing (4.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box"{code} > Second >>>>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1:box "true"{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4670) Cannot Uncheck CheckBox (MYFACES-4606 Regression)
[ https://issues.apache.org/jira/browse/MYFACES-4670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17852144#comment-17852144 ] Volodymyr Siedlecki commented on MYFACES-4670: -- [~werpu] Could you take a look? > Cannot Uncheck CheckBox (MYFACES-4606 Regression) > - > > Key: MYFACES-4670 > URL: https://issues.apache.org/jira/browse/MYFACES-4670 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.0.0 >Reporter: Volodymyr Siedlecki >Priority: Major > Attachments: checkbox.war > > > You cannot uncheck a checkbox after it is selected. App is attached. It > looks like a regression from MYFACES-4606. MyFaces 3.0 looks fine and only > 4.0 seems to be affected here. > Form Data is found below: > Working (3.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Second >>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1 "form1"{code} > Failing (4.0): > First Request >>>> > {code:java} > form1:box "true" > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box"{code} > Second >>>>> > {code:java} > form1_SUBMIT "1" > jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" > jakarta.faces.behavior.event "change" > jakarta.faces.partial.event "change" > jakarta.faces.source "form1:box" > jakarta.faces.partial.ajax "true" > form1 "form1" > jakarta.faces.partial.execute "form1:box" > jakarta.faces.partial.render "form1:box" > form1:box "true"{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MYFACES-4670) Cannot Uncheck CheckBox (MYFACES-4606 Regression)
Volodymyr Siedlecki created MYFACES-4670: Summary: Cannot Uncheck CheckBox (MYFACES-4606 Regression) Key: MYFACES-4670 URL: https://issues.apache.org/jira/browse/MYFACES-4670 Project: MyFaces Core Issue Type: Bug Affects Versions: 4.0.0 Reporter: Volodymyr Siedlecki You cannot uncheck a checkbox after it is selected. App is attached. It looks like a regression from MYFACES-4606. MyFaces 3.0 looks fine and only 4.0 seems to be affected here. Form Data is found below: Working (3.0): First Request >>>> {code:java} form1:box "true" form1_SUBMIT "1" jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" jakarta.faces.behavior.event "change" jakarta.faces.partial.event "change" jakarta.faces.source "form1:box" jakarta.faces.partial.ajax "true" jakarta.faces.partial.execute "form1:box" jakarta.faces.partial.render "form1:box" form1 "form1"{code} Second >>> {code:java} form1_SUBMIT "1" jakarta.faces.ViewState "ODcyODU5ZDg0NDRmZmZmMzAwMDAwMDAx" jakarta.faces.behavior.event "change" jakarta.faces.partial.event "change" jakarta.faces.source "form1:box" jakarta.faces.partial.ajax "true" jakarta.faces.partial.execute "form1:box" jakarta.faces.partial.render "form1:box" form1 "form1"{code} Failing (4.0): First Request >>>> {code:java} form1:box "true" form1_SUBMIT "1" jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" jakarta.faces.behavior.event "change" jakarta.faces.partial.event "change" jakarta.faces.source "form1:box" jakarta.faces.partial.ajax "true" form1 "form1" jakarta.faces.partial.execute "form1:box" jakarta.faces.partial.render "form1:box"{code} Second >>>>> {code:java} form1_SUBMIT "1" jakarta.faces.ViewState "MDJmNTEzOWQ0NDFlZDVlYjAwMDAwMDAx" jakarta.faces.behavior.event "change" jakarta.faces.partial.event "change" jakarta.faces.source "form1:box" jakarta.faces.partial.ajax "true" form1 "form1" jakarta.faces.partial.execute "form1:box" jakarta.faces.partial.render "form1:box" form1:box "true"{code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (TOBAGO-2320) tc:popup throws PropertyNotWriteableException
[ https://issues.apache.org/jira/browse/TOBAGO-2320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17851958#comment-17851958 ] Carsten Dimmek commented on TOBAGO-2320: {code:java} org.apache.myfaces.view.facelets.el.ContextAwarePropertyNotWritableException: jakarta.el.PropertyNotWritableException: Illegal Syntax for Set Operation at org.apache.myfaces.view.facelets.el.ContextAwareTagValueExpression.setValue(ContextAwareTagValueExpression.java:162) ~[myfaces-impl-4.0.1.jar:4.0.1] at org.apache.myfaces.tobago.internal.component.AbstractUICollapsiblePanel.processState(AbstractUICollapsiblePanel.java:107) ~[tobago-core-6.4.0.jar:6.4.0] at org.apache.myfaces.tobago.internal.component.AbstractUIPopup.processUpdates(AbstractUIPopup.java:35) ~[tobago-core-6.4.0.jar:6.4.0] at org.apache.myfaces.tobago.internal.component.AbstractUIFormBase.processUpdates(AbstractUIFormBase.java:98) ~[tobago-core-6.4.0.jar:6.4.0] at jakarta.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1427) ~[myfaces-api-4.0.1.jar:4.0.1] at jakarta.faces.component.UIViewRoot._processUpdatesDefault(UIViewRoot.java:1741) ~[myfaces-api-4.0.1.jar:4.0.1] at jakarta.faces.component.UIViewRoot$UpdateModelPhaseProcessor.process(UIViewRoot.java:1881) ~[myfaces-api-4.0.1.jar:4.0.1] at jakarta.faces.component.UIViewRoot._process(UIViewRoot.java:1702) ~[myfaces-api-4.0.1.jar:4.0.1] at jakarta.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:967) ~[myfaces-api-4.0.1.jar:4.0.1] at org.apache.myfaces.lifecycle.UpdateModelValuesExecutor.execute(UpdateModelValuesExecutor.java:39) ~[myfaces-impl-4.0.1.jar:4.0.1] at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:172) ~[myfaces-impl-4.0.1.jar:4.0.1] at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:125) ~[myfaces-impl-4.0.1.jar:4.0.1] at jakarta.faces.webapp.FacesServlet.service(FacesServlet.java:223) ~[myfaces-api-4.0.1.jar:4.0.1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.19.jar:10.1.19] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.19.jar:10.1.19] {code} > tc:popup throws PropertyNotWriteableException > - > > Key: TOBAGO-2320 > URL: https://issues.apache.org/jira/browse/TOBAGO-2320 > Project: MyFaces Tobago > Issue Type: Bug > Components: Core >Affects Versions: 6.4.0 >Reporter: Carsten Dimmek >Priority: Major > > When a more complex value expression is set for the collapsed attribute a > PropertyNotWriteableException is thrown > {code:java} > /> {code} > -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2320) tc:popup throws PropertyNotWriteableException
Carsten Dimmek created TOBAGO-2320: -- Summary: tc:popup throws PropertyNotWriteableException Key: TOBAGO-2320 URL: https://issues.apache.org/jira/browse/TOBAGO-2320 Project: MyFaces Tobago Issue Type: Bug Components: Core Affects Versions: 6.4.0 Reporter: Carsten Dimmek When a more complex value expression is set for the collapsed attribute a PropertyNotWriteableException is thrown {code:java} {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2319) Wrong element focused after leaving dropdown menu
Henning Nöth created TOBAGO-2319: Summary: Wrong element focused after leaving dropdown menu Key: TOBAGO-2319 URL: https://issues.apache.org/jira/browse/TOBAGO-2319 Project: MyFaces Tobago Issue Type: Bug Components: JavaScript, Themes Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth If a dropdown menu is left with the TAB key, the next focusable element should be focused. But currently, the focus is on the first focusabled element on the page. This is probably, because the dropdown menu is put into the tobago-menuStore. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17850692#comment-17850692 ] Melloware commented on MYFACES-4669: What it seems to come down to is this. {code:java} var htmlTag = new UIOutput(); htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); rootChildren.add(htmlTag); {code} MyFaces escapes that but Mojarra just renders it exactly to browser. I don't know what the Faces spec says about this > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Assignee: Werner Punz >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17850384#comment-17850384 ] Melloware commented on MYFACES-4669: OK part of the issue I fixed the DOCTYPE by changing to this... {code:java} var htmlDoctype = new HtmlDoctype(); htmlDoctype.setRootElement("html"); rootChildren.add(htmlDoctype); {code} BUt I still don't see any way to add an "html" tag element that isn't escaped? > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Assignee: Werner Punz >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (TOBAGO-2312) Select2: component with duplicate id exception
[ https://issues.apache.org/jira/browse/TOBAGO-2312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Henning Nöth resolved TOBAGO-2312. -- Fix Version/s: 2.5.2 Resolution: Fixed > Select2: component with duplicate id exception > -- > > Key: TOBAGO-2312 > URL: https://issues.apache.org/jira/browse/TOBAGO-2312 > Project: MyFaces Tobago > Issue Type: Bug > Components: Core >Affects Versions: 2.5.1 >Reporter: Henning Nöth >Assignee: Henning Nöth >Priority: Major > Fix For: 2.5.2 > > > If using MyFaces 2.0.16 or lower, the usage of the selectOneChoice and > selectManyBox component may lead to a "component with duplicate id" exception. > This is related to the select2 implementation. > The issue can be reproduced in the Tobago select/select2 demo. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Comment Edited] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17850259#comment-17850259 ] Werner Punz edited comment on MYFACES-4669 at 5/29/24 5:44 AM: --- I will have a look the next few days, lets see what I can find out! Have assigned it temporarily to me, so that it does not get lost on me! was (Author: werpu): I will have a look the next few days, lets see what I can find out! > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Assignee: Werner Punz >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
[ https://issues.apache.org/jira/browse/MYFACES-4669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17850259#comment-17850259 ] Werner Punz commented on MYFACES-4669: -- I will have a look the next few days, lets see what I can find out! > Programmatic Facelet Not Rendering Correctly > > > Key: MYFACES-4669 > URL: https://issues.apache.org/jira/browse/MYFACES-4669 > Project: MyFaces Core > Issue Type: Bug > Components: General >Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 >Reporter: Melloware >Assignee: Werner Punz >Priority: Major > Attachments: image-2024-05-28-17-42-16-539.png, > image-2024-05-28-17-43-37-052.png, programmatic_view.zip > > > Attached is an example: > Run > {code:java} > mvn clean jetty:run -Pmojarra40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders correctly. > !image-2024-05-28-17-42-16-539.png! > > Run > {code:java} > mvn clean jetty:run -Pmyfaces40{code} > and navigate to [http://localhost:8080/facelet.xhtml] you will see the > programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this > looks like more double escaping for XML? > !image-2024-05-28-17-43-37-052.png! > {code:java} > package org.apache.myfaces.core.extensions.quarkus.showcase.view; > import jakarta.enterprise.context.ApplicationScoped; > import jakarta.faces.annotation.View; > import jakarta.faces.application.StateManager; > import jakarta.faces.component.UIComponent; > import jakarta.faces.component.UIOutput; > import jakarta.faces.component.html.HtmlBody; > import jakarta.faces.component.html.HtmlCommandButton; > import jakarta.faces.component.html.HtmlForm; > import jakarta.faces.component.html.HtmlOutputText; > import jakarta.faces.context.FacesContext; > import jakarta.faces.view.facelets.Facelet; > @View("/facelet.xhtml") > @ApplicationScoped > public class FaceletView extends Facelet > { > @Override > public void apply(FacesContext facesContext, UIComponent parent) > { > if > (!facesContext.getAttributes().containsKey(StateManager.IS_BUILDING_INITIAL_STATE)) > { > return; > } > var components = new ComponentBuilder(facesContext); > var rootChildren = parent.getChildren(); > var doctype = new UIOutput(); > doctype.setValue(""); > rootChildren.add(doctype); > var htmlTag = new UIOutput(); > htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); > rootChildren.add(htmlTag); > HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); > rootChildren.add(body); > HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); > form.setId("form"); > body.getChildren().add(form); > HtmlOutputText message = > components.create(HtmlOutputText.COMPONENT_TYPE); > message.setId("message"); > HtmlCommandButton actionButton = > components.create(HtmlCommandButton.COMPONENT_TYPE); > actionButton.setId("button"); > actionButton.addActionListener( > e -> message.setValue("Hello, World! Welcome to Faces 4.0 on > Jakarta EE 10")); > actionButton.setValue("Greet"); > form.getChildren().add(actionButton); > parent.getChildren().add(message); > htmlTag = new UIOutput(); > htmlTag.setValue(""); > rootChildren.add(htmlTag); > } > private static class ComponentBuilder > { > FacesContext facesContext; > ComponentBuilder(FacesContext facesContext) > { > this.facesContext = facesContext; > } > @SuppressWarnings("unchecked") > T create(String componentType) > { > try > { > return (T) > facesContext.getApplication().createComponent(componentType); > } > catch (ClassCastException e) > { > throw new IllegalArgumentException("Component type " + > componentType + " is not valid.", e); > } > } > } > } > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MYFACES-4669) Programmatic Facelet Not Rendering Correctly
Melloware created MYFACES-4669: -- Summary: Programmatic Facelet Not Rendering Correctly Key: MYFACES-4669 URL: https://issues.apache.org/jira/browse/MYFACES-4669 Project: MyFaces Core Issue Type: Bug Components: General Affects Versions: 4.0.2, 5.0.0, 4.1.0-RC3 Reporter: Melloware Attachments: image-2024-05-28-17-42-16-539.png, image-2024-05-28-17-43-37-052.png, programmatic_view.zip Attached is an example: Run `mvn clean jetty:run -Pmojarra40` and you will see the programmatic view renders correctly. !image-2024-05-28-17-42-16-539.png! Run `mvn clean jetty:run -Pmyfaces40` and you will see the programmatic view renders incorrectly with ESCAPED HTML tags. [~werpu] this looks like more double escaping for XML? !image-2024-05-28-17-43-37-052.png! -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MYFACES-4668) Quarkus: Programmatic Views not working
Melloware created MYFACES-4668: -- Summary: Quarkus: Programmatic Views not working Key: MYFACES-4668 URL: https://issues.apache.org/jira/browse/MYFACES-4668 Project: MyFaces Core Issue Type: Bug Components: Extension Feature Affects Versions: 4.1.0-RC1, 4.0.2, 5.0.0 Reporter: Melloware Original report: [https://github.com/melloware/quarkus-faces/issues/444] I tried to add a programmatic view with the `@View` annotation, but when I access http://localhost:8080/facelet.xhml it returns 404 {code:java} @View("/facelet.xhtml") @ApplicationScoped public class FaceletView extends Facelet { @Override public void apply(FacesContext facesContext, UIComponent parent) { if (!facesContext.getAttributes().containsKey(IS_BUILDING_INITIAL_STATE)) { return; } var components = new ComponentBuilder(facesContext); var rootChildren = parent.getChildren(); var doctype = new UIOutput(); doctype.setValue(""); rootChildren.add(doctype); var htmlTag = new UIOutput(); htmlTag.setValue("http://www.w3.org/1999/xhtml\;>"); rootChildren.add(htmlTag); HtmlBody body = components.create(HtmlBody.COMPONENT_TYPE); rootChildren.add(body); HtmlForm form = components.create(HtmlForm.COMPONENT_TYPE); form.setId("form"); body.getChildren().add(form); HtmlOutputText message = components.create(HtmlOutputText.COMPONENT_TYPE); message.setId("message"); HtmlCommandButton actionButton = components.create(HtmlCommandButton.COMPONENT_TYPE); actionButton.setId("button"); actionButton.addActionListener( e -> message.setValue("Hello, World! Welcome to Faces 4.0 on Jakarta EE 10")); actionButton.setValue("Greet"); form.getChildren().add(actionButton); parent.getChildren().add(message); htmlTag = new UIOutput(); htmlTag.setValue(""); rootChildren.add(htmlTag); } private static class ComponentBuilder { FacesContext facesContext; ComponentBuilder(FacesContext facesContext) { this.facesContext = facesContext; } @SuppressWarnings("unchecked") T create(String componentType) { return (T) facesContext.getApplication().createComponent(facesContext, componentType, null); } } } {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (TOBAGO-2318) tc:event stopPropagation attribute
[ https://issues.apache.org/jira/browse/TOBAGO-2318?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Henning Nöth resolved TOBAGO-2318. -- Fix Version/s: 5.12.1 6.4.1 Resolution: Fixed > tc:event stopPropagation attribute > -- > > Key: TOBAGO-2318 > URL: https://issues.apache.org/jira/browse/TOBAGO-2318 > Project: MyFaces Tobago > Issue Type: New Feature > Components: Core, JavaScript >Affects Versions: 5.12.0, 6.4.0 >Reporter: Henning Nöth >Assignee: Henning Nöth >Priority: Major > Fix For: 5.12.1, 6.4.1 > > > Implement a stopPropagation attribute for tc:event to prevent JavaScript > event from bubbling up. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2318) tc:event stopPropagation attribute
Henning Nöth created TOBAGO-2318: Summary: tc:event stopPropagation attribute Key: TOBAGO-2318 URL: https://issues.apache.org/jira/browse/TOBAGO-2318 Project: MyFaces Tobago Issue Type: New Feature Components: Core, JavaScript Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth Implement a stopPropagation attribute for tc:event to prevent JavaScript event from bubbling up. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2317) SelectOneList, SelectManyList: localMenu attribute
Henning Nöth created TOBAGO-2317: Summary: SelectOneList, SelectManyList: localMenu attribute Key: TOBAGO-2317 URL: https://issues.apache.org/jira/browse/TOBAGO-2317 Project: MyFaces Tobago Issue Type: New Feature Components: Core, JavaScript Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth Implement a localMenu attribute according to tc:suggest. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2316) Dropdown forms
Henning Nöth created TOBAGO-2316: Summary: Dropdown forms Key: TOBAGO-2316 URL: https://issues.apache.org/jira/browse/TOBAGO-2316 Project: MyFaces Tobago Issue Type: New Feature Components: Core, JavaScript Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth Implement dropdown forms. It's like a dropdown menu, but instead of a menu item, there is a panel which can contain any content. https://getbootstrap.com/docs/5.3/components/dropdowns/?#forms An implementation might be: {code:xml} my content {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (TOBAGO-2314) SelectOneList, SelectManyList: dropdown menu is not removed after ajax reload
[ https://issues.apache.org/jira/browse/TOBAGO-2314?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Henning Nöth resolved TOBAGO-2314. -- Fix Version/s: 5.12.1 6.4.1 Resolution: Fixed > SelectOneList, SelectManyList: dropdown menu is not removed after ajax reload > - > > Key: TOBAGO-2314 > URL: https://issues.apache.org/jira/browse/TOBAGO-2314 > Project: MyFaces Tobago > Issue Type: Bug > Components: Core, JavaScript >Affects Versions: 5.12.0, 6.4.0 >Reporter: Henning Nöth >Assignee: Henning Nöth >Priority: Major > Fix For: 5.12.1, 6.4.1 > > > If a dropdown menu is opened and an ajax change event rerender the > selectOneList/selectManyList component, the dropdown menu within the > tobago-page-menuStore is not removed properly. > {code:xml} > value="#{selectOneListController.selectedPlanet}"> > var="planet" itemLabel="#{planet.name}" > itemValue="#{planet}"/> > > >value="#{selectOneListController.selectedPlanet}"/> > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2315) Sheet column: button in bar-facet triggers sort
Henning Nöth created TOBAGO-2315: Summary: Sheet column: button in bar-facet triggers sort Key: TOBAGO-2315 URL: https://issues.apache.org/jira/browse/TOBAGO-2315 Project: MyFaces Tobago Issue Type: Bug Components: Core, JavaScript Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4667) UIData#invokeOnComponent does not find components
[ https://issues.apache.org/jira/browse/MYFACES-4667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17848226#comment-17848226 ] SteGr commented on MYFACES-4667: Kind of, yes. Your found issue just mentions the restriction for renderers. But according to BalusC, the spec does not mention the check on {{UIColumn}} for {{{}invokeOnComponent{}}}. So this could be fixed without a spec change. > UIData#invokeOnComponent does not find components > - > > Key: MYFACES-4667 > URL: https://issues.apache.org/jira/browse/MYFACES-4667 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.3.10 >Reporter: SteGr >Priority: Major > > While working an a bug in [mojarra > implementation|https://github.com/eclipse-ee4j/mojarra/issues/5445#issuecomment-2115154280]] > I found an [old primefaces > issue|https://github.com/primefaces/primefaces/issues/9245#issuecomment-2122507698] > which was somehow related to my issue. Using the reproducer of that PF > issue, I was able to really find the root cause of the issue and that even > myfaces is affected - contrary to what was assumed at the time. > > *What happens?* > A {{p:datatable}} with {{p:column*s*}} was updated by the backend using > {{{}PrimeFaces#Ajax#update{}}}. The implementation used > {{UIComponent#invokeOnComponent}} to find the component of the given > clientId. As {{p:dataTable}} relies on {{UIData}} of myfaces, {{p:columns}} > won't be handled. Nothing could be found and {{PrimeFaces#Ajax#update}} falls > back to just forwarding the given clientId. > *Why does it happen?* > Like mojarra, myfaces filters the children on processing using {{{}instanceof > UIColumn{}}}. But {{p:columns}} does not extend that class. Therefore > {{p:columns}} is not a candiate and is simply ignored. > *Possible fix* (not yet tested) > Remove the check. > *How to reproduce* > Use the [reproducer > |https://github.com/primefaces/primefaces/files/9664695/primefaces-test.zip] > and change the PROJECT_STAGE to Development. Run the project using the > myfaces23 profile. You should get a lot of logging entries like > {quote}Mai 21, 2024 2:53:41 PM org.primefaces.PrimeFaces$Ajax update > WARNUNG: PrimeFaces.current().ajax().update() called but component cant be > resolved! Expression will just be added to the renderIds: \{0} > {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4667) UIData#invokeOnComponent does not find components
[ https://issues.apache.org/jira/browse/MYFACES-4667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17848222#comment-17848222 ] Melloware commented on MYFACES-4667: Oh good point it might be! > UIData#invokeOnComponent does not find components > - > > Key: MYFACES-4667 > URL: https://issues.apache.org/jira/browse/MYFACES-4667 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.3.10 >Reporter: SteGr >Priority: Major > > While working an a bug in [mojarra > implementation|https://github.com/eclipse-ee4j/mojarra/issues/5445#issuecomment-2115154280]] > I found an [old primefaces > issue|https://github.com/primefaces/primefaces/issues/9245#issuecomment-2122507698] > which was somehow related to my issue. Using the reproducer of that PF > issue, I was able to really find the root cause of the issue and that even > myfaces is affected - contrary to what was assumed at the time. > > *What happens?* > A {{p:datatable}} with {{p:column*s*}} was updated by the backend using > {{{}PrimeFaces#Ajax#update{}}}. The implementation used > {{UIComponent#invokeOnComponent}} to find the component of the given > clientId. As {{p:dataTable}} relies on {{UIData}} of myfaces, {{p:columns}} > won't be handled. Nothing could be found and {{PrimeFaces#Ajax#update}} falls > back to just forwarding the given clientId. > *Why does it happen?* > Like mojarra, myfaces filters the children on processing using {{{}instanceof > UIColumn{}}}. But {{p:columns}} does not extend that class. Therefore > {{p:columns}} is not a candiate and is simply ignored. > *Possible fix* (not yet tested) > Remove the check. > *How to reproduce* > Use the [reproducer > |https://github.com/primefaces/primefaces/files/9664695/primefaces-test.zip] > and change the PROJECT_STAGE to Development. Run the project using the > myfaces23 profile. You should get a lot of logging entries like > {quote}Mai 21, 2024 2:53:41 PM org.primefaces.PrimeFaces$Ajax update > WARNUNG: PrimeFaces.current().ajax().update() called but component cant be > resolved! Expression will just be added to the renderIds: \{0} > {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4667) UIData#invokeOnComponent does not find components
[ https://issues.apache.org/jira/browse/MYFACES-4667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17848207#comment-17848207 ] Thomas Andraschko commented on MYFACES-4667: isnt it? https://github.com/jakartaee/faces/issues/1905 > UIData#invokeOnComponent does not find components > - > > Key: MYFACES-4667 > URL: https://issues.apache.org/jira/browse/MYFACES-4667 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.3.10 >Reporter: SteGr >Priority: Major > > While working an a bug in [mojarra implementation|#issuecomment-2115154280]] > I found an [old primefaces > issue|https://github.com/primefaces/primefaces/issues/9245#issuecomment-2122507698] > which was somehow related to my issue. Using the reproducer of that PF > issue, I was able to really find the root cause of the issue and that even > myfaces is affected - contrary to what was assumed at the time. > > *What happens?* > A {{p:datatable}} with {{p:column*s*}} was updated by the backend using > {{{}PrimeFaces#Ajax#update{}}}. The implementation used > {{UIComponent#invokeOnComponent}} to find the component of the given > clientId. As {{p:dataTable}} relies on {{UIData}} of myfaces, {{p:columns}} > won't be handled. Nothing could be found and {{PrimeFaces#Ajax#update}} falls > back to just forwarding the given clientId. > *Why does it happen?* > Like mojarra, myfaces filters the children on processing using {{{}instanceof > UIColumn{}}}. But {{p:columns}} does not extend that class. Therefore > {{p:columns}} is not a candiate and is simply ignored. > *Possible fix* (not yet tested) > Remove the check. > *How to reproduce* > Use the [reproducer > |https://github.com/primefaces/primefaces/files/9664695/primefaces-test.zip] > and change the PROJECT_STAGE to Development. Run the project using the > myfaces23 profile. You should get a lot of logging entries like > {quote}Mai 21, 2024 2:53:41 PM org.primefaces.PrimeFaces$Ajax update > WARNUNG: PrimeFaces.current().ajax().update() called but component cant be > resolved! Expression will just be added to the renderIds: \{0} > {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4667) UIData#invokeOnComponent does not find components
[ https://issues.apache.org/jira/browse/MYFACES-4667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17848204#comment-17848204 ] Melloware commented on MYFACES-4667: Mojarra fix: https://github.com/eclipse-ee4j/mojarra/pull/5446 > UIData#invokeOnComponent does not find components > - > > Key: MYFACES-4667 > URL: https://issues.apache.org/jira/browse/MYFACES-4667 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 2.3.10 >Reporter: SteGr >Priority: Major > > While working an a bug in [mojarra implementation|#issuecomment-2115154280]] > I found an [old primefaces > issue|https://github.com/primefaces/primefaces/issues/9245#issuecomment-2122507698] > which was somehow related to my issue. Using the reproducer of that PF > issue, I was able to really find the root cause of the issue and that even > myfaces is affected - contrary to what was assumed at the time. > > *What happens?* > A {{p:datatable}} with {{p:column*s*}} was updated by the backend using > {{{}PrimeFaces#Ajax#update{}}}. The implementation used > {{UIComponent#invokeOnComponent}} to find the component of the given > clientId. As {{p:dataTable}} relies on {{UIData}} of myfaces, {{p:columns}} > won't be handled. Nothing could be found and {{PrimeFaces#Ajax#update}} falls > back to just forwarding the given clientId. > *Why does it happen?* > Like mojarra, myfaces filters the children on processing using {{{}instanceof > UIColumn{}}}. But {{p:columns}} does not extend that class. Therefore > {{p:columns}} is not a candiate and is simply ignored. > *Possible fix* (not yet tested) > Remove the check. > *How to reproduce* > Use the [reproducer > |https://github.com/primefaces/primefaces/files/9664695/primefaces-test.zip] > and change the PROJECT_STAGE to Development. Run the project using the > myfaces23 profile. You should get a lot of logging entries like > {quote}Mai 21, 2024 2:53:41 PM org.primefaces.PrimeFaces$Ajax update > WARNUNG: PrimeFaces.current().ajax().update() called but component cant be > resolved! Expression will just be added to the renderIds: \{0} > {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (MYFACES-4667) UIData#invokeOnComponent does not find components
SteGr created MYFACES-4667: -- Summary: UIData#invokeOnComponent does not find components Key: MYFACES-4667 URL: https://issues.apache.org/jira/browse/MYFACES-4667 Project: MyFaces Core Issue Type: Bug Affects Versions: 2.3.10 Reporter: SteGr While working an a bug in [mojarra implementation|#issuecomment-2115154280]] I found an [old primefaces issue|https://github.com/primefaces/primefaces/issues/9245#issuecomment-2122507698] which was somehow related to my issue. Using the reproducer of that PF issue, I was able to really find the root cause of the issue and that even myfaces is affected - contrary to what was assumed at the time. *What happens?* A {{p:datatable}} with {{p:column*s*}} was updated by the backend using {{{}PrimeFaces#Ajax#update{}}}. The implementation used {{UIComponent#invokeOnComponent}} to find the component of the given clientId. As {{p:dataTable}} relies on {{UIData}} of myfaces, {{p:columns}} won't be handled. Nothing could be found and {{PrimeFaces#Ajax#update}} falls back to just forwarding the given clientId. *Why does it happen?* Like mojarra, myfaces filters the children on processing using {{{}instanceof UIColumn{}}}. But {{p:columns}} does not extend that class. Therefore {{p:columns}} is not a candiate and is simply ignored. *Possible fix* (not yet tested) Remove the check. *How to reproduce* Use the [reproducer |https://github.com/primefaces/primefaces/files/9664695/primefaces-test.zip] and change the PROJECT_STAGE to Development. Run the project using the myfaces23 profile. You should get a lot of logging entries like {quote}Mai 21, 2024 2:53:41 PM org.primefaces.PrimeFaces$Ajax update WARNUNG: PrimeFaces.current().ajax().update() called but component cant be resolved! Expression will just be added to the renderIds: \{0} {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2314) SelectOneList, SelectManyList: dropdown menu is not removed after ajax reload
Henning Nöth created TOBAGO-2314: Summary: SelectOneList, SelectManyList: dropdown menu is not removed after ajax reload Key: TOBAGO-2314 URL: https://issues.apache.org/jira/browse/TOBAGO-2314 Project: MyFaces Tobago Issue Type: Bug Components: Core, JavaScript Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2313) Popover: option for keep popover in foreground
Henning Nöth created TOBAGO-2313: Summary: Popover: option for keep popover in foreground Key: TOBAGO-2313 URL: https://issues.apache.org/jira/browse/TOBAGO-2313 Project: MyFaces Tobago Issue Type: New Feature Components: Core Affects Versions: 6.4.0, 5.12.0 Reporter: Henning Nöth The popover component is closed if button looses focus. Add an option to keep the popover open. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2312) Select2: component with duplicate id exception
Henning Nöth created TOBAGO-2312: Summary: Select2: component with duplicate id exception Key: TOBAGO-2312 URL: https://issues.apache.org/jira/browse/TOBAGO-2312 Project: MyFaces Tobago Issue Type: Bug Components: Core Affects Versions: 2.5.1 Reporter: Henning Nöth If using MyFaces 2.0.16 or lower, the usage of the selectOneChoice and selectManyBox component may lead to a "component with duplicate id" exception. This is related to the select2 implementation. The issue can be reproduced in the Tobago select/select2 demo. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (TOBAGO-2311) SelectOneList/selectManyList: gray out disabled items
Henning Nöth created TOBAGO-2311: Summary: SelectOneList/selectManyList: gray out disabled items Key: TOBAGO-2311 URL: https://issues.apache.org/jira/browse/TOBAGO-2311 Project: MyFaces Tobago Issue Type: Bug Components: Themes Affects Versions: 6.3.0, 5.11.0 Reporter: Henning Nöth Disabled items have no other color. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4654) Investigate Jakarta Schema Xsd Files Updates for 4.1
[ https://issues.apache.org/jira/browse/MYFACES-4654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17845038#comment-17845038 ] Volodymyr Siedlecki commented on MYFACES-4654: -- Looks like only bean.xml is final. This Jira may be pushed back into a further release. > Investigate Jakarta Schema Xsd Files Updates for 4.1 > > > Key: MYFACES-4654 > URL: https://issues.apache.org/jira/browse/MYFACES-4654 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.1.0-RC1 >Reporter: Volodymyr Siedlecki >Priority: Major > Fix For: 4.1.0-RC3 > > > Not sure if we need any updates, but we should look into it. > [https://github.com/apache/myfaces/tree/4.1.x/impl/src/main/resources/org/apache/myfaces/resource] > > It doesn't look like any changes changed for 4.0 (maybe should have?) > I don't see any updates for EE11: > [https://jakarta.ee/xml/ns/jakartaee/] -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (MYFACES-4665) @BeforeDestroyed Not Implemented for 4.1
[ https://issues.apache.org/jira/browse/MYFACES-4665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Volodymyr Siedlecki resolved MYFACES-4665. -- Resolution: Fixed > @BeforeDestroyed Not Implemented for 4.1 > > > Key: MYFACES-4665 > URL: https://issues.apache.org/jira/browse/MYFACES-4665 > Project: MyFaces Core > Issue Type: Bug >Affects Versions: 4.1.0-RC2 >Reporter: Volodymyr Siedlecki >Assignee: Volodymyr Siedlecki >Priority: Major > > @Initialized and @Destroyed were completed in MYFACES-4506 but not for > @BeforeDestroyed. -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Resolved] (TOBAGO-2307) Lazy sheet does not fetch entries when using column panel
[ https://issues.apache.org/jira/browse/TOBAGO-2307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Henning Nöth resolved TOBAGO-2307. -- Fix Version/s: 5.12.0 6.4.0 Resolution: Fixed > Lazy sheet does not fetch entries when using column panel > - > > Key: TOBAGO-2307 > URL: https://issues.apache.org/jira/browse/TOBAGO-2307 > Project: MyFaces Tobago > Issue Type: Bug > Components: Core >Affects Versions: 5.11.0, 6.3.0 >Reporter: Marcus Kroeger >Assignee: Henning Nöth >Priority: Major > Fix For: 5.12.0, 6.4.0 > > > When using a column panel within the sheet, the lazy loading does not fetch > entries -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Commented] (MYFACES-4666) ClassUtils.simpleClassForName Throws ClassNotFoundException
[ https://issues.apache.org/jira/browse/MYFACES-4666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17844695#comment-17844695 ] Volodymyr Siedlecki commented on MYFACES-4666: -- This problem occurred in our OSGI environment with an absence of the web.xml (servlet looks to be added dynamically), and we have a fix (add the class to the thread context loader) . But I agree – let's keep it in. > ClassUtils.simpleClassForName Throws ClassNotFoundException > --- > > Key: MYFACES-4666 > URL: https://issues.apache.org/jira/browse/MYFACES-4666 > Project: MyFaces Core > Issue Type: Improvement >Affects Versions: 4.1.0-RC1 >Reporter: Volodymyr Siedlecki >Priority: Trivial > > We noticed a new exception in Faces 4.1: > {code:java} > jakarta.faces.FacesException: java.lang.ClassNotFoundException: XXX > at > org.apache.myfaces.util.lang.ClassUtils.simpleClassForName(ClassUtils.java:265) > at > org.apache.myfaces.application.FacesServletMappingUtils.isFacesServlet(FacesServletMappingUtils.java:177) > at > org.apache.myfaces.webapp.MyFacesContainerInitializer.checkForFacesServlet(MyFacesContainerInitializer.java:330) > at > org.apache.myfaces.webapp.MyFacesContainerInitializer.onStartup(MyFacesContainerInitializer.java:143){code} > This did not occur in 4.0. It only introduced with this change: > [https://github.com/apache/myfaces/commit/e7d8521ee9214ff1dce24ed6fc2b8627e6461213#diff-67a433d1677376ea6270fd619b75ff47cb51a57f6ca067aef0077ff202c4eacdR177] > true is now passed into simpleClassForName which throws the exception: > [https://github.com/apache/myfaces/blob/2fa694a96f8c734a15ab4a46ad87ac52b1101b2a/impl/src/main/java/org/apache/myfaces/util/lang/ClassUtils.java#L253] > Was this intentional for any specific scenario? Is an exception appropriate > here? We didn't have this before, so I'm wondering if this is needed in 4.1? > Thanks! -- This message was sent by Atlassian Jira (v8.20.10#820010)