Last call for Beta8, please report any critical bugs.

tliebeck's picture

Hello all,

Beta8 is about ready for release. Just wanted to give everyone a heads up given that this release is a greater step forward than usual. If you happen to know of any critical "showstopper" class bugs (or even little annoying ones), please report them ASAP. The current SVN trunk is quite stable, as are the nightly builds:


Although not critical, this

Although not critical, this is one I cannot find a workaround for:

tliebeck's picture

Regrettably there are

Regrettably there are reasons for this madness.

First, text components that have percent widths render their inner size to the percent dimension. So if you set have a 600 pixel wide container and set a text field with a 2px border to 100% width, you wind up with a 604 (600 + 2 + 2) pixel wide text field.

Second, IE has some crazy bugs with regard to text components with percent sizes growing. These are nothing short of completely insane in the typical MSIE fashion. I think this happens with percent-width text components in table elements IIRC.

Here is the crazy code:

    /** @see Echo.Render.ComponentSync#renderDisplay */
    renderDisplay: function() {
        var width = this.component.render("width");
        if (width && Echo.Sync.Extent.isPercent(width) && this.input.parentNode.offsetWidth) {
            // If width is a percentage, reduce rendered percent width based on measured container size and border width,
            // such that border pixels will not make the component wider than specified percentage.
            var border = this.component.render("border");
            var borderSize = Echo.Sync.Border.getPixelSize(this.component.render("border", "2px solid #000000"), "left") +
                    Echo.Sync.Border.getPixelSize(this.component.render("border", "2px solid #000000"), "right") + 1;
            if (Core.Web.Env.BROWSER_INTERNET_EXPLORER) {
                // Add default windows scroll bar width to border size for Internet Explorer browsers.
                if (this.container) {
           = this._adjustPercentWidth(100, Core.Web.Measure.SCROLL_WIDTH, 
                            this.input.parentNode.offsetWidth) + "%";
                } else {
                    borderSize += Core.Web.Measure.SCROLL_WIDTH;
   = this._adjustPercentWidth(parseInt(width, 10), borderSize, 
                    this.input.parentNode.offsetWidth) + "%";

I'd love to make this better, and will try and have a look again.

tliebeck's picture

Have improved things

Have improved things slightly for Firefox...and possibly a tiny bit for IE as well. I still have to leave space for the vertical scrollbar, or we wind up seeing a completely unnecessary horizontal one as well when the vertical appears.