Safari SVG Sprite Bug fixed

Der Safari SVG Sprite Bug, der mich nun ein paar Wochen verfolgt hat, ist gefixt. Schnell nach bekannt werden des Bugs hatte sich Antti Koivisto der Sache angenommen und einen Fix gebaut, der in den aktuellen Updates von iOS (9.3.2) und Safari für OS X 9.1.1 (11601.6.17) landete, beide Updates sind seit Montag erhältlich. Besucht man mit leerem Cache nun eine Seite mit SVG-Sprite, wird dieses gecached und nicht so oft geladen, wie Icons aus dem Sprite auf der Seite verwendet werden.

safari-svg-sprite-bug-fixed

Notlösung zurückbauen

Es wird wahrscheinlich noch ein wenig dauern, bis wir unsere Notlösung zumindest teilweise wieder zurückbauen können, je nachdem wie schnell sich der Fix verbreitet, da die Seiten aber trotz Bug ja grundsätzlich funktionsfähig bleiben, wird man damit nicht allzu lange warten brauchen. Da wir doch einen sehr fehleranfälligen und komplizierten Herstellungsprozess für die SVG-Sprites hatten, bin ich mir sicher, das wir exakt diesen nicht wieder implementieren werden.

Hektisches Geteste führt zu nüscht…

Gestern habe ich versucht, nach der Rückkehr aus dem Urlaub, mal schnell die Updates zu ziehen und zwischen zwei Terminen den Fix, der mir schon von verschiedenen zugetweetet worden war und die ich schon retweetet hatte.

Um es kurz zu machen, Safari verhält sich beim sogenannten hard reloaden (Tastenkombi CMD-SHIFT-R) immer noch anders als vielleicht Chrome oder Firefox, und lädt in diesem Fall das Sprite mehrmals herunter, aber im Grunde ist das nur richtig, by the word Reload page without cache, also es wird tatsächlich nichts gecached. Das hatte mich ehrlich gesagt zunächst etwas durcheinandergebracht.

Und die Moral von der Geschichte

Ich habe ein paar Dinge gelernt, bei der Sache:

  • Find’s Du einen Bug, brauchst Du einen Testcase… ich hatte im Laufe der Zeit mehrere, einigermaßen brauchbar ist wohl erst der Aktuellste gewesen
  • Hast Du einen Testcase, lass ihn von vielen testen (hat super funktioniert
  • Willst Du einen Bug in Safari gefixt haben, mach Dir nicht die Mühe bei Apple direkt zu fragen, sondern geh ins Webkit-Bugboard
  • Ist ein Bug im Bugboard, einfach mal nachfragen, wann er denn gefixt wird
  • Wenn dann der Fix da ist, Zeit nehmen, ihn zu testen
  • Zeit nutzen um alternative Ansätze zu entwickeln