-
Notifications
You must be signed in to change notification settings - Fork 14
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
Redesigned the entire extension #112
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good so far from a read through. Will try running it locally as well to validate and return with any feedback from that once complete.
"twitchHighlighter.requiredBadges": { | ||
"type": "array", | ||
"default": [], | ||
"markdownDescription": "A list of badges required to use the highlighter command. The use must have at least one of these badges to use the command. Leave blank for no requirement. Example: moderator, subscriber, vip.", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"The user* must have at least one..."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This setting is used to determine which badge(s) (i.e. moderator, subscriber, follower) the user must have in order to highlight lines. If the array is empty then no badge is required and everyone can highlight.
@@ -0,0 +1,4 @@ | |||
export enum TwitchKeys { | |||
"clientId" = "hhxtni83sibk1278lmv6bwye1pnurt", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this needed with the new auth flow?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. That is needed in order to call the Twitch API functions.
For example: the authorization requiest.
src/ttvchat/AuthenticationService.ts
Outdated
} | ||
}); | ||
|
||
server.listen('5544', (err: any) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a required port or can it be dynamic or? Just wondering if it should be hard-coded or moved to an env variable or something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This needs to be static because as it is the callback URL used within the OAuth flow. The callback URL is registered with Twitch. If the URL doesn't match it will fail for security purposes.
constructor(api: HighlighterAPI, outputChannel: vscode.OutputChannel) { | ||
this.log = new Logger(outputChannel).log; | ||
this.chatClient = new ChatClient(this.log); | ||
this.chatClient.disconnect.bind(this.chatClient); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I forget what does the .bind
do here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The .bind sets the context of the this keyword. In this case, we don't want the this keyword to be in the context of the TwitchChatService object but rather the ChatClient object.
@@ -0,0 +1,22 @@ | |||
export const naturalCompare = (a: any, b: any) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's this about?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That ensures that the sort returns a natural sort of the alphanumerical strings. For example:
[ 123asd, 19asd, 1234asd ]
returns
[ 123asd, 1234asd, 19asd ]
instead of
[ 1234asd, 123asd, 19asd ]
* Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch
* Redesigned the entire extension (#112) * Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch * Updated changelog for 0.5.0 * Context menu support (#115) * Remove highlights by context-menu * Updated changelog * Updated node_modules to fix security vulnerabilities (#113) * Remove Types folder (#116) * Ignore types * Removed types folder * Cleanup and fixed some issues (#122) * Fixed a high vulnerability in node * Fixed authentication issues and updated packages * Fixed promise issues in the highlight * Removed declaration generation * Updated webpack plugins and options * Redesigned the entire extension (#112) * Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch * Updated changelog for 0.5.0 * Context menu support (#115) * Remove highlights by context-menu * Updated changelog * Updated node_modules to fix security vulnerabilities (#113) * Remove Types folder (#116) * Ignore types * Removed types folder * Cleanup and fixed some issues (#122) * Fixed a high vulnerability in node * Fixed authentication issues and updated packages * Fixed promise issues in the highlight * Removed declaration generation * Updated webpack plugins and options * clarify status bar item actions * No longer alert about saving token, log it! * Updated copyfiles to 2.3.0 to hopefully solve linux issue * Fixed some casing issues for references on linux * fix: change casing of 'twitch' Co-authored-by: clarkio <clarkio@users.noreply.github.com>
* Master (#111) * 0.2.2 Release (#103) * HOTFIX: Fixed a registration error with the TreeView containers * bump version and log changes * add launch for runnin with extensions * Major Upgrade (#123) * Redesigned the entire extension (#112) * Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch * Updated changelog for 0.5.0 * Context menu support (#115) * Remove highlights by context-menu * Updated changelog * Updated node_modules to fix security vulnerabilities (#113) * Remove Types folder (#116) * Ignore types * Removed types folder * Cleanup and fixed some issues (#122) * Fixed a high vulnerability in node * Fixed authentication issues and updated packages * Fixed promise issues in the highlight * Removed declaration generation * Updated webpack plugins and options * Redesigned the entire extension (#112) * Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch * Updated changelog for 0.5.0 * Context menu support (#115) * Remove highlights by context-menu * Updated changelog * Updated node_modules to fix security vulnerabilities (#113) * Remove Types folder (#116) * Ignore types * Removed types folder * Cleanup and fixed some issues (#122) * Fixed a high vulnerability in node * Fixed authentication issues and updated packages * Fixed promise issues in the highlight * Removed declaration generation * Updated webpack plugins and options * clarify status bar item actions * No longer alert about saving token, log it! * Updated copyfiles to 2.3.0 to hopefully solve linux issue * Fixed some casing issues for references on linux * fix: change casing of 'twitch' Co-authored-by: clarkio <clarkio@users.noreply.github.com> * Bump elliptic from 6.4.1 to 6.5.3 (#124) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.1 to 6.5.3. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](indutny/elliptic@v6.4.1...v6.5.3) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * 💯 1.0.0 Release🎉🎊✨🎆 * Update README.md Co-authored-by: Anthony Conrad (parithon) <parithon@outlook.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Master (#111) * 0.2.2 Release (#103) * HOTFIX: Fixed a registration error with the TreeView containers * bump version and log changes * add launch for runnin with extensions * Major Upgrade (#123) * Redesigned the entire extension (#112) * Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch * Updated changelog for 0.5.0 * Context menu support (#115) * Remove highlights by context-menu * Updated changelog * Updated node_modules to fix security vulnerabilities (#113) * Remove Types folder (#116) * Ignore types * Removed types folder * Cleanup and fixed some issues (#122) * Fixed a high vulnerability in node * Fixed authentication issues and updated packages * Fixed promise issues in the highlight * Removed declaration generation * Updated webpack plugins and options * Redesigned the entire extension (#112) * Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch * Updated changelog for 0.5.0 * Context menu support (#115) * Remove highlights by context-menu * Updated changelog * Updated node_modules to fix security vulnerabilities (#113) * Remove Types folder (#116) * Ignore types * Removed types folder * Cleanup and fixed some issues (#122) * Fixed a high vulnerability in node * Fixed authentication issues and updated packages * Fixed promise issues in the highlight * Removed declaration generation * Updated webpack plugins and options * clarify status bar item actions * No longer alert about saving token, log it! * Updated copyfiles to 2.3.0 to hopefully solve linux issue * Fixed some casing issues for references on linux * fix: change casing of 'twitch' Co-authored-by: clarkio <clarkio@users.noreply.github.com> * Bump elliptic from 6.4.1 to 6.5.3 (#124) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.1 to 6.5.3. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](indutny/elliptic@v6.4.1...v6.5.3) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * 💯 1.0.0 Release🎉🎊✨🎆 * Update README.md * hotfix(correct reading of settings by name) * remove tmi token from readme requirements * update version for patch * fix(only reconnect on config change if previously connected) * sec: fix deps from audit * 1.0.2 Release * fix: adjust whitespace Co-authored-by: Anthony Conrad (parithon) <parithon@outlook.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Master (#111) * 0.2.2 Release (#103) * HOTFIX: Fixed a registration error with the TreeView containers * bump version and log changes * add launch for runnin with extensions * Major Upgrade (#123) * Redesigned the entire extension (#112) * Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch * Updated changelog for 0.5.0 * Context menu support (#115) * Remove highlights by context-menu * Updated changelog * Updated node_modules to fix security vulnerabilities (#113) * Remove Types folder (#116) * Ignore types * Removed types folder * Cleanup and fixed some issues (#122) * Fixed a high vulnerability in node * Fixed authentication issues and updated packages * Fixed promise issues in the highlight * Removed declaration generation * Updated webpack plugins and options * Redesigned the entire extension (#112) * Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch * Updated changelog for 0.5.0 * Context menu support (#115) * Remove highlights by context-menu * Updated changelog * Updated node_modules to fix security vulnerabilities (#113) * Remove Types folder (#116) * Ignore types * Removed types folder * Cleanup and fixed some issues (#122) * Fixed a high vulnerability in node * Fixed authentication issues and updated packages * Fixed promise issues in the highlight * Removed declaration generation * Updated webpack plugins and options * clarify status bar item actions * No longer alert about saving token, log it! * Updated copyfiles to 2.3.0 to hopefully solve linux issue * Fixed some casing issues for references on linux * fix: change casing of 'twitch' Co-authored-by: clarkio <clarkio@users.noreply.github.com> * Bump elliptic from 6.4.1 to 6.5.3 (#124) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.1 to 6.5.3. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](indutny/elliptic@v6.4.1...v6.5.3) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * 💯 1.0.0 Release🎉🎊✨🎆 * Update README.md * hotfix(correct reading of settings by name) * remove tmi token from readme requirements * update version for patch * fix(only reconnect on config change if previously connected) * sec: fix deps from audit * 1.0.2 Release * fix: adjust whitespace * AddWebTrends-2020-11 (#131) * Added Web Trends * Added Web Trends * Added Web Trends * Added Web Trends * Added Web Trends * Added Web Trends * Create codeql-analysis.yml * fix: move app to use new twitch app client id (#141) * docs: add parithon as a contributor for code (#145) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add MatthewKosloski as a contributor for code (#146) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add yoannfleurydev as a contributor for code (#147) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * fix build badge Co-authored-by: Anthony Conrad (parithon) <parithon@outlook.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Bit <brandon@microsoft.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
* Master (#111) * 0.2.2 Release (#103) * HOTFIX: Fixed a registration error with the TreeView containers * bump version and log changes * add launch for runnin with extensions * Major Upgrade (#123) * Redesigned the entire extension (#112) * Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch * Updated changelog for 0.5.0 * Context menu support (#115) * Remove highlights by context-menu * Updated changelog * Updated node_modules to fix security vulnerabilities (#113) * Remove Types folder (#116) * Ignore types * Removed types folder * Cleanup and fixed some issues (#122) * Fixed a high vulnerability in node * Fixed authentication issues and updated packages * Fixed promise issues in the highlight * Removed declaration generation * Updated webpack plugins and options * Redesigned the entire extension (#112) * Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch * Updated changelog for 0.5.0 * Context menu support (#115) * Remove highlights by context-menu * Updated changelog * Updated node_modules to fix security vulnerabilities (#113) * Remove Types folder (#116) * Ignore types * Removed types folder * Cleanup and fixed some issues (#122) * Fixed a high vulnerability in node * Fixed authentication issues and updated packages * Fixed promise issues in the highlight * Removed declaration generation * Updated webpack plugins and options * clarify status bar item actions * No longer alert about saving token, log it! * Updated copyfiles to 2.3.0 to hopefully solve linux issue * Fixed some casing issues for references on linux * fix: change casing of 'twitch' Co-authored-by: clarkio <clarkio@users.noreply.github.com> * Bump elliptic from 6.4.1 to 6.5.3 (#124) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.1 to 6.5.3. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](indutny/elliptic@v6.4.1...v6.5.3) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * 💯 1.0.0 Release🎉🎊✨🎆 * Update README.md * hotfix(correct reading of settings by name) * remove tmi token from readme requirements * update version for patch * fix(only reconnect on config change if previously connected) * sec: fix deps from audit * 1.0.2 Release * fix: adjust whitespace * AddWebTrends-2020-11 (#131) * Added Web Trends * Added Web Trends * Added Web Trends * Added Web Trends * Added Web Trends * Added Web Trends * Create codeql-analysis.yml * fix: move app to use new twitch app client id (#141) * docs: add parithon as a contributor for code (#145) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add MatthewKosloski as a contributor for code (#146) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add yoannfleurydev as a contributor for code (#147) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * fix build badge * Bump elliptic from 6.5.3 to 6.5.4 (#133) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](indutny/elliptic@v6.5.3...v6.5.4) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Brian Clark <clarkio@users.noreply.github.com> * Bump ssri from 6.0.1 to 6.0.2 (#136) Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2. - [Release notes](https://github.com/npm/ssri/releases) - [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md) - [Commits](npm/ssri@v6.0.1...v6.0.2) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Brian Clark <clarkio@users.noreply.github.com> * Bump path-parse from 1.0.6 to 1.0.7 (#139) Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7. - [Release notes](https://github.com/jbgutierrez/path-parse/releases) - [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7) --- updated-dependencies: - dependency-name: path-parse dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Brian Clark <clarkio@users.noreply.github.com> * Bump tar from 6.0.5 to 6.1.11 (#140) Bumps [tar](https://github.com/npm/node-tar) from 6.0.5 to 6.1.11. - [Release notes](https://github.com/npm/node-tar/releases) - [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md) - [Commits](isaacs/node-tar@v6.0.5...v6.1.11) --- updated-dependencies: - dependency-name: tar dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Brian Clark <clarkio@users.noreply.github.com> * Bump ini from 1.3.5 to 1.3.8 (#142) Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](npm/ini@v1.3.5...v1.3.8) --- updated-dependencies: - dependency-name: ini dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Brian Clark <clarkio@users.noreply.github.com> * Bump y18n from 4.0.0 to 4.0.3 (#143) Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.3. - [Release notes](https://github.com/yargs/y18n/releases) - [Changelog](https://github.com/yargs/y18n/blob/y18n-v4.0.3/CHANGELOG.md) - [Commits](yargs/y18n@v4.0.0...y18n-v4.0.3) --- updated-dependencies: - dependency-name: y18n dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Brian Clark <clarkio@users.noreply.github.com> * Update README.md * Update README.md * Update README.md * Migrate testing from vscode to @vscode/test-electron (#153) * Migrate testing from vscode to @vscode/test-electron * add: version bump Co-authored-by: clarkio <clarkio@users.noreply.github.com> * docs: add Technickel-Dev as a contributor for code (#163) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add Technickel-Dev as a contributor for test (#164) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * add: version bump details in changelog ignore dccache file * add: github action build and test script * fix: add github action workflow name * add: status badge for new github action * fix: use different port for authentication (#171) * fix: use different port for authentication chore: ignore .dccache file chore: update to latest npm package lock version * version: 1.0.5 * chore: adjust to ignore ts issues for now * fix: remove test folder from webpack use * fix: ci branches used * chore: include latest branch change details --------- Co-authored-by: Anthony Conrad (parithon) <parithon@outlook.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Bit <brandon@microsoft.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Technickel <bradlabrador@hotmail.com>
* Master (#111) * 0.2.2 Release (#103) * HOTFIX: Fixed a registration error with the TreeView containers * bump version and log changes * add launch for runnin with extensions * Major Upgrade (#123) * Redesigned the entire extension (#112) * Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch * Updated changelog for 0.5.0 * Context menu support (#115) * Remove highlights by context-menu * Updated changelog * Updated node_modules to fix security vulnerabilities (#113) * Remove Types folder (#116) * Ignore types * Removed types folder * Cleanup and fixed some issues (#122) * Fixed a high vulnerability in node * Fixed authentication issues and updated packages * Fixed promise issues in the highlight * Removed declaration generation * Updated webpack plugins and options * Redesigned the entire extension (#112) * Refactored enum types into an enums folder. * Generating 'types' so we can provide types for our API we'll be exposing. * API interface has been added * Started initial refactor to App and expose API * App class is now working. * Twitch chat client is now working * Old credentials removed by default * Added an API entry to verify if a user is following the channel * Fixed an error with the twitch login on linux * Twitch Authentication server callback port is now a setting * Fixed inconsistency in command titles * Fixed bearer token issue * Removed 'token' requirement for followers check, not required * Reverted server port back to static 5544. Must match registered app with Twitch * Updated changelog for 0.5.0 * Context menu support (#115) * Remove highlights by context-menu * Updated changelog * Updated node_modules to fix security vulnerabilities (#113) * Remove Types folder (#116) * Ignore types * Removed types folder * Cleanup and fixed some issues (#122) * Fixed a high vulnerability in node * Fixed authentication issues and updated packages * Fixed promise issues in the highlight * Removed declaration generation * Updated webpack plugins and options * clarify status bar item actions * No longer alert about saving token, log it! * Updated copyfiles to 2.3.0 to hopefully solve linux issue * Fixed some casing issues for references on linux * fix: change casing of 'twitch' Co-authored-by: clarkio <clarkio@users.noreply.github.com> * Bump elliptic from 6.4.1 to 6.5.3 (#124) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.1 to 6.5.3. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](indutny/elliptic@v6.4.1...v6.5.3) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * 💯 1.0.0 Release🎉🎊✨🎆 * Update README.md * hotfix(correct reading of settings by name) * remove tmi token from readme requirements * update version for patch * fix(only reconnect on config change if previously connected) * sec: fix deps from audit * 1.0.2 Release * fix: adjust whitespace * AddWebTrends-2020-11 (#131) * Added Web Trends * Added Web Trends * Added Web Trends * Added Web Trends * Added Web Trends * Added Web Trends * Create codeql-analysis.yml * fix: move app to use new twitch app client id (#141) * docs: add parithon as a contributor for code (#145) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add MatthewKosloski as a contributor for code (#146) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add yoannfleurydev as a contributor for code (#147) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * fix build badge * Bump elliptic from 6.5.3 to 6.5.4 (#133) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](indutny/elliptic@v6.5.3...v6.5.4) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Brian Clark <clarkio@users.noreply.github.com> * Bump ssri from 6.0.1 to 6.0.2 (#136) Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2. - [Release notes](https://github.com/npm/ssri/releases) - [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md) - [Commits](npm/ssri@v6.0.1...v6.0.2) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Brian Clark <clarkio@users.noreply.github.com> * Bump path-parse from 1.0.6 to 1.0.7 (#139) Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7. - [Release notes](https://github.com/jbgutierrez/path-parse/releases) - [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7) --- updated-dependencies: - dependency-name: path-parse dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Brian Clark <clarkio@users.noreply.github.com> * Bump tar from 6.0.5 to 6.1.11 (#140) Bumps [tar](https://github.com/npm/node-tar) from 6.0.5 to 6.1.11. - [Release notes](https://github.com/npm/node-tar/releases) - [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md) - [Commits](isaacs/node-tar@v6.0.5...v6.1.11) --- updated-dependencies: - dependency-name: tar dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Brian Clark <clarkio@users.noreply.github.com> * Bump ini from 1.3.5 to 1.3.8 (#142) Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](npm/ini@v1.3.5...v1.3.8) --- updated-dependencies: - dependency-name: ini dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Brian Clark <clarkio@users.noreply.github.com> * Bump y18n from 4.0.0 to 4.0.3 (#143) Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.3. - [Release notes](https://github.com/yargs/y18n/releases) - [Changelog](https://github.com/yargs/y18n/blob/y18n-v4.0.3/CHANGELOG.md) - [Commits](yargs/y18n@v4.0.0...y18n-v4.0.3) --- updated-dependencies: - dependency-name: y18n dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Brian Clark <clarkio@users.noreply.github.com> * Update README.md * Update README.md * Update README.md * Migrate testing from vscode to @vscode/test-electron (#153) * Migrate testing from vscode to @vscode/test-electron * add: version bump Co-authored-by: clarkio <clarkio@users.noreply.github.com> * docs: add Technickel-Dev as a contributor for code (#163) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add Technickel-Dev as a contributor for test (#164) * docs: update README.md [skip ci] * docs: update .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * add: version bump details in changelog ignore dccache file * add: github action build and test script * fix: add github action workflow name * add: status badge for new github action * fix: use different port for authentication (#171) * fix: use different port for authentication chore: ignore .dccache file chore: update to latest npm package lock version * version: 1.0.5 * chore: adjust to ignore ts issues for now * fix: remove test folder from webpack use * fix: ci branches used * chore: include latest branch change details * Create deploy.yml * add: support for open vsx registry publishing --------- Co-authored-by: Anthony Conrad (parithon) <parithon@outlook.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Bit <brandon@microsoft.com> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Technickel <bradlabrador@hotmail.com>
Breaking changes
Things that have changed
I removed the unnecessary language server/client design. Visual Studio Code uses a background worker called the Extension Host which is designed to ensure extensions do not block or slow down the UI thread which was our primary concern.
I created an API interface that allows other extensions to call into this extension and highlight/unhighlight lines. This will allow us to support additional chat services as add-on extensions.
Because of this change, the Twitch Chat is now implemented using
TwitchChatService
and requests highlighting and unhighlighting of lines using the new API interfaces. It serves as the default chat client and an example of how other chat services could be implemented in an add-on or other extensions that target our API. Solves Composable Extensions #61.A new authentication system was created to allow people to generate an OAuth token directly with Twitch instead of using a third-party application. The token is also verified each time the extension is activated to ensure the token is still valid. Additionally, you can revoke the token by signing out - or from Twitch itself without revoking any other application that utilized the third-party token generator. This will hopefully solve issue Cannot Generate token when using Twitch Chat OAuth Token Generator #108.
The highlight decoration now adjusts to text-editor changes. This solves issues highlights dont increase in size, they only decrease #87 and highlights don't travel with new lines #88.
Added the ability for broadcasters to require a badge to highlight lines. Badges include admin, bits, broadcaster, global_mod, moderator, subscriber, staff, turbo, and premium.
Added a Twitch API to query if a user is a follower of the channel. The broadcaster should add 'follower' to the badges setting to enforce the 'follower' requirement. Solves Enable a follower only mode #106.