Change from 5.2.7.66 to 5.3.2.77 - Display Problem

This code works perfectly in 5.2. In 5.3 the form field contents is buried to the right of the form field and consequently invisible. This content is visible in 5.2.

Function Used

<cffunction name="trimDecimal">
<cfargument name="value">
<cfif Find('.',value)>
<cfreturn REReplace(REReplace(value, "0+$", "", "ALL"), "\.+$", "")>
<cfelse>
<cfreturn value>
</cfif>
</cffunction>

Display Code
<td align="center">
<input name="Qty001" type="text" class="pix13" value="#trimDecimal(Quantity)#" size="8" maxlength=ā€œ8ā€ onfocus=ā€œspecialfocusBG(this)ā€ onblur=ā€œspecialblurBG(this)ā€ onChange="GoodsOutForm.submit();" ></td>

Does anybody recognise a change in 5.3 that could cause this? I canā€™t find anythingā€¦

So, whatā€™s wrong with this output?

Nothing - Itā€™s fineā€¦

I get the figures off to the right so that they are not visible and the change happens when I move from using 5.2 to 5.3ā€¦ Identical code so there must be a difference somewhere in the upgrade!

If I use the delete key (it seems to be removing tabs) in front of the contents they become visible.

do you have debugging enabled?

do now - but canā€™t see any issues - where do I need to look?

oh, I just meant that coz the debugging introduces other css and js into the page, it might interfere with your stuff

Interesting - the debug mode removes borders from table cells!

I raised it on the support forum because I am stumped tooā€¦ Everything else remains the same, except that the lucee engine has moved from 5.2 to 5.3. Iā€™m using express locally but the official build on my remote site and the problem is identicalā€¦

there is an outstanding Pull Request to scope more of the debugging CSS to avoid that problem, but it hasnā€™t been accepted yet (waves to @micstriit)

1 Like

Could there be something in the REReplace that has changed and leaves the leading spaces/tabs using this function?

Sorted the problem - As soon as smart whitespace management is on the problem goes!!

Thanks for your help

Tony

Do you know if it is possible to put the whitespace management into Application.cfc? Otherwise Iā€™m going to need to change the lucee-server.xml file on my remote boxā€¦

not yet (i think) , thatā€™s a good enhancement, wanna file a bug?

I tried this with 5.2 with no whitespace management - It does the same, but there must be differences as a clean build of lucee/lucee52-nginx:latest works and lucee/lucee:53-nginx does not with no correction of any filesā€¦

There was a breaking change in 5.3 which sets the default value of this.bufferOutput to false instead of true. Perhaps this is the cause?

Try adding this.bufferOutput = true; to your application.cfc.

Hi Julian

Tried that - no luckā€¦ I added

<setting allow-compression="true" buffering-output="true" cfml-writer="white-space-pref" content-length="" suppress-content="false" />

to lucee-server.xml just before the final </cfLuceeConfiguration>

And that seemed to sort it outā€¦

You can check the state of code configurable configuration here:
https://lucee.daemonite.io/t/lucee-configuration-options/321

Unfortunately it looks like whitespace management is still outstanding.

Am hopeful that the outstanding config options get cleaned up during our focus on Docker-like builds and deployments. @IamSigmund may be able to confirm.