TheCoder4eu / BootsFaces-OSP

BootsFaces - Open Source Project
Apache License 2.0
247 stars 102 forks source link

Added flag to enable disable IE8 compatibility link #1173

Open almubinsultan opened 3 years ago

almubinsultan commented 3 years ago

hi,

i am trying to deploy multiple application in weblogic 14 and InternalIE8CompatiblityLinks is causing issue with that. I have testing all my applications after disabling this listener and it works perfectly fine.

I have also another request - i am currently using 1.3.0 and have created a branch 1.3.1 - is there any way that can be approved and published in maven public repo ?

Link for version 1.3.1

https://github.com/almubinsultan/BootsFaces-OSP/tree/release-1.3.1

geopossachs commented 3 years ago

Hallo @almubinsultan, in your PR you disable an option and not the polyfill from the IE only. Can you explain more about your bug behind? Are these polyfills the problem?

https://github.com/TheCoder4eu/BootsFaces-OSP/blob/4678f401998430f4386f6c347037c3c3d6a1bdfa/src/main/java/net/bootsfaces/listeners/InternalIE8CompatiblityLinks.java#L61

almubinsultan commented 3 years ago

Hi @geopossachs

For this UIComponent null is being found for name/library in the method renderComponentResources of below class

https://github.com/eclipse-ee4j/mojarra/blob/master/impl/src/main/java/com/sun/faces/context/PartialViewContextImpl.java

Which is ending up generating NullPointer in new Weblogic Version 14 inside the call resourceHandler.getRendererTypeForResourceName(name) . Will provide the stacktrace. Disabling this resolves the issue - Also IE8 being so old and out of support i was thinking making it optional would be good too. As many of applications and mine too we dont support these browsers anymore

java.lang.NullPointerException at weblogic.servlet.internal.WebAppConfigManager.getMimeType(WebAppConfigManager.java:1135) at weblogic.servlet.internal.WebAppServletContext.getMimeType(WebAppServletContext.java:667) at com.sun.faces.context.ExternalContextImpl.getMimeType(ExternalContextImpl.java:790) at com.sun.faces.application.resource.ResourceHandlerImpl.getContentType(ResourceHandlerImpl.java:516) at com.sun.faces.application.resource.ResourceHandlerImpl.getRendererTypeForResourceName(ResourceHandlerImpl.java:227) at javax.faces.application.ResourceHandlerWrapper.getRendererTypeForResourceName(ResourceHandlerWrapper.java:217) at com.sun.faces.context.PartialViewContextImpl.renderComponentResources(PartialViewContextImpl.java:482) at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:314) at org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:57) at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1102) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1647) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:442) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:170) at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:132) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:102) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:76) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:199) at javax.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:708) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:451)

almubinsultan commented 3 years ago

Hi Do you have any update on this one ? Can you please let me know ?

stephanrauh commented 3 years ago

We hope to be able to publish a new bug-fix version in October. And I agree we probably don't need to support IE8 in 2021. :)

almubinsultan commented 3 years ago

Thank you - please let me know if i need to do anything to get this merged and then wait for the bugfix version

almubinsultan commented 2 years ago

Hi - Any plan on merging and releasing the feature - please let me know if i can be of any assistance.

geopossachs commented 2 years ago

I think against the null pointer it should also help if we set the type in the tag to type = "text / javascript"

geopossachs commented 2 years ago

I tried my approach, but it didn't help. The question is why is this null pointer coming?

geopossachs commented 2 years ago

@almubinsultan i tried your approach and disabled the InternalIE8CompatiblityLinks.java, but i also get the same message as before.

With mojarra only a log message is printed if the mime is null https://github.com/eclipse-ee4j/mojarra/blob/master/impl/src/main/java/com/sun/faces/context/ExternalContextImpl.java#L717

almubinsultan commented 2 years ago

Hi - i think this is based on different version of mojarra that this is causing. For my case am getting NPE for IE8 capability inclusion - without it the lib loads fine. the NPE trace

java.lang.NullPointerException at weblogic.servlet.internal.WebAppConfigManager.getMimeType(WebAppConfigManager.java:1135) at weblogic.servlet.internal.WebAppServletContext.getMimeType(WebAppServletContext.java:667) at com.sun.faces.context.ExternalContextImpl.getMimeType(ExternalContextImpl.java:790) at com.sun.faces.application.resource.ResourceHandlerImpl.getContentType(ResourceHandlerImpl.java:516) at

. . .

almubinsultan commented 2 years ago

Hi any update on this? please let me know