Giter Club home page Giter Club logo

jellyfin-react-client's Introduction

jellyfin-react-client

The next generation client application for Jellyfin


Attention - Not Maintained

This project is kept here for legacy purposes, but is not used or maintained. It is not used in any deployed Jellyfin app. For active projects, please see the main Jellyfin organization.


Project created manually, based on: react-everywhere/re-start#60

This project uses yarn.

Install

Run yarn install in the jellyfinclient directory

Run the project on a specific platform

All the following commands are run inside the jellyfinclient directory

Android/iOS

yarn run android
yarn run ios

Android requires the ANDROID_HOME variable to be set.

In case of problems, this tutorial will help you to configure your environment.

Desktop (Electron)

yarn run electron

Web

yarn run web

Windows (UWP)

yarn run windows

Windows platforms needs to have installed the Windows 10 SDK Build 14393 to be able to be build. A certificate is needed to sign the binary, follow the instructions to create or update the sign certificate. After that, a pop-up window would appear during the first time you exec the build process asking to install the certificate you've just created, just accept it.

Build for production

Android

yarn run android:release

Electron

yarn run electron:release

If you are running this on Linux or OSX, this will need you have wine 1.6 installed in your system because setting the Windows app icon makes usage internally of the node-rcedit package.

iOS

yarn run ios:release

Web

yarn run web:release

This will build your production ready bundle

Windows (UWP)

yarn run windows:release

jellyfin-react-client's People

Contributors

anthonylavado avatar backwards-rat-race avatar deerparker avatar developerol avatar dkanada avatar drpandemic avatar erayan avatar fruhnow avatar jerbmega avatar joshuaboniface avatar justaman avatar kesslern avatar matt07211 avatar petermcneil avatar sparky8251 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

Watchers

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

jellyfin-react-client's Issues

Does not show media, gives error when connecting to server

Myne will not connect to the server. Its a localhost. When I input my username and password it gives the following error
DEMO-STRING (your resumable items):

{"Items":[],"TotalRecordCount":0}

Did a electron windows 64 built.
on console it shows connection refused
I see its also connecting to emby addresses and not jellyfin.
I dont know how far the project is. If this is still down the road?

clean-up screens folder

At the moment, the EntryScreen and the LoginScreen Component consist of only one Component.

after "yarn run electron:release", run "Jellyfin Client" , I can't login. The log is:

DEMO-STRING (your resumable items):

{"Items":[],"TotalRecordCount":0}

The log file is:

[2019-12-26 21:42:59.872 +08:00] [INF] FFmpeg: SetByArgument: "/usr/lib/jellyfin-ffmpeg/ffmpeg"
[2019-12-26 21:42:59.875 +08:00] [INF] ServerId: "0033480f23c342cd9fd9f1cb9af0603e"
[2019-12-26 21:43:00.310 +08:00] [INF] Executed all pre-startup entry points in 0:00:00.4136701
[2019-12-26 21:43:00.310 +08:00] [INF] Core startup complete
[2019-12-26 21:43:00.986 +08:00] [INF] Watching directory /data_dir/disk_sdb1/media_home/music_home
[2019-12-26 21:43:00.986 +08:00] [INF] Watching directory /data_dir/disk_sdb1/media_home/image_home
[2019-12-26 21:43:00.989 +08:00] [INF] Watching directory /data_dir/disk_sdb1/media_home/video_home
[2019-12-26 21:43:01.080 +08:00] [INF] Executed all post-startup entry points in 0:00:00.7687639
[2019-12-26 21:43:01.129 +08:00] [INF] Registering publisher for "urn:schemas-upnp-org:device:MediaServer:1" on "192.168.1.108"
[2019-12-26 21:43:02.761 +08:00] [INF] "StartupTrigger" fired for task: "Check for plugin updates"
[2019-12-26 21:43:02.766 +08:00] [INF] Queueing task "PluginUpdateTask"
[2019-12-26 21:43:02.782 +08:00] [INF] Executing "Check for plugin updates"
[2019-12-26 21:43:03.507 +08:00] [WRN] HTTP Response 204 to "192.168.1.107". Time (slow): 0:00:01.0435733. "http://192.168.1.108:8096/Sessions/Playing/Progress"
[2019-12-26 21:43:07.086 +08:00] [INF] "Check for plugin updates" Completed after 0 minute(s) and 4 seconds
[2019-12-26 21:43:07.113 +08:00] [INF] ExecuteQueuedTasks
[2019-12-26 21:43:10.025 +08:00] [ERR] Error creating http port map
MediaBrowser.Model.Net.HttpException: Internal Server Error
at Emby.Server.Implementations.HttpClientManager.HttpClientManager.EnsureSuccessStatusCode(HttpResponseMessage response, HttpRequestOptions options)
at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsyncInternal(HttpRequestOptions options, HttpMethod httpMethod)
at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsync(HttpRequestOptions options, HttpMethod httpMethod)
at Mono.Nat.Upnp.UpnpNatDevice.CreatePortMap(Mapping mapping)
at Emby.Server.Implementations.EntryPoints.ExternalPortForwarding.CreateRules(INatDevice device)
[2019-12-26 21:43:27.044 +08:00] [INF] WS "http://192.168.1.108:8096/socket?api_key=37cd69afe6a84f18a2746e8b0fba108a&deviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6NzEuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC83MS4wfDE1NzczNjQyMTY2OTQ1". UserAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2019-12-26 21:43:28.950 +08:00] [INF] WS "http://192.168.1.108:8096/socket?api_key=37cd69afe6a84f18a2746e8b0fba108a&deviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6NzEuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC83MS4wfDE1NzczNjQyMTY2OTQ1". UserAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0"
[2019-12-26 21:44:12.678 +08:00] [INF] Authentication request for "demo" "has succeeded".
[2019-12-26 21:44:12.682 +08:00] [INF] Reissuing access token: aa7e93510ab942fe9fe91dcced953752

