Extension icon indicating copy to clipboard operation
Extension copied to clipboard

Feat: added support for pop-out and embedded chats.

Open tlstommy opened this issue 1 year ago • 3 comments

Proposed changes

When viewing a Twitch chat that is using a Twitch chat embed url (https://www.twitch.tv/embed/<channel>/chat?) or a popout chat url (https://www.twitch.tv/popout/<channel>/chat), the 7TV extension will not load or work because it is only allowed to access top-level windows.

This is a simple fix that enables "all_frames": true in the manifest and then adds checks to see if the current window is a regular top-level window or a chat pop-out or embed.

This solves the following issues: https://github.com/SevenTV/Extension/issues/916 https://github.com/SevenTV/Extension/issues/844 https://github.com/SevenTV/Extension/issues/187

Types of changes

What types of changes does your code introduce to 7TV? Put an x in the boxes that apply

  • [ ] Bugfix (non-breaking change which fixes an issue)
  • [x] New feature (non-breaking change which adds functionality)
  • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • [ ] Documentation Update (if none of the other choices apply)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • [x] I have read the CONTRIBUTING doc
  • [x] Lint and unit tests pass locally with my changes
  • [ ] I have added tests that prove my fix is effective or that my feature works
  • [ ] I have added necessary documentation (if appropriate)
  • [ ] Any dependent changes have been merged and published in downstream modules

Further comments

If this is a relatively large or complex change, you may want to start the discussion by explaining why you chose the solution you did, what alternatives you considered, etc.

tlstommy avatar Jul 04 '24 21:07 tlstommy

I suspect this will require a store release @Excellify, if so I dont think we can merge this.

For OP; we have 2 deployment methods on the extension. 1. A hosted release, a store release. We cannot make store releases without first fixing some other issues with the chrome store / firefox store.

We plan to redo the extension entirely and we do not have the bandwidth to fix the extension's store issues. However this might be able to deployed as a tapermonkey script.

TroyKomodo avatar Jul 07 '24 11:07 TroyKomodo

We can't add permissions to the manifest either as that would cause the extension to be disabled for everyone who has it installed. We can only add optional permissions and request those at runtime.

Excellify avatar Jul 08 '24 21:07 Excellify

I understand, thanks!

tlstommy avatar Jul 08 '24 21:07 tlstommy