Hi, this mail made me laugh, because I can tell very similar stories with different examples. (Not sure if :) or :( )
On the positive side, I think we got a lot better since then by both, fixing broken designs and code, and also applying learned lessons to new sub-systems. Best regards Thomas Am 20.10.2014 12:54, schrieb Gabriele Svelto: > On 17/10/2014 00:32, Nicholas Nethercote wrote: >> Thanks for the replies so far! I deliberately left this question vague >> to see what kind of responses people would give. But mostly I'm >> interested in code whose awfulness impacts users in a serious way. >> Ones where refactoring/rewriting efforts would be valuable. That >> excludes code that no longer exists :) > > A lot of early FxOS code both in gecko and gaia was hacked together in > no time during caffeine-fueled work weeks by jet-lagged developers. Some > of it was cleaned up but some is still with us, mostly in gaia I'd say, > where it often does have an impact on end users. A few things that come > to mind: > > - In some applications transitions between a panel or a similar UI state > are not atomic so if you tap fast enough funny things happen. > > - We often store application data in the DOM again making for funny bugs > when we update the DOM asynchronously while the user is interacting with > the application. > > - I'm not really sure all of our IndexedDB uses are doing transactions > properly. We had (and possibly still have) multiple places where we were > doing things that should have been atomic in different transactions > (because of async_storage.js for example) and we assumed that a > transaction succeeded if the last request succeeded (but not the > transaction itself). > > - Dual-SIM support is still partially done. Some things work, some > things kinda work, some things don't work at all (e.g. use SIMs from two > different countries and only the first one's country prefix will be > recognized correctly when matching numbers). > > - Last but not least issues in horribly buggy Android binary blobs were > worked around in gecko, some of those workarounds ended up being > duplicated in different pieces of code as refactorings came and went, e.g.: > > http://dxr.mozilla.org/mozilla-central/source/gfx/layers/RotatedBuffer.cpp#403 > http://dxr.mozilla.org/mozilla-central/source/gfx/layers/client/TextureClient.cpp#226 > > I know we blacklist drivers on desktops too; what makes this worse is > that we can't ask users to update their drivers on their phones and > these horrors keep creeping into our codebase and we don't know when > we'll be able to get rid of them (or if we'll remember all the places we > put them in). > > Gabriele > > > > _______________________________________________ > dev-platform mailing list > dev-platform@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform > _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform