Code Monkey home page Code Monkey logo

materialious's Introduction

materialious's People

Contributors

arcoast avatar dependabot[bot] avatar wardpearce 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  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  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

materialious's Issues

Failed to load image

I am using NGINX Proxy Manager with Invidious and Materialious...

I get this error in Materialious;
image

Black background on fullscreen video

Hi!

Is there any possibility to have a black background instead of the theme one when playing a video in fullscreen? It's kind of distracting.

Thanks!

[Suggestion] Hide the time display for videos without a time

On invidious I am able to remove shorts from being displayed by filtering for the time to be missing

invidious.io##div.pure-u-md-1-4.pure-u-1:has(.bottom-right-overlay):not(:has(.length))

I cannot do the same on materialious, because it puts a 00:00 there instead of just not having the time display:

invidious materialious
grafik grafik

Settings improvements

Hi!

It would be nice to see the settings from Invidious being used in Materialious. This would also mean to be able to change some settings in Materialious.

Here are a few improvements:

  • Preferred video / dash quality

    Right now every video i play is starting in Auto quality when i reload the page.

  • Default player volume

    Every video starts at 100% of the volume, it would be nice to have the ability to change it to what i used in Invidious.

Is proxy videos off by default?

Looking at the code, it seems that default is to pull from youtube's servers? Shouldn't it be the other way around given that this is for invidious? Or am I mistaken.

What are the goals for this project?

Let me start off by saying this is phenomenal work, I can't wait to run something like this. The current Invidious UI leaves a lot to be desired.

I'm curious what the usage intention is behind the project. That is, is this intended to be a standalone deployment of Invidious with a more fleshed out theme? Or is this intended to act as an alternative interface for existing Invidious deployments where the Invidious target instance can be set as a setting?

Thanks for all of your work in this space!

DASH qualities not working as expected

Hey, very nice job, I love the interface.

I got it working but it seems dash is broken.
In invidious we have Preferred DASH video quality, can you please implement it here as well?
There's no issues in invidious, playing default at 2160p (I have it setup with dash=best quality).
Can you translate it to be same in materialious? As it is, it's set on auto, starting from 360p when dash enabled.

Other than that, its great, I'm loving it!
Thanks!

Can't log in

After login into the invidious account, the Material UI does not show subscriptions as if it wasn't logged in.

Bug: Subscribe button not disabled when logged out

Hello,

Issue: Currently the subscribe button is not disabled when a user is logged out.

Impact: It's still possible to click the button, but it doesn't do anything or give any feedback.

Proposed solution:

  1. Introduce isLoggedIn or similar to determine login state.
import { auth } from '../../store';
let isLoggedIn = false;
auth.subscribe((value) => {
    isLoggedIn = value !== null;
});
  1. Apply this to both the subscribe and the add to playlist buttons (which currently just check for personalPlaylists being undefined).
  2. Add login required tooltip when the disabled state is active

Feature request: YT-like paths

Hello,

Issue: Currently the paths follow non-standard YT construction. For example, the Materialious video path is /watch/wjZofJX0v4M vs. /watch?v=wjZofJX0v4M.

Impact: It's typical add URL redirectors that do something to the effect of *youtube.com/* -> https://alternative.instance/$2 to capture YouTube URLs and forward them on. In this case, it would lead to dead paths.

Request: This request is to have the router adjusted to mimic the YT paths or to capture the YT standard path and introduce a redirection to the correct Materialious path.

Thank you

Returning error on subscriptions and playlist tab after login in.

Console Log:
Access to fetch at 'https://invidious.private.coffee/api/v1/auth/feed?max_results=100&page=1' from origin 'http://0.0.0.0:3001' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

The statement is not true since following the link gives all the sucbscription data correctly.

image

Unable to log in

Hello,
I just deployed the container, it looks really good and plays the videos well but I have an issue, I'm unable to log in, after clicking on the login button I logged in to my Invidious instance and I get this screen:
image
And when I click on yes, it just redirects me back on the home page without being logged in. I don't know if it's an issue with my Invidious instance or with Materialious.

find: ./sys/kernel/debug: Permission denied

Hi.

I recently installed Invidious, no issues with that. However, I have trouble running Materialious.
I am getting following error during docker compose up, and unable to start materialious container:

find: ./sys/kernel/debug: Permission denied

Environment

I am running both Invidious and Materialious using docker compose.
Docker is running in my Proxmox LXC, privileged and as root.

Docker compose:

services:

  invidious:
    build:
      context: .
      dockerfile: docker/Dockerfile
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      # Please read the following file for a comprehensive list of all available
      # configuration options and their associated syntax:
      # https://github.com/iv-org/invidious/blob/master/config/config.example.yml
      INVIDIOUS_CONFIG: |
        db:
          dbname: invidious
          user: example
          password: example
          host: invidious-db
          port: 5432
        check_tables: true
        # external_port:
        # domain:
        # https_only: false
        # statistics_enabled: false
        hmac_key: "example"
    healthcheck:
      test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/comments/jNQXAC9IVRw || exit 1
      interval: 30s
      timeout: 5s
      retries: 2

  invidious-db:
    image: docker.io/library/postgres:14
    restart: unless-stopped
    volumes:
      - postgresdata:/var/lib/postgresql/data
      - ./config/sql:/config/sql
      - ./docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
    environment:
      POSTGRES_DB: invidious
      POSTGRES_USER: example
      POSTGRES_PASSWORD: example
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]

  materialious:
    image: wardpearce/materialious
    restart: unless-stopped
    ports:
      - 3001:80
    environment:
      # No trailing backslashes!
      # URL to your proxied Invidious instance
      VITE_DEFAULT_INVIDIOUS_INSTANCE: "https://invidious.example.com"

      # URL TO RYD
      VITE_DEFAULT_RETURNYTDISLIKES_INSTANCE: "https://returnyoutubedislikeapi.com"

      # URL to your proxied instance of Materialious
      VITE_DEFAULT_FRONTEND_URL: "https://materialious.example.com"

      # URL to Sponsorblock
      VITE_DEFAULT_SPONSERBLOCK_INSTANCE: "https://sponsor.ajay.app"
volumes:
  postgresdata:

Bug: Likes/dislikes with no decimal place are rendered with a zero decimal place

Hello,

Issue: Currently YT likes or dislikes with no decimal place are still given one.

Impact: It's more visible on <=999 counts, where the output looks like 27.0.

Proposed solution:

Have the cleanNumber function in misc.js to call the below function or return the value with similar logic:

const omitDecimal = (value) => value % 1 === 0 ? parseInt(value) : value

Alternatively omit or replace parseFloat with parseInt in the cleanNumber function as the return yt dislikes API always returns integers as per the docs.

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.