Giter Site home page Giter Site logo

seventv / website Goto Github PK

View Code? Open in Web Editor NEW
36.0 36.0 30.0 3.48 MB

The 7TV Web App with the Vue framework

Home Page: https://7tv.app

License: Other

JavaScript 0.10% Shell 0.01% HTML 0.06% Vue 35.10% SCSS 4.53% TypeScript 59.40% Dockerfile 0.07% Makefile 0.04% Go 0.34% HCL 0.34%

website's Introduction

Welcome to 7TV!

7TV is an opensource platform for emotes and other streamer related tools and services.

Contributing

If you want to contribute to this repo, please read the Contributing Guidelines.

CLA

We use a Contributor License Agreement to protect the rights of contributors.

License

This project is licensed under multiple licenses. Please see the licenses in the licenses directory for more information.

Code of Conduct

This project is governed by the Contributor Covenant Code of Conduct.

Security

If you find a security vulnerability, please read the Security Policy.

Contact

If you have any questions, please contact us at [email protected].

website's People

Contributors

anatoleam avatar commanderpasta avatar dependabot[bot] avatar excellify avatar felanbird avatar github-actions[bot] avatar jupjohn avatar lennartkloock avatar matinaniss avatar michell-dev avatar nerixyz avatar psyclonetm avatar sougataghar477 avatar sunred avatar troykomodo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

website's Issues

Non-English per-channel emote name

This is a feature request more than an issue, now that 7TV has language localization it would be nice to have the ability to give an emote a non-English name as it will make it easier to non-English chatters to use the extension and would make the streaming/chatting experience much more enjoyable.

I and other streamers have tried to introduce the emotes/extension to our communities however this seems to be a barrier to many of chatters as they don't speak English which makes usability harder.

This error shows when I try to set an Arabic name to an emote
image

I understand this might be an issue when it comes to moderation or error checking but I hope you take this into consideration

Processing error only shows on direct emote uploads

If you face a processing error when uploading new version of an existing emote it won't be displayed to you as it would if you try to upload a new emote.

For reference, this it the error page I am referring to:
image

Editors can't add emotes until streamer has added one

Reproduce:
Register as a new user, add someone as editor, editor can't add emotes to that channel.

Pretty sure it's because the emote set isn't created until you add your first emote, so you won't show up for the editors.
I suggest creating the first emote set when you create the user to fix (so maybe this issue should go to API really)

Capacity emote slots

Tell us about your Wish

Will it still take that long for a capacity of 1000 emotes per slot? My account has a limit of 600, many other people's has a limit of 1000. Doesn't make sense, do you have to be subscribed, pay or something?

Is your feature related to a bug

No response

Additional Info

No response

Participation

  • I am willing to submit a pull request to implement this

[Problem] Sub Badge Not Updating

Heyo,

I have been waiting for my 1.75 year sub badge now for a couple months. I saw in the discord that badges should be handed out the 1st of the month, but I still do not have mine. There were a couple others reporting similar issues there, so I figured I'd make an official post here.

My username on 7TV is the same as my username here, for reference.

Thanks!

Unable to set a profile picture

Hi, I'm unable to set a profile picture on the 7TV website.

My profile always shows with the following:

image

image

I tried signing out, removing the connection on my Twitch account to SevenTV and then signing back in. I also tried using various images to check it's not a problem with the image.

Sorting emote sets

Tell us about your Wish

Currently, emote sets don't seem to have any form of sorting. This makes changing emotes in emote sets a little bothersome. Say there's an emote that is now unavailable, I have to browse the whole list to find all the 'No Longer Available' emotes. An addition of sorting emotes with certain tags applied to them would make this process a lot quicker.

Is your feature related to a bug

No

Additional Info

