-
Notifications
You must be signed in to change notification settings - Fork 71
Feature/myfaces 4456 - New faces.js codebase (target 4.0.0 RC3) #325
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ES-4456 # Conflicts: # api/src/main/javascript/META-INF/resources/myfaces/_impl/xhrCore/_AjaxUtils.js
|
Nice work on this! Lots to review here but looking good from what I see so far. |
|
Yes I started with it 2019, but given customer projects, covid and months
of rehab due to a spine injury it took longer than expected.
I reviewed my readmes today, and there was the sentence, that I expect a
final version late 2020, oh boy I was wrong.
Just a short explanation to the build process, the code is now entirely
hosted on MyFaces the build dependency for the client less so. But I did
not want to omit the path from the other Github project into MyFaces, since
it contains a self running version and a 2.3 jsf version. So I pull
basically per user command, not build command, the code via an NM package
in and then copy the sources into MyFaces. The rest is a standard NPM
WebPack build with all the needed dependencies triggered via the client
plugin.
The final file then lands directly in the target folder, also the jsdoc
profile still is intact, it is now just not generated by our jsdoc
generators anymore but the WebPack plugin.
(mojarra seems to use the same engine, as it seems, given the html layout
of the jsdoc specs)
I guess apache has already some NPM caches in place, because we are not the
first project to do so.
Also another thing, mapping files now work, but wont work out of the box
given how they are loaded, following trick does it:
<!-- Faces Servlet Mapping -->
<servlet-mapping>
...
<!-- enable the internal map files, we use a marker extension
called mf_ap, the file itself ends with map -->
<!-- if you do not want to enable map files, simply remove this
the line with the mf_map mapping -->
<url-pattern>*.mf_map</url-pattern>
</servlet-mapping>
This adds a special entry which then should load the mapping files, that
way you can debug directly into the ts files if you want to.
Thats the reason, why i was able to kill the 5 different builds for
debugging.
Also if you look at my original Github project where it stems from theoretically we can produce a JSF j2.3 version and Faces 4.0 version from the same sources, there a small shims which reenable JSF 2.3 compatibility.
Werner
|
|
I will test some applications with these changes. I'll post if find anything. Also, I was thinking of merging this after a RC2 release? I sent an email to discuss this. |
|
Sounds absolutely great. |
* MYFACES-4468: Implement f:selectItemGroup * Create test for f:selectItemGroup * Resolve TCK signature failures (Remove Added Fields)
…ing import ranges in manifest
|
Will take care of the checkstyle violation tomorrow, I merged the latest code in from master. |
|
Pull request now back in sync with latest main |
|
Working on it, there was an issue in the new codebase as well. |
nonce handling in the new tests
integrated dom query sources, another fix for the nonce handling
updating from the github upstream project. Fix for an eval regression introduced by our nonce fixes (only the new codebase is affected) integratioin test 5, double eval failed because of it
updating to the latest mona-dish (no fixes but just to be in sync)
# Conflicts: # api/src/main/javascript/META-INF/resources/myfaces/_impl/_util/_Dom.js # api/src/main/javascript/META-INF/resources/myfaces/_impl/core/_EvalHandlers.js # api/src/main/javascript/META-INF/resources/myfaces/_impl/core/_Runtime.js
|
Hi I think both the codebase and the tests are now in a shape that we theoretically can merge. I spent another week on fixes and improvements to the already well working codebase. If possible test the code with the projects you have, given that the code is going into a release candidate. But I do not expect any heavy bugfixes or codechanges anymore (the last big one was the nonce issue, which came in unexpectedly) The same goes for the new improved integration tests, which have also an RC3 target |
…aces_ts update Fixes an obscure safari bug where an xhr interrupted error was issued on a page which already was unloaded and a new page was already loaded. We now have a dedicated xhr cancel behavior which is basically treaded the same way an onCancel is treaded. All tests now pass reliably on all 3 major engines.
…aces_ts update Fixes an obscure safari bug where an xhr interrupted error was issued on a page which already was unloaded and a new page was already loaded. We now have a dedicated xhr cancel behavior which is basically treaded the same way an onCancel is treaded. All tests now pass reliably on all 3 major engines.
Myfaces faces.js reimplementation via typescript for MyFaces 4.0, please review