js source bug