Perform favicon updates twice in Chrome
See diff for why this arcane magic is needed. Fixes https://github.com/vector-im/riot-web/issues/11347pull/11375/head
							parent
							
								
									c6f62632d8
								
							
						
					
					
						commit
						ec9a38c2fe
					
				|  | @ -85,10 +85,31 @@ export default class VectorBasePlatform extends BasePlatform { | |||
|                 bgColor = "#f00"; | ||||
|             } | ||||
| 
 | ||||
|             this.favicon.badge(notif, { | ||||
|                 bgColor: bgColor, | ||||
|             }); | ||||
|         } catch (e) { | ||||
|             const doUpdate = () => { | ||||
|                 this.favicon.badge(notif, { | ||||
|                     bgColor: bgColor, | ||||
|                 }); | ||||
|             }; | ||||
| 
 | ||||
|             doUpdate(); | ||||
| 
 | ||||
|             // HACK: Workaround for Chrome 78+ and dependency incompatibility.
 | ||||
|             // The library we use doesn't appear to work in Chrome 78, likely due to their
 | ||||
|             // changes surrounding tab behaviour. Tabs went through a bit of a redesign and
 | ||||
|             // restructuring in Chrome 78, so it's not terribly surprising that the library
 | ||||
|             // doesn't work correctly. The library we use hasn't been updated in years and
 | ||||
|             // does not look easy to fix/fork ourselves - we might as well write our own that
 | ||||
|             // doesn't include animation/webcam/etc support. However, that's a bit difficult
 | ||||
|             // so for now we'll just trigger the update twice.
 | ||||
|             //
 | ||||
|             // Note that trying to reproduce the problem in isolation doesn't seem to work:
 | ||||
|             // see https://gist.github.com/turt2live/5ab87919918adbfd7cfb8f1ad10f2409 for
 | ||||
|             // an example (you'll need your own web server to host that).
 | ||||
|             if (!!window.chrome) { | ||||
|                 doUpdate(); | ||||
|             } | ||||
|         } | ||||
|          catch (e) { | ||||
|             console.warn(`Failed to set badge count: ${e.message}`); | ||||
|         } | ||||
|     } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Travis Ralston
						Travis Ralston