Glimesh / glimesh.tv

Glimesh is a next generation live streaming platform built by the community, for the community.
https://glimesh.tv
Other
461 stars 77 forks source link

Prompt streamers when they are eligible to be shown on the homepage #885

Closed MemoryLeakDeath closed 1 year ago

MemoryLeakDeath commented 1 year ago

Description

We provide streamers with the option of potentially being featured on the homepage after they have streamed at least ten hours on the platform. It has been suggested on the building Glimesh forum that we remind streamers when they are eligible for homepage placement as it appears many new streamers may have missed that setting on the stream settings page. To that end, I will display the following banner to the channel owner only on their channel page:

image

The above banner will only display if the following conditions are met:

Notification banner buttons

The notification banner has a "Go to Settings" and a "Dismiss" button. The "Go to Settings" button will redirect the owner to the stream settings page which contains the homepage opt-in button at the bottom. The "Dismiss" button will set a flag on the channel to dismiss the notification and never prompt about it again.

Technical Details

New background job

I've created a new background Oban job called "prompt_homepage_opt_in" that is set to run every 30 minutes and will accomplish the following tasks:

New column and enumeration

I've added the column "prompt_for_homepage" that defaults to "ineligible" to the channels table. It refers to a defined database enumeration called "homepage_prompt_type" which can take on one of the following values: "ineligible", "prompt", or "ignore". The column is only set to "prompt" by the background job. The UI will only update the column to "ignore".

MemoryLeakDeath commented 1 year ago

Looks like there's a transient postgres error here. Hopefully a re-run of the tests will clear it.

Cykotiq commented 1 year ago

That feels a bit aggressive and very much in-your-face. I feel like the standard bootstrap alert with a couple added buttons might look a little cleaner image

("Go To Settings" and "Dismiss" is probably better wording, but you get the idea)

Ribenaberri commented 1 year ago

That feels a bit aggressive and very much in-your-face. I feel like the standard bootstrap alert with a couple added buttons might look a little cleaner image

("Go To Settings" and "Dismiss" is probably better wording, but you get the idea)

I feel like what Cykotiq has here is much more in line with how Glimesh currently operates, the color schemes it uses and the button layouts :)

Also does this account for the current rules relating to the homepage feature i.e. GCT action. If someone has action taken against them in that first 10 hours, and then they are unsuspended or what have you and finish up their 10 hours, will it still show them that flag even though they won't be eligible?

MemoryLeakDeath commented 1 year ago

@Cykotiq @Ribenaberri

I'll bring the colors more in-line with our info boxes as you've shown. As far as the GCT suspension checks, I believe we do the same checks as the homepage job, but I'll verify that.

Ribenaberri commented 1 year ago

@Cykotiq @Ribenaberri

I'll bring the colors more in-line with our info boxes as you've shown. As far as the GCT suspension checks, I believe we do the same checks as the homepage job, but I'll verify that.

Im not entirely sure how those homepage checks work presently, the GCT system needs an overhaul as at present I don't think it itself "saves" the infraction history - it may be we need some additional work on the GCT side before we can do this so that it tracks fully to come in alongside this feature!

Thanks for checking :)

MemoryLeakDeath commented 1 year ago

@Cykotiq @Ribenaberri

I've updated the banner to take up less space and be a little less harsh on the eyes (as much as bootstrap will allow at least).

image

Ribenaberri commented 1 year ago

Looks muchhhh better now more in line with the general way things look on Glimesh, thanks for that!

clone1018 commented 1 year ago

Thanks for the contribution! Going to hold off on this until our new notifications system is available.