Code Monkey home page Code Monkey logo

moviematch's Introduction

MovieMatch

This branch is not yet stable, please see the v1 branch for the current stable codebase

Tests Docker Pulls GitHub release (latest SemVer) GitHub release (latest SemVer including pre-releases)

Splash Screen Splash Screen Splash Screen

Have you ever spent longer deciding on a movie than it'd take to just watch a random movie? This is an app that helps you and your friends pick a movie to watch from a Plex server.

How it works

MovieMatch connects to your Plex server and gets a list of movies (from any libraries marked as a movie library).

As many people as you want connect to your MovieMatch server and get a list of shuffled movies. Swipe right to 👍, swipe left to 👎.

If two (or more) people swipe right on the same movie, it'll show up in everyone's matches. The movies that the most people swiped right on will show up first.

Getting started

docker run -it -e PLEX_URL=<Plex URL> -e PLEX_TOKEN=<Your Token> -p 8000:8000 --pull always lukechannings/moviematch:latest

Note: There is also documentation for docker-compose over here 👈

Configuration

⚠️ If you're using MovieMatch v1 please refer to these options. ⚠️

The following variables are supported via a .env file or environment variables.

Name Description Required Default
HOST The host interface the server will listen on No 127.0.0.1
PORT The port the server will run on No 8000
PLEX_URL A URL for the Plex server, e.g. https://plex.example.com:32400 Yes null
PLEX_TOKEN An authorization token for access to the Plex API. How to find yours Yes null
AUTH_USER Basic Authentication User Name No null
AUTH_PASS Basic Authentication Password No null
REQUIRE_PLEX_LOGIN Require that all users log in with Plex as opposed to the anonymous login No Both Plex and Anonymous logins are permitted
ROOT_PATH The root path to use when loading resources. For example, if MovieMatch is on a sub-path, the ROOT_PATH should be set to that sub-path (without a trailing slash) No ''
LIBRARY_TITLE_FILTER A list of libraries to be included in the cards, comma-separated. e.g. Films, or Films,Television, or Films,Workout Videos No null
LIBRARY_TYPE_FILTER Only libraries of these types will be used No movie, (can be movie, artist, photo, or show). Multiple options must be comma-separated, e.g. movie,show
LINK_TYPE The method to use for opening match links No app (app or http)
LOG_LEVEL How much the server should log No INFO (supported options are DEBUG, INFO, WARNING, ERROR, and CRITICAL)

FAQ

Can a user get my Plex Token?

No. The client never talks directly to the Plex server and any requests that need the token (e.g. querying movies, getting poster art) are made by the server.

Only a subset of the Plex response is given to the client to minimise the chance of sensitive information leaking out. All server logs have both PLEX_URL and PLEX_TOKEN replaced with **** to prevent accidental disclosure.

Can it do TV shows too?

Yes, you can include a TV library in your LIBRARY_TITLE_FILTER list.

Do you gather any data?

No. The server is entirely local to you and will work offline.

Do you support languages other than English?

Yes. The server will use your browser's preferred language by default if it's supported. Otherwise it'll fall back to English.

The translations can be found in configs/localization.

The file names follow BCP47 naming. Feel free to submit a Pull Request if you'd like your language to be supported.

Can I run MovieMatch behind a reverse proxy?

Yes, you can read some documentation here

MovieMatch crashes on startup with an error!

dns error: failed to lookup address information: Name or service not known

This is an issue with your DNS configuration, try using an IP address for Plex instead of a domain name as a workaround. See #70 for more details.

tcp connect error: Connection refused

MovieMatch can't connect to Plex due to your network configuration, see #51 for ideas on how to debug.

moviematch's People

Contributors

anarion80 avatar evotk avatar flying-sausages avatar gsenas avatar lukechannings avatar romzombie avatar therealshark 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moviematch's Issues

[Feature Request] Room Codes at bottom of app

Is your feature request related to a problem? Please describe. When using the app, I forget the room code after generating it. If someone needs the room code, I have to restart the room.

Describe the solution you'd like Would be nice to have the room code at the bottom of the app or in a place where I can easily reference it

Describe alternatives you've considered could also go by the thumbs as well

Additional context

[Feature Request] "Go Back" Option

Is your feature request related to a problem? Please describe.
We all do mistakes. A button to check back the previous movie / item would be nice in case we rate a movie too quickly.
It could be a "One Time dealer" (only once per movie) or unlimited returns.