Configurate eslint

We should add an eslint configuration file. This will help us stay consistent. I think we should base ourselves on some "big" presets like airbnb or google.

.gitignore only in subdirectory, extract contents to root dir

Hey there!

I saw that there is only a .gitignore file in the subdirectory. Wouldn't it be better to pull that one level up?

Or better yet: Pull all /jellyfinclient/ folder contents to the project root?

Thanks in advance and regards,

Luca

PS: I could do a PR if you want 😃

Platform Builds?

Hi

Is it possible to provide premade builds for those of us who suck at this stuff? I would be happy to test the app but I do not have win or android dev skills to build this.

thanks

android build fail

....... node_modules/react-native/react.gradle' line: 95

  • What went wrong:
    A problem occurred configuring project ':app'.

Could not get unknown property 'mergeResourcesProvider' for object of type com.android.build.gradle.internal.api.ApplicationVariantImpl.

react native issue?

wix/react-native-navigation#4757 (comment)

validate storage before routing

the app should validate, that all variables are set before allowing access to further pages.
eg. don't allow "/login" when there are no connection settings yet.

Define a Minimal Viable Product

I think it would help to define a minimal set of features we want for a first usable version of the client.
One way to phrase it is with a scenario like "As a user I want to play a video on my server". The scenarios we want to address will lead our future works.
I am new to the project so I don't have all the project's history in mind. Let me know what you think!

Is it true that the PC and mobile isomorphisms are feasible?

The goal of this project, I want to say some of my own views, may be biased.
I think the mobile and PC should be divided into two projects. React Native and Electron isomorphic development may not be a good idea.

  1. The RN itself is limited by the platform and sacrifices a lot of performance and interactive experience for code isomorphism. This also makes PC-side applications unable to achieve the best interaction.
  2. For PC and mobile isomorphism, you need to write a lot of configuration, hack, and compatibility code.

Advantages of separate maintenance:

  1. You can use the best interaction of your platform without having to consider how to make a platform compatible. Can reduce mental burden
  2. Code quality will improve and maintenance costs will decrease
  3. Potential contributors are more likely to get started, maybe this project can progress faster

My point is:

I recommend splitting into two project developments, the mobile side is based on RN implementation, and the PC side is based on Electron+React.

Switch JS to TypeScript

Hi everyone,

I think it may be a good decision to switch to Typescrypt (typed data, some optimisations etc etc).

More industrial way to code.

iOS build issues on macOs

Hi. Not sure if the issues are just for me but when running 'yarn run ios' or 'react-native run-ios' I had issues stating that the simulator cannot be ran.

After investigation I was facing this react-native bug which occurs on macOS 14;

facebook/react-native#23282

I upgraded the react-native library to latest version in the package.json and the issue was resolved. But then faced issues with linking the binary during compilation. This required the xcode project to be changed to link the javascript iOS framework.

Have/are others running this on iOS without issues?
I have committed fixes for the above issues on my fork and I will add a pull request for this issue if the changes want to be merged in.

Skip ahead / behind for audio

On the desktop web app, when playing my podcasts, there are skip ahead / back buttons (10 or 30 seconds, something like that). Those aren't present in this app, on an iPhone X.

I'm not sure if this is an issue with this app, or the web UI since my understanding is that this app is just a small web wrapper. If this issue should be opened on the web repo, I'd be happy to create one there instead.

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.