Skip to content

Commit

Permalink
Merge master
Browse files Browse the repository at this point in the history
  • Loading branch information
berghall committed May 18, 2023
2 parents 94ed48d + e7a9e62 commit 8d03aae
Show file tree
Hide file tree
Showing 86 changed files with 3,403 additions and 669 deletions.
4 changes: 4 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ updates:
prefix: fix
prefix-development: chore
include: scope
ignore:
- dependency-name: "*"
# Ignore patch versions
update-types: ["version-update:semver-patch"]
labels:
- "skip changelog check"
# Fetch and update latest `github-actions` pkgs
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,6 @@ jobs:
cancel-in-progress: true

steps:
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.18.3

- uses: actions/setup-node@v3
with:
node-version: "18"
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/crowdin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: crowdin action
if: steps.changes.outputs.crowdin == 'true'
uses: crowdin/github-action@1.5.2
uses: crowdin/github-action@v1.8.1
with:
upload_sources: true
upload_translations: false
Expand Down Expand Up @@ -69,7 +69,7 @@ jobs:
git checkout ${{ env.BASE_BRANCH }}
- name: Download Crowdin Translations
uses: crowdin/github-action@1.5.2
uses: crowdin/github-action@v1.8.1
with:
upload_sources: false
upload_translations: false
Expand All @@ -94,7 +94,7 @@ jobs:
- name: Create Pull Request
if: ${{ steps.count.outputs.lines != '0' }}
uses: peter-evans/create-pull-request@v4
uses: peter-evans/create-pull-request@v5
with:
title: "[CI] New Crowdin Translations"
body: The latest approved translations from Crowdin
Expand Down
3 changes: 3 additions & 0 deletions .stylelintrc
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ extends:
- "stylelint-config-standard"
rules:
color-function-notation: "legacy"
declaration-block-no-redundant-longhand-properties:
- true
- ignoreShorthands: ["/grid/"]
ignoreFiles: ["locale/*.ts"]
overrides:
- files: ["**/*.scss"]
Expand Down
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
"stylelint.configBasedir": "${workspaceFolder}",
"stylelint.config": {
"rules": {
"color-function-notation": "legacy"
"color-function-notation": "legacy",
"declaration-block-no-redundant-longhand-properties": null
},
"overrides": [
{
Expand Down
13 changes: 12 additions & 1 deletion CHANGELOG-nightly.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,20 @@

**The changes listed here are not assigned to an official release**.

- Enabled AVIF images on Firefox >= 113 by default
- Added sub duration & account creation date in the User Card
- Added a button to open an emote's full page from the emote card
- Fixed an issue where clicking the upper drag region in the User Card opened the user's channel
- Fixed user card content overflowing due to long messages
- Fixed chat scroller being visible in the viewer list

### Version 3.0.7.1000

- Added a new User Card
- Added early experimental functionality for a new site: [kick.com](https://kick.com/)
- Added a tooltip to show the full message when hovering over replies in chat
- Added a "Site Layout" menu where certain features of the Twitch website can be hidden
- Added Emojis for the emoji groups
- Added icons for emoji sets in the Emote Menu
- Added an option to choose chat timestamp format
- Fixed tooltips of nametag paints appearing even if they are disabled
- Added an option to ignore messages in chat settings
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
### Version 3.0.7

- Added a new User Card
- Added a tooltip to show the full message when hovering over replies in chat
- Added a "Site Layout" menu where certain features of the Twitch website can be hidden
- Added icons for emoji sets in the Emote Menu
- Added an option to choose chat timestamp format
- Fixed tooltips of nametag paints appearing even if they are disabled
- Reinstated functionality on youtube.com

### Version 3.0.6

- Links in chat messages now respect known TLDs instead of matching any url-like pattern
Expand Down
64 changes: 48 additions & 16 deletions locale/en_US.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,53 @@
locale: English (United States)

# Chat Messages
# System strings
messages:
anon_timeout_user: "{user} was timed out for {duration}"
anon_ban_user: "{user} was permanently banned"
mod_timeout_user: "{actor} timed out {victim} for {duration}"
mod_timeout_user_reason: "{actor} timed out {victim} for {duration} ({reason})"
mod_undo_timeout_user: "{actor} removed timeout on {victim}"
mod_ban_user: "{actor} banned {victim}"
mod_ban_user_reason: "{actor} banned {victim} ({reason})"
mod_undo_ban_user: "{actor} unbanned {victim}"

user_card:
add_comment_input_placeholder: Add a comment
account_created_date: Account created on {date}
following_since_date: Following since {date}
subscription_tier: Tier {tier}
subscription_length: Subscribed for {length} months
previously_subscription_length: Previously subscribed for {length} months
native: Open Native User Card
no_messages: "{user} has not chatted here"
no_timeouts: "{user} hasn't been timed out before"
no_bans: "{user} hasn't been banned before"
no_comments: "No mod comments have been written for {user}"
timeout_button: "{duration} timeout"
ban_button: Ban
unban_button: Unban
mod_button: Mod
unmod_button: Unmod

# Emote Menu
# This interface allows the user to pick from available emotes
emote_menu:
native: Open Native Menu
favorite_set: Favorite Emotes
most_used_set: Most Used Emotes
sets:
Global Emotes: Global Emotes
Smileys & Emotion: Smileys & Emotion
People & Body: People & Body
Animals & Nature: Animals & Nature
Food & Drink: Food & Drink
Travel & Places: Travel & Places
Activities: Activities
Objects: Objects
Symbols: Symbols
Flags: Flags

# Onboarding Page
# A page that is shown to new users to help them get started with 7TV
#
Expand Down Expand Up @@ -93,19 +141,3 @@ onboarding:
button_done: Done
button_join: Join
button_review: Review

emote_menu:
native: Open Native Menu
favorite_set: Favorite Emotes
most_used_set: Most Used Emotes
sets:
Global Emotes: Global Emotes
Smileys & Emotion: Smileys & Emotion
People & Body: People & Body
Animals & Nature: Animals & Nature
Food & Drink: Food & Drink
Travel & Places: Travel & Places
Activities: Activities
Objects: Objects
Symbols: Symbols
Flags: Flags
6 changes: 3 additions & 3 deletions manifest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,16 +65,16 @@ export async function getManifest(opt: ManifestOptions): Promise<Manifest.WebExt

// By default the extension is enabled only on Twitch
host_permissions: ["*://*.twitch.tv/*"],
permissions: ["scripting", "storage"],
permissions: ["scripting", "storage", "activeTab"],
optional_permissions: ["management"],

// Declare YouTube as an optional host permission
optional_host_permissions: ["*://*.youtube.com/*", "*://*.7tv.app/*", "*://*.7tv.io/*"],
optional_host_permissions: ["*://*.youtube.com/*", "*://*.kick.com/*", "*://*.7tv.app/*", "*://*.7tv.io/*"],

web_accessible_resources: [
{
resources: ["site.js", "site.js.map", "content.js.map", "worker.js", "index.html", "assets/*"],
matches: ["*://*.twitch.tv/*", "*://*.youtube.com/*"],
matches: ["*://*.twitch.tv/*", "*://*.youtube.com/*", "*://*.kick.com/*"],
},
],
} as Manifest.WebExtensionManifest & MV3HostPermissions;
Expand Down
20 changes: 10 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
"displayName": "7TV",
"description": "Improve your viewing experience on Twitch & YouTube with new features, emotes, vanity and performance.",
"private": true,
"version": "3.0.6",
"dev_version": "2.0",
"version": "3.0.7",
"dev_version": "3.0",
"scripts": {
"start": "NODE_ENV=dev yarn build:dev && NODE_ENV=dev vite --mode dev",
"build:section:app": "vite build --config vite.config.ts",
Expand All @@ -29,26 +29,26 @@
"script:compile-emoji": "tsc -p script/script.tsconfig.json --outDir dist/ && node dist/compile-emojis.js"
},
"dependencies": {
"vue": "^3.3.1"
"vue": "^3.3.2"
},
"devDependencies": {
"@apollo/client": "^3.7.14",
"@floating-ui/dom": "^1.2.7",
"@floating-ui/dom": "^1.2.8",
"@intlify/unplugin-vue-i18n": "^0.10.0",
"@trivago/prettier-plugin-sort-imports": "^4.1.1",
"@types/chrome": "^0.0.235",
"@types/dompurify": "^3.0.2",
"@types/fs-extra": "^11.0.1",
"@types/marked": "^4.3.0",
"@types/node": "^20.1.2",
"@types/node": "^20.1.4",
"@types/sharedworker": "^0.0.96",
"@types/ua-parser-js": "^0.7.36",
"@types/uuid": "^9.0.1",
"@typescript-eslint/eslint-plugin": "^5.59.5",
"@typescript-eslint/parser": "^5.59.5",
"@vitejs/plugin-vue": "^4.2.2",
"@vitejs/plugin-vue": "^4.2.3",
"@vue/apollo-composable": "^4.0.0-beta.4",
"@vue/compiler-sfc": "^3.3.1",
"@vue/compiler-sfc": "^3.3.2",
"@vue/eslint-config-prettier": "^7.1.0",
"@vue/eslint-config-typescript": "^11.0.3",
"@vueuse/core": "^10.1.2",
Expand All @@ -60,7 +60,7 @@
"dompurify": "^3.0.3",
"eslint": "^8.40.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-vue": "^9.12.0",
"eslint-plugin-vue": "^9.13.0",
"graphql": "^16.6.0",
"marked": "^5.0.2",
"nanoid": "^4.0.2",
Expand All @@ -81,11 +81,11 @@
"typescript": "^5.0.4",
"ua-parser-js": "^1.0.35",
"uuid": "^9.0.0",
"vite": "^4.3.5",
"vite": "^4.3.6",
"vite-plugin-chrome-extension": "^0.0.7",
"vue-i18n": "9.2.2",
"vue-router": "4.2.0",
"vue-tsc": "^1.6.4",
"vue-tsc": "^1.6.5",
"webextension-polyfill-ts": "^0.26.0"
}
}
9 changes: 6 additions & 3 deletions src/assets/gql/tw.chat-bans.gql.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { TwTypeChatBanStatus } from "./tw.gql";
import gql from "graphql-tag";

export const twitchBanUserQuery = gql`
Expand Down Expand Up @@ -38,9 +39,11 @@ export namespace twitchBanUserQuery {
};
}
export interface Result {
ban: null | object;
error: null | {
code: string;
banUserFromChatRoom: {
ban: null | TwTypeChatBanStatus;
error: null | {
code: string;
};
};
}
}
Expand Down
90 changes: 2 additions & 88 deletions src/assets/gql/tw.chat-replies.gql.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { twitchMessageFragments } from "./tw.fragment.gql";
import gql from "graphql-tag";

export const twitchChatReplyQuery = gql`
Expand All @@ -13,92 +14,5 @@ export const twitchChatReplyQuery = gql`
}
}
fragment messageFields on Message {
id
deletedAt
sentAt
content {
...messageContent
}
sender {
...messageSender
}
__typename
}
fragment messageContent on MessageContent {
text
fragments {
...messageParticle
}
__typename
}
fragment messageParticle on MessageFragment {
text
content {
... on CheermoteToken {
...cheermoteFragment
}
... on Emote {
...emoteFragment
}
... on User {
...mentionFragment
}
... on AutoMod {
...automodFragment
}
__typename
}
__typename
}
fragment cheermoteFragment on CheermoteToken {
bitsAmount
prefix
tier
__typename
}
fragment emoteFragment on Emote {
emoteID: id
setID
token
__typename
}
fragment mentionFragment on User {
id
login
displayName
__typename
}
fragment automodFragment on AutoMod {
topics {
type
weight
__typename
}
__typename
}
fragment messageSender on User {
id
login
chatColor
displayName
displayBadges(channelID: $channelID) {
...badge
}
__typename
}
fragment badge on Badge {
id
setID
version
title
image1x: imageURL(size: NORMAL)
image2x: imageURL(size: DOUBLE)
image4x: imageURL(size: QUADRUPLE)
clickAction
clickURL
}
${twitchMessageFragments}
`;
Loading

0 comments on commit 8d03aae

Please sign in to comment.