Sorting filters that should be available:

  • Alphabetical (A-Z)
  • Popularity (Asc-Desc) (Similar to Emote Directory's popularity filter)
  • Date Added (Oldest-Newest)
  • Tags (Renamed In Set, Global Emote, Unlisted, No Longer Available)

Filters that may/would be harder to implement (or just not as high priority), but would be nice additions:

  • Visually similar emotes (For emotes that may be the same but have different names, bypassing the conflict)
  • Sort by Author (A-Z)

There may be more I've missed, but these are the filters I've thought of.

Participation

  • I am willing to submit a pull request to implement this

(Browser) Right-click in emote set list changes your default set

Description:
When right-clicking an entry in the list of emote sets you are editor of, the context menu open and the website assigns this set as your default.

Expected behaviour:

  1. Only the browser context menu should open.
  2. Default assignment should only be changed by the menu entry on the right. ("Assign As Default")

Tested browsers:
Firefox and Chrome

Screenshot (recording):
chrome_pNVfcgd7OQ

Add an option to delete Emote Sets

Add an option to delete Emote Sets as there is no way to get rid of them currently. Maybe a confirmation box before deletion as well.

Make it easier to find "emote rejected reason"

Hello,

yesterday I uploaded my emotes from other platforms (manually because the migration just didn't work)
but I have no idea where to find reasons for the rejecting of 2/16 of my emotes
they are clearly mine when you check other platforms, I could guess the reasons but it would be nice if I could just read the reasons on/near the uploaded emote

Thanks

Add "Copy link" as a context menu action

When you search for an emote, sometimes you just want to copy a link to it.
Since the website uses custom context menus, there are only 2 actions available as of now:

  • add to [channel]'s emotes
  • use emote...

Please add "Copy link" as well.

Capacity emote slots

Will it still take that long for a capacity of 1000 emotes per slot? My account has a limit of 600, many other people's has a limit of 1000. Doesn't make sense, do you have to be subscribed, pay or something?

Emote export to Telegram / Whatsapp Stickers

Tell us about your Wish

It would be really cool to be able to make sticker packs for telegram and whatsapp. I imagine making a sticker pack from the emotes used on a certain channel and being able to download that.

Is your feature related to a bug

No response

Additional Info

No response

Participation

  • I am willing to submit a pull request to implement this

Making versions of an emote, then deleting the original before approval, causes `owned_emotes` to be stuck in deleted state

The #bugs-and-stuff channel on Discord has has been archived, so I'm converting some issues to GitHub ones

  1. Upload an emote
  2. Upload a 2nd version
  3. Delete the 1st version
  4. Since emotes link to their original version in owned_emotes, and there's no way to set a default version yet
owned_emotes
{
	"data":
	{
		"user":
		{
			"owned_emotes":
			[
				{
					"id": "63615a32545fbd7ba91acc69",
					"name": "EvilAnya"
				},
				{
					"id": "636307172931d7f7a6833948",
					"name": "PepeHands"
				}
			]
		}
	}
}

This results in the site showing them as deleted, even though they are listed

  • Adding the newest version emote hash works fine
  • The newest version does show in public listings
  • Activity done for approval by mods doesn't show on the new id
emote_set.emotes
{
	"emotes": [
		{
			"id": "63615bb776ed2d74d9ed2bc7",
			"name": "EvilAnya"
		},
		{
			"id": "636308c41f7fe924a876f1f2",
			"name": "PepeHands"
		}
	]
}

Ideally this should just link to the new version of the emote, filter out the null/undefined/unreachable value

Main Page - Large Community & Footer text translation

All parts on the home page are correctly translated, except the one with large community. (under Why 7tv?)
It's allways in English.

image

I also wanted to mention that the legal footer is also not translated at the moment.

image

Privacy Badger blocks the Discord widget on the frontpage

const req = new XMLHttpRequest();
req.open("GET", "https://discord.com/api/guilds/817075418054000661/widget.json");
req.onload = () => {
const data = JSON.parse(req.responseText);
discord.value.name = data.name;
discord.value.invite = data.instant_invite;
discord.value.count = data.presence_count;
};
req.send();

This request is being identified as a tracker by Privacy Badger and thus blocked, resulting in the Discord Invite being unavailable. Took me a while to figure out what was causing this.

There should be a fallback to the actual discord invite link when the widget.json can't be requested.

Unable to recreate personal emote sets

Current Behavior

Once a user has deleted their personal emote set, they are not able to recreate it.

Expected Behavior

If the user is a 7TV subscriber and they do not have an existing personal emote set, they should be able to create a new personal emote set.

Related issue from Extension: SevenTV/Extension#650

[Bug] When there is more than one emote set, the emote set automatically changes to the second one made and won't change again.

A while ago, a streamer I watched had a normal emote set and two empty emote sets possibly made by accident. The first empty set was eventually switched to and we didn't have any 7tv emotes until I realized what was going on and instructed the streamer to delete the empty sets and assign the desired set. Since then I've become an editor and decided to make two emote sets for our seasonal emotes: "Halloween emotes" and "Winter emotes". After a couple of days, I opened the emote menu and saw the emote set had changed to Halloween emotes, which the streamer and another editor say they have not done. I tried to assign the normal emote set to the channel, but nothing happened. Same thing when the streamer tried it themself. I checked if I could unassign the Halloween emotes set, but the only option was to assign it to the channel (which did nothing). At this point, I had an idea of what was going on so I checked my channel, for which I also made two emote sets with no intent to assign the second one. I also have no editors. The second emote set had been assigned automatically and I could not change it back. This seems to be a consistent bug and easy to replicate.

[Enhancement] Show Namepaints directly for your own username

I would love to instantly see every available name paints for my specific username. Some name paints look better on longer usernames and I would love to try out a name paint before saving it.

Possible approach could be to add a button below the name paints to "Preview Paints with Name" and every Name Paint Name would switch to the username.

(Example bottom row "brain")
image

old.7tv.app Login Broken

Attempting to log in to the old website results in the following error:
{"status_code":404,"status":"Not Found","error":"Unknown Route","error_code":70498,"details":{"message":"The API endpoint requested does not exist"}}
Because of this, linking an account to YouTube can't be achieved.

[Enhancement] Bulk add/remove Emote Set from another one

Dear all,

One use case for Emote Set is the management of "season emotes" like Spooky or Christmas, or temporary emotes (e.g. Minecraft event, Emote Set with Minecraft emotes, Pokemon event, etc.). In my case, I created two Emote Set: one contains the season emotes, and the other one that same season emotes but they are "standard".

Using this, I am able to "quick update" the main Emote set (removing all from the standar emote set, then applying the season emote set). This also happens because there are some Emotes that are not seasonal or they are from the channel itself. Nowadays, remove 80 emote and apply 80 new ones (or adding and click the "replace conflict".

I think it would be interesting to bulk add / bulk remove an emote set using another one, also taking into account the renamed name in the emote set (apply the renamed emote to the Main Emote Set).

Thanks in advance

Capacity emote slots

Will it still take that long for a capacity of 1000 emotes per slot? My account has a limit of 600, many other people's has a limit of 1000. Doesn't make sense, do you have to be subscribed, pay or something?

[Bug] Trying to add a version description with emojis fails silently

When trying to add a version description with an emoji, the website fails silently and refuses to make the version.

OS: Pop!_OS 22.04
Browser: Firefox 108.0
Version Name: Test
Version Description: ๐ŸŽ‰ (\U0001f389)
Zero-Width: no
Private: no
Image Upload: the same file that was used for the first version (.webm)
Behaviour: Button with submit is pressed, then nothing happens. Button can be pressed again without effect, each button press generates a new error message.
Error reported by console:

TypeError: XMLHttpRequest.setRequestHeader: Cannot convert argument 2 to ByteString because the character at index 95 has value 55356 which is greater than 255.
    A https://7tv.app/assets/EmoteUpload-810ddfa2.js:1
    It https://7tv.app/assets/vendor-a1e64777.js:1
    qe https://7tv.app/assets/vendor-a1e64777.js:1
    n https://7tv.app/assets/vendor-a1e64777.js:1
    c https://7tv.app/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js:1
    addEventListener https://7tv.app/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js:1
    Kt https://7tv.app/assets/vendor-a1e64777.js:1
    mu https://7tv.app/assets/vendor-a1e64777.js:1
    Eu https://7tv.app/assets/vendor-a1e64777.js:1
    S https://7tv.app/assets/vendor-a1e64777.js:1
    I https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    H https://7tv.app/assets/vendor-a1e64777.js:1
    S https://7tv.app/assets/vendor-a1e64777.js:1
    I https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    H https://7tv.app/assets/vendor-a1e64777.js:1
    S https://7tv.app/assets/vendor-a1e64777.js:1
    I https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    H https://7tv.app/assets/vendor-a1e64777.js:1
    S https://7tv.app/assets/vendor-a1e64777.js:1
    I https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    H https://7tv.app/assets/vendor-a1e64777.js:1
    S https://7tv.app/assets/vendor-a1e64777.js:1
    I https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    H https://7tv.app/assets/vendor-a1e64777.js:1
    S https://7tv.app/assets/vendor-a1e64777.js:1
    I https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    F https://7tv.app/assets/vendor-a1e64777.js:1
    run https://7tv.app/assets/vendor-a1e64777.js:1
    update https://7tv.app/assets/vendor-a1e64777.js:1
    le https://7tv.app/assets/vendor-a1e64777.js:1
    de https://7tv.app/assets/vendor-a1e64777.js:1
    Z https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    uc https://7tv.app/assets/vendor-a1e64777.js:1
    process https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    F https://7tv.app/assets/vendor-a1e64777.js:1
    run https://7tv.app/assets/vendor-a1e64777.js:1
    update https://7tv.app/assets/vendor-a1e64777.js:1
    De https://7tv.app/assets/vendor-a1e64777.js:1
    Z https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    F https://7tv.app/assets/vendor-a1e64777.js:1
    run https://7tv.app/assets/vendor-a1e64777.js:1
    update https://7tv.app/assets/vendor-a1e64777.js:1
    De https://7tv.app/assets/vendor-a1e64777.js:1
    Z https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    F https://7tv.app/assets/vendor-a1e64777.js:1
    run https://7tv.app/assets/vendor-a1e64777.js:1
    update https://7tv.app/assets/vendor-a1e64777.js:1
    It https://7tv.app/assets/vendor-a1e64777.js:1
    Ga https://7tv.app/assets/vendor-a1e64777.js:1
    promise callback*Va https://7tv.app/assets/vendor-a1e64777.js:1
    cr https://7tv.app/assets/vendor-a1e64777.js:1
    R https://7tv.app/assets/vendor-a1e64777.js:1
    Xs https://7tv.app/assets/vendor-a1e64777.js:1
    Ur https://7tv.app/assets/vendor-a1e64777.js:1
    Ts https://7tv.app/assets/vendor-a1e64777.js:1
    effect https://7tv.app/assets/vendor-a1e64777.js:1
    Xs https://7tv.app/assets/vendor-a1e64777.js:1
    Ur https://7tv.app/assets/vendor-a1e64777.js:1
    Ts https://7tv.app/assets/vendor-a1e64777.js:1
    set value https://7tv.app/assets/vendor-a1e64777.js:1
    q https://7tv.app/assets/vendor-a1e64777.js:1
    x https://7tv.app/assets/vendor-a1e64777.js:1
    promise callback*x https://7tv.app/assets/vendor-a1e64777.js:1
    L https://7tv.app/assets/vendor-a1e64777.js:1
    o https://7tv.app/assets/vendor-a1e64777.js:1
    It https://7tv.app/assets/vendor-a1e64777.js:1
    qe https://7tv.app/assets/vendor-a1e64777.js:1
    n https://7tv.app/assets/vendor-a1e64777.js:1
    c https://7tv.app/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js:1
    addEventListener https://7tv.app/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js:1
    Kt https://7tv.app/assets/vendor-a1e64777.js:1
    mu https://7tv.app/assets/vendor-a1e64777.js:1
    Eu https://7tv.app/assets/vendor-a1e64777.js:1
    S https://7tv.app/assets/vendor-a1e64777.js:1
    I https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    F https://7tv.app/assets/vendor-a1e64777.js:1
    run https://7tv.app/assets/vendor-a1e64777.js:1
    update https://7tv.app/assets/vendor-a1e64777.js:1
    le https://7tv.app/assets/vendor-a1e64777.js:1
    de https://7tv.app/assets/vendor-a1e64777.js:1
    Z https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    Be https://7tv.app/assets/vendor-a1e64777.js:1
    ne https://7tv.app/assets/vendor-a1e64777.js:1
    K https://7tv.app/assets/vendor-a1e64777.js:1
    I https://7tv.app/assets/vendor-a1e64777.js:1
    N https://7tv.app/assets/vendor-a1e64777.js:1
    F https://7tv.app/assets/vendor-a1e64777.js:1
    run https://7tv.app/assets/vendor-a1e64777.js:1
    update https://7tv.app/assets/vendor-a1e64777.js:1
    It https://7tv.app/assets/vendor-a1e64777.js:1
vendor-a1e64777.js:1:12926

Animated AVIF upload fails with no indication as to why.

Problem description

When uploading an Animated AVIF, the upload starts and appears to complete but then the emote is immediately not available with no errors or or reason being shown to the user.

Steps to reproduce

  • Go to the Emotes tab
  • Add Emote
  • Drag avif file into the Image Upload
  • Set Emote Name to a unique name
  • Submit

Expected outcome

Emote is processed and is available to use.

Actual outcome

"Emote Processing" for a second or 2, followed by "This emote is no longer available" with no indication of why that is.

Suggested Resolution

Display the error that causes the emote to not upload to the user, too enable them to fix it and reupload.
Write documentation if there are restrictions on emote size, resolution, format etc.
If the documentation exists already, link it on the upload page.

Additional information
None, but happy to provide what you need to aid debugging.

Thanks for your help in advance!

Subscribe page

  • Add to nav
  • Top gifters
  • Functionality list
  • Payment system

Navigation issues with profiles when visiting an invalid profile

The following video is the best way to describe what is happening.

chrome_Buunss6amH.mp4

How to reproduce

  1. Visit an invalid profile link such as https://7tv.app/users/robcdee
  2. Try visiting your profile by clicking the component at the top right of the page
  3. Try re-visiting a valid profile link such as https://7tv.app/users/61577bb6dc267a34418134c2 directly within your URL bar

How to resolve

Method one

  1. Close the tab
  2. Visiting a valid profile should properly show again

Method two

  1. Go to a valid page on the site such as by navigating to Home, Emotes, or Subscribe
  2. Visiting a valid profile should properly show again

Hidden error when searching users while signed out

When not signed in and attempting to search users, nothing will happen. Inspecting the console you can find a graphql response error "70401 sign-in required"

image

However, when signed in this search works as expected:

image

It would be best to handle such errors in a manner that gives the user feedback, especially for a sign-in error.

I was going to open a PR for this, but it appears that even after creating a Font awesome API key, it does not have the same permissions for the FA NPM repositories you guys use which are required in order to build the app.

Capacity emote slots

What seems to be the problem?

Will it still take that long for a capacity of 1000 emotes per slot? My account has a limit of 600, many other people's has a limit of 1000. Doesn't make sense, do you have to be subscribed, pay or something?

Operating System

Microsoft Windows

Browser

Chromium (Google Chrome, Microsoft Edge, Brave, Vivaldi, etc.)

How do we replicate that?

Will it still take that long for a capacity of 1000 emotes per slot? My account has a limit of 600, many other people's has a limit of 1000. Doesn't make sense, do you have to be subscribed, pay or something?

Relevant log output

No response

Capacity emote slots

What seems to be the problem?

Will it still take that long for a capacity of 1000 emotes per slot? My account has a limit of 600, many other people's has a limit of 1000. Doesn't make sense, do you have to be subscribed, pay or something?

Operating System

Microsoft Windows

Browser

Chromium (Google Chrome, Microsoft Edge, Brave, Vivaldi, etc.)

How do we replicate that?

Will it still take that long for a capacity of 1000 emotes per slot? My account has a limit of 600, many other people's has a limit of 1000. Doesn't make sense, do you have to be subscribed, pay or something?

Relevant log output

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.