In Safari, it seems like the connectedCallback of the FitAddon is often called before the terminal is fully initialized
This means the element of the terminal is still undefined when the first fit() is triggered, in which case the fit addon will not propose any dimensions.
This can be solved by adding a listener for the terminal-initialized event, and triggering a fit in response to that event.