An idea to get rid of the iframe

Currently, the Hyvor Talk embed renders inside an iframe. The main reason I used an iframe for the embed was to share Hyvor login between websites. For example, when you are logged into Hyvor, you can comment on any website that uses Hyvor Talk without having to log in separately.

However, recently all major browsers started to block third-party cookies. So, sharing the login is not possible. Therefore, there's no use in having the iframe.

And, the iframe introduces a bunch of problems.

  • We have to resize the iframe on every DOM change, which means more CPU is used. Even so, the height is not perfect.

  • The popular jumping problem. Many users have reported the jumping problem when loading real-time comments. We haven't been able to fix this even though we tried several possible solutions. This is because we cannot control the scroll of the parent window based on iframe changes. We have to go through the postMessage API and it is async, so it takes time. Therefore, the jumping issue is still there.

  • The iframe becomes VERY slow when there are thousands of comments loaded.

  • Iframes are slow by nature. Rendering comments directly on the website will be a huge

Here are some problems we will have to solve

  • Possible class name clashes. We'll probably prefix all classes with something like 'ht-'

More possible features:

  • We can make all language strings customizable!

  • No more need of loading fonts separately from CDNs. Fonts can be inherited from your website.

  • Adding custom CSS is easy. You just have to add it to your website.

This will be a BREAKING change. So, my idea is to develop the new version completely separately and then allow users to switch to the new version only if they want.

Happy to know your feedback!

Please authenticate to join the conversation.

Upvoters
Status

Completed

Board

πŸ“ Feedback

Date

Almost 2 years ago

Author

supun

Subscribe to post

Get notified by email when there are changes.