Build documentation GitHub Pages

  • All documentation should be rewritten for 2.0
  • A user-friendly GitHub Pages website should be available with direct download links to the binaries,
  • as well as a one-liner for starting up in Docker, and

[Feature Request] Filter out watched media

Is your feature request related to a problem? Please describe.
Right now movies that I have already watched with plex show up in the stack as options.

Describe the solution you'd like
I would like a toggle option when creating a room that allows me to only show media that has not been watched by a certain user.

Describe alternatives you've considered
Another option would be to have each user log-in with plex (maybe using #14 ) and then into a room. Then moviematch could only show each user media that they have not watched.

Additional context
Great job on putting this together it's a great addition to my Plex server!

[Bug] The object is in an invalid state.

Describe the bug
Using MovieMatch through a lighttpd reverse proxy. The site loads, but when "engage" is clicked the error, "The object is in an invalid state." appears and am unable to proceed. Works when accessed directly on port 8000 via docker.

I am using lighttpd as a reverse proxy with the following configuration:

$HTTP["host"] == "moviematch.example.org" {
        $SERVER["socket"] == ":443" {
                proxy.header = ( "upgrade" => "enable")
                setenv.add-request-header   = ( "Connection" => "Upgrade")
                setenv.add-response-header  = ( "Connection" => "Upgrade")
                proxy.server  = ( "" =>
                    ( "internal" =>
                        (
                            "host" => "10.0.10.2",
                            "port" => 8000
                        )
                    )
                )
        }
}

Possible to add a working example for lighttpd proxy?

Updates to User Menu

Update user menu:

  • Add an arrow next to the avatar to indicate there is a menu
  • To use popper.js instead of manually positioning
  • To include the user's room progress (#19)
  • To include other users in the room and their progress

Reverse Proxy Subdirectory Support

Reverse proxy via Nginx works without much effort, but I've been unable to put it in a subdirectory. Is this supported? Example:
URL is https://domain.com/moviematch instead of https://domain.com

Every time I try to load the page it simply said 'Not Found'. Google Chrome dev tools show that a 404 error is occurring. I have other applications running behind a reverse proxy using subdirectories and would love to add this to the mix.

Please let me know if I can provide any further details.

[Bug] Holding Left or Right keys seems to lock the app

Describe the bug
Holding the keyboard keys "Left" and "Right" seems to rate a bunch of items than freeze the app controls (Keys are not responding) and emojis at the bottom become grayed out and unclickables. Only control left is swipe by holding the LMB.

A refresh of the page restore controls.

To Reproduce
Steps to reproduce the behavior:

  1. Enter Rating Room
  2. Hold Left or Right on the Keyboard for more than 3 seconds
  3. Controls are locked and needs a refresh

Expected behavior
Controls shouldn't be locked. Maybe a limit on holding key duration is also necessary to avoid issues in the future.

Screenshot_12

Uncaught Error: not implemented!

error: Uncaught Error: not implemented!
    at Object.signal (deno:runtime/js/40_signals.js:164:13)
    at index.ts:17:6
    at <anonymous> (<anonymous>)

I'm running moviematch 1.2.0 on deno 2.3.3 in vscode 1.52.1

[Feature Request] Sort Matches Descending

Would be nice to have the matches as they occur be shown in descending order. Currently refreshes but adds to the end and you have to scroll to the right to see what was added.

Love this app by the way, thank you for it.

[Feature Request] Enhance the desktop layout

Is your feature request related to a problem? Please describe.
The mobile experience of MovieMatch works like a charm but the current desktop ergonomy still lacks some keys elements.
The posters might be too zoomed in creating graphical artifacts and stretching over the current quality of the posters stored in Plex.

Matched items are also stored inline creating a scrollbar. It could make more sens to display them as a grid on desktop.

Describe the solution you'd like
Create a more specific layout for Desktop.

[Feature Request] Room Progress Bar

Is your feature request related to a problem? Please describe.
When users are making selections it would be nice to have an idea how far each room member has gone (i.e. see that the other person has reviewed half as many cards as you have)

Describe the solution you'd like
Progress bar with marks on it for each room member showing how far along each room member is in reviewing cards.

Crude example:
---------[Alex]-----------[Joe]---------------------------[Chris]

Describe alternatives you've considered
A counter to show room members and a count of number of cards reviewed.

Additional context
The overall idea is to have some sort of understood stopping point whereby everyone in the room has reviewed the same number of cards (more or less) to identify matches.

Uncaught Error: not implemented!

I followed your directions and i looked at the other issues but i didn't see anyone else which this problem. Below is the console output.

deno run --allow-net --allow-read --allow-env --unstable src/index.ts
error: Uncaught Error: not implemented!
at Object.signal (deno:runtime/js/40_signals.js:164:13)
at index.ts:17:6
at ()

and my .Env file is below (i X'd out most of the token but it is filled out)

PLEX_URL=http://192.168.4.34:32400
PLEX_TOKEN=6_gaXXXXXXXXXXXXX

[Feature Request] Persistent Database

love the app, but doesn't seam very practical, if every time i reboot or rebuild (to make a settings change) the container, i loose all history...

Most docker images have an AppData value, where the application saves its relevant data. i didn't see any variable for that. did i miss it?

when i do a docker inspect, i get the felling something should be configured here: (rather than null)

    "HostConfig": {
        "Binds": null,
        "ContainerIDFile": "",
        "LogConfig": {
            "Type": "json-file",
            "Config": {
                "max-file": "1",
                "max-size": "50m"
            }
        },

[Fixed] Uncaught (in promise) Error: Authentication error due to docker being in bridge mode

I've got the following error:

�[0m�[1m�[31merror�[0m: Uncaught (in promise) Error: Authentication error: http://192.168.8.10:32400/library/sections?X-Plex-Token=<token>

although my url and token was correct. I could copy and paste the combined url into an incognito window and successfuly load the xml.

Turns out that on unraid a new docker was in bridge mode by default. Setting it to host mode fixed the problem for me.

Just thought that maybe this could be interesting for someone else. Maybe even worth a mention in the readme?

Matches metadata not respecting base URL

Describe the bug
The links for matches don't have the base URL in front of them, so you get a 404 error when trying to load them.

To Reproduce
Steps to reproduce the behavior:

  1. Install using Nginx reverse proxy to subdirectory moviematch
  2. Use app until matches are found

Expected behavior
The links to include the root URL when set.

Screenshots
Here is where the poster and data aren't loaded:
image
Here are the links missing the base url:
image
These are some of the links that have the base url:
image

Desktop (please complete the following information):

  • OS: Windows 10 / Android
  • Browser Chrome 87

Additional context
The base URL is set via ROOT_PATH=/moviematch and my Nginx reverse proxy is set per the wiki.

[Feature Request] Built in authentication based on room codes

Is your feature request related to a problem? Please describe.
Remote access isn't currently secure (without VPN etc).

Describe the solution you'd like
Add simple authentication based on the room codes - only allow local users (or logged in plex user) to generate new room codes. Then remote users must input a correct room code to access the tool.

[Bug] - ROOT_PATH=/moviematch breaks site

in my docker compose I have this == ROOT_PATH=/moviematch

Going to http://localhost:8000/moviematch gives me an error of "Not Found"

Going to http://localhost:8000/ brings up the site, but no images/icon load.
The site is expecting them under /moviematch/assets/logo.svg but they're in /assets/logo.svg (for example)

I assumed that adding that root path would 'move' the site under /moviematch -- and with that allow it to work behind the reverse proxy.

Debug log - https://pastebin.com/DTnv7hd0

[Bug] Port set in docker-compose apparently not used by moviewatch

Describe the bug
Port set in docker-compose not used by moviewatch

To Reproduce
In docker-compose.yml, use:
ports:
- 7999:7999

then docker-compose up -d

In the browser at my NAS's IP address:7999 I cycle between ERR_EMPTY_RESPONSE and ERR_CONNECTION_RESET

So I checked the container's log which states: "INFO Listening on port 8000"

Expected behavior

Load at the port set in the compose file.

Additional context

This is on a Synology NAS.

Issues when accessing link

Hi there,

I have this installed via Docker and behind Traefik and am able to access my domain just fine to pull up MovieMatch, however I'm experiencing the two following issues:

  1. When accessing via Desktop the GENERATE button does nothing, but ENGAGE works but loads an error page.
  2. When accessing via mobile the ENGAGE button does nothing, but GENERATE creates a code for a room.

Any guidance appreciated.

Fix release pipeline for Docker multi-arch images

It appears that QEMU has a bug that causes the Docker build to fail when building MovieMatch for ARM64.
deno bundle fails with:

error: error sending request for url (https://deno.land/[email protected]/log/mod.ts): error trying to connect: tls handshake eof

I can't reproduce this issue on a native ARM64 chip (I tested on an M1 mac with Docker), so I suspect this is a QEMU bug.

Solution:

  • Bundle MovieMatch in the binary compile step and add the platform-agnostic JS bundle as an asset to the release
  • Make the Docker build depend on the binary release step, and download the bundle instead of the full source

Loading Movies

Hi,

I'm running into an issue running this, I get "Loading movies" in the browser, and nothing happens.

Here's the logs:

oliver@XXX:~$ sudo docker run -it -e PLEX_URL=https://XXX:32400 -e PLEX_TOKEN=XXX -e LIBRARY_FILTER=Movies,Films -e LOG_LEVEL=DEBUG -p 8000:8000 lukechannings/moviematch
DEBUG Log level DEBUG
INFO Listening on port 8000
DEBUG serveFile(/app/public/index.html)
DEBUG serveFile(/app/public/style.css)
DEBUG serveFile(/app/public/js/main.js)
DEBUG serveFile(/app/public/assets/logo.svg)
DEBUG serveFile(/app/public/assets/background-grain.png)
DEBUG serveFile(/app/public/assets/background.svg)
DEBUG serveFile(/app/public/js/MovieMatchAPI.js)
DEBUG serveFile(/app/public/js/CardView.js)
DEBUG serveFile(/app/public/js/MatchesView.js)
DEBUG serveFile(/app/public/assets/icons/favicon-32x32.png)
INFO Got a login: {"name":"Oliver","roomCode":"BSBL"}
DEBUG New session created. Active session ids are: BSBL
DEBUG New user Oliver logged in
DEBUG Oliver asked for the next batch of movies

[Feature Request] Show brief details of movie

I was thinking even a link to the agent (link to IMDb or TMDB) that matched the movie in Plex would be great to have for people who haven't ever heard of a movie that shows up in the selection. I'm not sure how a brief plot description would fit in the current UI, which is why I'm suggesting a button/link instead.

Bonus would be for a link to the movie trailer on Youtube.

Engage button not working with HTTPS

I set this up with my Nginx reverse proxy. It works fine when accessed locally, but when accessed externally (https), the Engage button doesn't do anything. Not sure if this is an issue with my Nginx setup for this, the app, or potentially the Plex server address in the docker run. That should just be the local address for Plex, right?

[Feature Request] Pick Playlist/Genre/Tag

Is your feature request related to a problem? Please describe.
N/A

Describe the solution you'd like
It would be nice to pick a tag/playlist/genre for movies. For example, we may want to watch a Christmas film but can't decide which one.

Describe alternatives you've considered
N/A

Additional context
More flexibility in picking what genres/tags/playlists to show when first "logging" into a room.

Improvements to Card Stack

The Card Stack can suffer from performance problems, possibly due to using Web Animations API in the way I do.

Tasks:

  • Investigate using react-spring and react-use-gesture
  • Allow scrolling within the card (long descriptions)
  • Allow scrolling vertically when tapping the card

Request for new Release

Hello, i wanted to use the newly added feature allowing to create links to https://app.plex.tv instead of https://{server} added here: #23

I'm using the Dockerfile and configured the LINK_TYPE. After debugging for a while (checking docker config/sourcecode/building the image myself locally) i finally realised, the latest release (and published docker image) doesn't have this changes yet.

Therefore i'm humbly requesting a new release incorporating this changes 👍

Library selection

Would it be possible to add a env variable to select a library? Not sure how it is choosing right now, but when I run this it chooses my home video library

[Feature Request] option to select playlist as filter

Is your feature request related to a problem? Please describe. Instead of always going from the full library, in my case over 700 films, even a random selection of 25 isn't good enough. A playlist could set up a movie night theme and then one is picked from there.

Describe the solution you'd like select playlist from filter menu, and then only the media in the playlist will be available to swipe.

Describe alternatives you've considered I could add each bit of media to a new collection, but that's not a tenable solution as it's messy and a lot of bookkeeping.

Uncaught (in promise)

I am getting this error.

[34mINFO Listening on port 8000�[39m
�[0m�[1m�[31merror�[0m: Uncaught (in promise) Error: <html><head><title>Unauthorized</title></head><body><h1>401 Unauthorized</h1></body></html>
throw new Error(await req.text())

Any ideas?

error trying to connect: tcp connect error: Connection refused (os error 111) [Bug]

Describe the bug
Container stops with exit code 1, gives this log:

INFO Listening on port 8080

error: Uncaught (in promise) TypeError: error sending request for url (https://:32400/library/sections?X-Plex-Token=): error trying to connect: tcp connect error: Connection refused (os error 111)

at processResponse (deno:core/core.js:223:11)
at Object.jsonOpAsync (deno:core/core.js:240:12)
at async fetch (deno:op_crates/fetch/26_fetch.js:1278:29)
at async getSections (plex.ts:33:15)
at async plex.ts:77:20

To Reproduce
Steps to reproduce the behavior:

  1. deploy container using docker-compose
  2. view logs

Expected behavior
The container starts

Server:

  • OS: Open-Media-Vault 5.6.0
  • Docker: OMV-extras

Cannot read property 'guid' of undefined

I get this error right away when using the app. The initial cards load but once I run out, no more are populated by the sendNextBatch method

[34mINFO Got a login: {"name":"Peter","roomCode":"L3O5"}[39m
DEBUG New session created. Active session ids are: L3O5
DEBUG New user Peter logged in
DEBUG Peter asked for the next batch of movies
[31mERROR TypeError: Cannot read property 'guid' of undefined
at getRandom (plex.ts:68:38)
at plex.ts:71:22
at async session.ts:157:31
at async Promise.all (index 1)
at async Session.sendNextBatch (session.ts:154:7)
at async Session.handleMessage (session.ts:103:11)[39m

[Bug] Uncaught exception using a Docker Run

Describe the bug
When creating the container using docker run, exception is caught stating the following:

INFO Listening on port 8000
error: Uncaught (in promise) Error: <title>Not Found</title>

404 Not Found


throw new Error(await req.text())
^
at getSections (plex.ts:42:11)
at async plex.ts:74:20

Maybe it should also use another port than 8000 as it is a port used generically by apps in dev and can create conflicts in the future.

Improve room code ergonomics

It's hard to share the code, and there are situations when a room code isn't really needed at all.

  • add an option to disable room codes
  • implement a share sheet for the room code to make it easier to share

[Bug] Cannot hit engage button when running through Synology reverse proxy

Describe the bug
Have set up a reverse proxy using Synology's built in application portal and can access Webapp (pointing to sub.domain.com) but after entering name and room code hitting engage button does nothing. When accessing the Webapp from the localhost it behaves as expected.

Running latest version 1.2

To Reproduce
Set up reverse proxy using Synology's application portal
Access Webapp via subdomain
Fill-out required fields
Hit Engage button

Expected behavior
Proceed to use Webapp as intended

Screenshots
Docker logs
image

Desktop (please complete the following information):

  • OS: Windows and IOS
  • Browser: Chrome, Safari (Desktop and IOS)
  • Version 1.2

[Feature Request] - SWAG integration

Do you know how to get integrated into SWAG so I can put it behind my domain for remote access along with my other apps?

Ideally a subfolder as that is how I am set up right now.

what would go in these files?

moviematch.subdomain.conf.sample and/or moviematch.subfolder.conf.sample

[Feature Request] Support for ARM, e.g. Raspberry Pi

Is your feature request related to a problem? Please describe.
I use the Plex server on an x86_64 machine, with all the "support services" on a few Raspberry Pi 4s.

Describe the solution you'd like
An ARM build of the Docker image.

[Bug] 404 Not Found

Describe the bug
I'm using Docker to run this through a treafik reverse proxy. Checking the logs in Portainer, when I start the container I the logs get spammed with this

INFO Listening on port 8001 error: Uncaught (in promise) Error: <html><head><title>Not Found</title></head><body><h1>404 Not Found</h1></body></html> throw new Error(await req.text()) ^ at getSections (plex.ts:45:11) at async plex.ts:77:20

I had to change to 8001 port as CloudCMD uses port 8000.

I have tried various different plex server locations. https://plex.mydomain.com is accessible through anyone on the net and I tried this first. No luck. I tried http://localhost:32400, I've tried http://plex:32400/. All seem to give similar errors.

I attached a screen shot with my Domian and token truncated for more information.

To Reproduce
Launch the program with docker compose. Check portainer logs, see this.

Desktop (please complete the following information):

  • OS: Ubuntu, but running Docker

Screenshot 2021-02-22 124147

[Bug] Docker-compose seems to fail "error: Uncaught (in promise) URIError: invalid port number"

Docker-compose seems to fail "error: Uncaught (in promise) URIError: invalid port number"

docker-compose.yml

moviematch:
image: lukechannings/moviematch
hostname: moviematch
container_name: moviematch
environment:
- PLEX_URL=http://:32400
- PLEX_TOKEN=""
ports:
- xxxx:8000

Expected behavior
It seems no matter what ports I set, I get an error and the container fails to come up:

INFO Listening on port 8000
error: Uncaught (in promise) URIError: invalid port number
at processResponse (deno:core/core.js:223:11)
at Object.jsonOpAsync (deno:core/core.js:240:12)
at async fetch (deno:op_crates/fetch/26_fetch.js:1278:29)
at async getSections (plex.ts:30:15)
at async plex.ts:74:20

Desktop (please complete the following information):

  • OS: Docker on macOS 11.1

[Feature Request] Auth with Plex

Is your feature request related to a problem? Please describe.
It would be nice to be able to auth with Plex in order to not let anyone see what films you've got in your libraries.
You could also use this to pre-fill names for the users and get some nice pictures if they have them set up

Describe the solution you'd like
Use Plex SSO and check if the machine ID matches the server

Describe alternatives you've considered
using a reverse proxy with some other SSO/Auth mechanism

Additional context
N/A

[Bug] Vanilla docker run/compose raises ERR_SSL_PROTOCOL_ERROR

Describe the bug
Chrome (Chromium) attempts to redirect to HTTPS instead of unencrypted HTTP.

To Reproduce
Steps to reproduce the behavior:

  • docker run -it -e PLEX_URL=<Plex URL> -e PLEX_TOKEN=<Your Token> -p 8000:8000 lukechannings/moviematch or the docker-compose equivalent
  • Open localhost:8000
  • Chromium v84.0.4147.105 raises:
This site can’t provide a secure connection192.168.8.151 sent an invalid response.
Try running Windows Network Diagnostics.
ERR_SSL_PROTOCOL_ERROR

Expected behavior
Fallback to insecure connection with scary warnings when SSL termination doesn't happen.

Screenshots
2021-01-09 12_10_50-192 168 8 151 - Chromium

Desktop (please complete the following information):

  • OS: Windows 10 (v2004 Build 19041.685)
  • Browser: Chromium
  • Version: 84.0.4147.105

Smartphone (please complete the following information):

  • N/A

Additional context
I expect the results to be the same across OSes and browsers. Haven't thoroughly tested, but can if necessary. Ideally, MovieMatch would fallback to an insecure connection without an SSL cert instead of necessitating using nginx or traefik, but that sounds like the obvious upstream solution combined with Let's Encrypt or another CA's cert.

[Bug] Safari - Not Found

Describe the bug
On Safari receiving Not Found after engage. Working as expected on Firefox and Edge. The generate button does not work but if an existing room code is used it returns not found every time.

Using Nginx proxy manager. Proxy https://moviemanager.domain.com to http://localip:8000. Tried setting the ROOT_PATH to / but no luck.

To Reproduce
Steps to reproduce the behavior:

  1. Attempt to launch in safari.

Expected behavior
Reach the MovieMatch UI.

[Bug] test label thing

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Relative URL without a Base

Originally posted by @LukeChannings in #8 (comment)

I followed some of the steps in issue #8, my issue is as follows

error: Uncaught (in promise) URIError: relative URL without a base
at processResponse (deno:core/core.js:223:11)
at Object.jsonOpAsync (deno:core/core.js:240:12)
at async fetch (deno:op_crates/fetch/26_fetch.js:1278:29)
at async getSections (plex.ts:30:15)
at async plex.ts:74:20

I confirmed <PLEX_URL>/library/sections?X-Plex-Token=<PLEX_TOKEN> in a browser it does load some XML and not give an Unauthorized error. My <PLEX_URL> is http://127.0.0.1:32400

I obtained the token by right clicking the Plex server icon on my PC, and then using the find XML guide referenced in the readme

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.