Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to non-legacy chat url #536

Merged
merged 1 commit into from
Mar 29, 2018

Conversation

visia
Copy link
Contributor

@visia visia commented Feb 6, 2018

Twitch recently moved the current chat URL to legacy. Updated the chat URL.

@bastimeyer
Copy link
Member

bastimeyer commented Feb 6, 2018

Twitch recently moved the current chat URL to legacy

Could you please provide a link of the official announcement of this change, please?

edit:
btw, the /popout chat url seems to be loading different stylesheets, which add an additional gap between text lines and the window borders, which reduces the overall space by a tiny bit...

@visia
Copy link
Contributor Author

visia commented Feb 6, 2018

I can't find any announcement about legacy chat, but the chat settings menu gives these options:
screen shot 2018-02-06 at 8 52 10 am

I noticed that the emote menu feature of BetterTTV was not working with the legacy stylesheet, which is what spurred this.

edit:
Probably related to this: https://help.twitch.tv/customer/en/portal/articles/2850001-twitch-rewrite-roll-out

@bastimeyer
Copy link
Member

I can't find any announcement about legacy chat

That's probably because the chat URLs are not about to be changed. The link you've posted is about restructuring their website (AFAIK, they've switched from EmberJS to React). That doesn't mean that they are changing any critical route names of their website, which would break pretty much everything and would be insanely stupid of them.

the chat settings menu gives these options
the emote menu feature of BetterTTV was not working

We're using the canonical chat URL here for launching the chat in the user's web browser. The popout URL of Twitch is meant for loading different stylesheets/javascript when using the popout feature on their website, which is something different. It's up to BTTV to fix this. I did a bit of research and found a few tweets saying that the restructuring of the Twitch website broke BTTV and similar addons. That's why they included a second popout button, which uses the old (legacy) chat implementation which Twitch hasn't shut down yet.

I don't see any reason to switch to the popout chat URL, just because of a bug of a browser addon which hasn't caught up with the recent changes on the Twitch website. I can't blame them though, since the Twitch website has always been terrible and they are breaking stuff all the time, hence this project here. However, sticking with the default chat URL here is a safe choice and bugs related to any browser addon needs to be fixed there, and not here.

As a sidenote to this PR, I had a similar one once which wanted to replace the chat URL with the popout URL, although the intention was something different at that time: #117
The current chat URL is being used since Twitch added support for in 2015 or so:
d1463cc
9dcf218

@visia visia closed this Feb 7, 2018
@bastimeyer
Copy link
Member

According to the discussion in #551, the currently used chat URL doesn't work when using bits in chat. I've decided to switch to the new popout URL which you've suggested. In #551 there was the suggestion to let the user decide which URL should be opened, but after thinking about it again, just using the popout URL is good enough.

@bastimeyer bastimeyer reopened this Mar 29, 2018
@bastimeyer bastimeyer merged commit 91e8988 into streamlink:master Mar 29, 2018
@tmarplatt
Copy link

I don't know what changed in v.1.5 but I can no longer use FrankerFaceZ shortcuts in the new chat browser popout, and the FFZ button isn't showing in the chat input box either.

They were working fine in v1.4.1.

@bastimeyer
Copy link
Member

@tmarplatt
As you can read here and in the other linked thread, the chat URL for all web browser based chat providers was changed. The new chat URL is the one which is being used by the popout mode on Twitch's website, so if you're having issues with any browser extension, it is the responsibility of the developers to fix these issues.

As an alternative, you can use Chatty, which comes with all of the popular custom emoticon sets, has auto completion and more more features.

bastimeyer added a commit that referenced this pull request Apr 7, 2018
Resolves #554
Also see #536, #551

- Add "default" (popout), "popout", "embed" and "canonical" chat URLs
- Refactor chat providers
- Fix tests
@skulblakka
Copy link

Could you please provide a link of the official announcement of this change, please?

In case this is still relevant: Apparently the whole legacy chat will be removed starting 20th of April (Twitch Announcement)

@bastimeyer
Copy link
Member

Thank you, @skulblakka. When this PR had been opened, the post on the dev forums didn't exist yet and I didn't check the forums again when #536 was opened.


Why are we doing this?
The legacy Twitch chat is built on a separate codebase that is no longer being maintained.

How is the user impacted?
The new embed URL will introduce two changes:

  • The settings cog will be disabled.
  • The first time a user attempts to send a message, a popup will warn the user that they are sending a message to a Twitch chat channel. This setting is saved until the user refreshes the page.
    Both of these changes are required to address existing security concerns.

There are currently no plans to reimplement the features which have been removed. We have been working closely with our security teams to ensure that we are only implementing features which don’t pose a security risk.

Originally we wanted to have the Twilight (new) version of the embed out and deprecate the Ember (old) Popout in August when Twitch Everywhere launched. This was pushed back because people who used the popular extensions BetterTTV and FFZ were upset that their new extensions wouldn’t work in Twilight and thus needed the Ember Popout. Due to that, we left the Ember popout live for those users. A side effect of that was that the Ember Popout route still operated and was still able to be embedded. This was a known security risk, but one that we were okay with given the timeline to deprecate shortly in the future.

It's a bit odd that the dev post doesn't also mention the popout URL which is being used here now (since it's being used by the website) and is just talking about the embed URL. There are a few minor differences between the popout chat and embedded chat, but I guess it's essentially the same and there won't be any risks in using the popout chat (as default) at least for now.

Regarding BTTV, FFZ and all the related browser extensions, these have to be fixed by their devs, as I've said. All that can be done here is choosing one of the supported chat URLs for browser based chat providers.

And regarding missing moderation features in the new chat, there's nothing that can be done here either, as it's Twitch's decision to remove them from their new popout/embed chat.

When not embedded (such as clicking through a bookmark), the legacy URL will redirect to the full popout chat experience without these restrictions.

I guess the legacy URL can be removed from the chat selection which I have implemented in #554 (not included in 1.5.0).


An originally set deprecation time of 21 days, now extended to a bit more than a month. How generous of them. /s
Same shit with the kraken v5 API. They build new stuff which doesn't have all of the old features implemented (yet) and at the same time they deprecate their "old" stuff with a tight time frame.

I think the injustice of how much unpaid dev time goes into fixing messes made by Twitch’s paid developers is what really boils my blood about the whole new chat ordeal.

I agree 100% with this user comment...

bastimeyer added a commit that referenced this pull request Apr 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants