Giter Site home page Giter Site logo

Comments (4)

Radiicall avatar Radiicall commented on May 27, 2024

There was no output in the terminal when running it?

from jellyfin-rpc.

Radiicall avatar Radiicall commented on May 27, 2024

I started up gdb in an Alpine container, i got this backtrace and im putting it here

#0  0x0000000000000000 in ?? ()
No symbol table info available.
#1  0x00007f0de906d167 in openssl::ssl::SslMethod::tls () at src/ssl/mod.rs:339
No locals.
#2  0x00007f0de9065202 in native_tls::imp::TlsConnector::new (builder=0x7fffa91186f0) at src/imp/openssl.rs:280
No locals.
#3  0x00007f0de9064542 in native_tls::TlsConnectorBuilder::build (self=0x7fffa91186f0) at src/lib.rs:446
No locals.
#4  0x00007f0de8e9152f in reqwest::connect::Connector::new_default_tls<core::option::Option<core::net::ip_addr::IpAddr>> (http=..., 
    tls=..., proxies=..., user_agent=<error reading variable: Cannot access memory at address 0x20>, 
    local_addr=<error reading variable: Cannot access memory at address 0x200>, nodelay=true) at src/connect.rs:89
No locals.
#5  0x00007f0de8eb2a65 in reqwest::async_impl::client::ClientBuilder::build (self=...) at src/async_impl/client.rs:344
        tls = native_tls::TlsConnectorBuilder {identity: core::option::Option<native_tls::Identity>::None, min_protocol: core::option::Option<native_tls::Protocol>::Some(native_tls::Protocol::Tlsv10), max_protocol: core::option::Option<native_tls::Protocol>::None, root_certificates: alloc::vec::Vec<native_tls::Certificate, alloc::alloc::Global> {buf: alloc::raw_vec::RawVec<native_tls::Certificate, alloc::alloc::Global> {ptr: core::ptr::unique::Unique<native_tls::Certificate> {pointer: core::ptr::non_null::NonNull<native_tls::Certificate> {pointer: 0x8}, _marker: core::marker::PhantomData<native_tls::Certificate>}, cap: 0, alloc: alloc::alloc::Global}, len: 0}, accept_invalid_certs: false, accept_invalid_hostnames: false, use_sni: true, disable_built_in_roots: false}
        http = hyper::client::connect::http::HttpConnector<reqwest::dns::resolve::DynResolver> {config: alloc::sync::Arc<hyper::client::connect::http::Config> {ptr: core::ptr::non_null::NonNull<alloc::sync::ArcInner<hyper::client::connect::http::Config>> {pointer: 0x7f0de74f0820}, phantom: core::marker::PhantomData<alloc::sync::ArcInner<hyper::client::connect::http::Config>>}, resolver: reqwest::dns::resolve::DynResolver {resolver: alloc::sync::Arc<dyn reqwest::dns::resolve::Resolve> {ptr: core::ptr::non_null::NonNull<alloc::sync::ArcInner<dyn reqwest::dns::resolve::Resolve>> {pointer: *const alloc::sync::ArcInner<dyn reqwest::dns::resolve::Resolve> {pointer: 0x7f0de8d43530, vtable: 0x7f0de9698a90warning: (Internal error: pc 0x7f0de9698a90 in read in CU, but not in symtab.)
warning: (Error: pc 0x7f0de9698a90 in address map, but not in symtab.)
}}, phantom: core::marker::PhantomData<alloc::sync::ArcInner<dyn reqwest::dns::resolve::Resolve>>}}}
        resolver = alloc::sync::Arc<dyn reqwest::dns::resolve::Resolve> {ptr: core::ptr::non_null::NonNull<alloc::sync::ArcInner<dyn reqwest::dns::resolve::Resolve>> {pointer: *const alloc::sync::ArcInner<dyn reqwest::dns::resolve::Resolve> {pointer: 0x7f0de8d43530, vtable: 0x7f0de9698a90warning: (Internal error: pc 0x7f0de9698a90 in read in CU, but not in symtab.)
warning: (Error: pc 0x7f0de9698a90 in address map, but not in symtab.)
}}, phantom: core::marker::PhantomData<alloc::sync::ArcInner<dyn reqwest::dns::resolve::Resolve>>}
        proxies = alloc::sync::Arc<alloc::vec::Vec<reqwest::proxy::Proxy, alloc::alloc::Global>> {ptr: core::ptr::non_null::NonNull<alloc::sync::ArcInner<alloc::vec::Vec<reqwest::proxy::Proxy, alloc::alloc::Global>>> {pointer: 0x7f0de8d46d80}, phantom: core::marker::PhantomData<alloc::sync::ArcInner<alloc::vec::Vec<reqwest::proxy::Proxy, alloc::alloc::Global>>>}
        proxies = alloc::vec::Vec<reqwest::proxy::Proxy, alloc::alloc::Global> {buf: alloc::raw_vec::RawVec<reqwest::proxy::Proxy, alloc::alloc::Global> {ptr: core::ptr::unique::Unique<reqwest::proxy::Proxy> {pointer: core::ptr::non_null::NonNull<reqwest::proxy::Proxy> {pointer: 0x7f0de74f0020}, _marker: core::marker::PhantomData<reqwest::proxy::Proxy>}, cap: 4, alloc: alloc::alloc::Global}, len: 1}
        config = reqwest::async_impl::client::Config {accepts: reqwest::async_impl::decoder::Accepts, headers: http::header::map::HeaderMap<http::header::value::HeaderValue> {mask: 1, indices: alloc::boxed::Box<[http::header::map::Pos], alloc::alloc::Global> [
              http::header::map::Pos {index: 65535, hash: http::header::map::HashValue (0)}, 
              http::header::map::Pos {index: 0, hash: http::header::map::HashValue (25701)}], entries: alloc::vec::Vec<http::header::map::Bucket<http::header::value::HeaderValue>, alloc::alloc::Global> {buf: alloc::raw_vec::RawVec<http::header::map::Bucket<http::header::value::HeaderValue>, alloc::alloc::Global> {ptr: core::ptr::unique::Unique<http::header::map::Bucket<http::header::value::HeaderValue>> {pointer: core::ptr::non_null::NonNull<http::header::map::Bucket<http::header::value::HeaderValue>> {pointer: 0x7f0de8d4d930}, _marker: core::marker::PhantomData<http::header::map::Bucket<http::header::value::HeaderValue>>}, cap: 2, alloc: alloc::alloc::Global}, len: 1}, extra_values: alloc::vec::Vec<http::header::map::ExtraValue<http::header::value::HeaderValue>, alloc::alloc::Global> {buf: alloc::raw_vec::RawVec<http::header::map::ExtraValue<http::header::value::HeaderValue>, alloc::alloc::Global> {ptr: core::ptr::unique::Unique<http::header::map::ExtraValue<http::header::value::HeaderValue>> {pointer: core::ptr::non_null::NonNull<http::header::map::ExtraValue<http::header::value::HeaderValue>> {pointer: 0x8}, _marker: core::marker::PhantomData<http::header::map::ExtraValue<http::header::value::HeaderValue>>}, cap: 0, alloc: alloc::alloc::Global}, len: 0}, danger: http::header::map::Danger::Green}, certs_verification: true, tls_sni: true, connect_timeout: core::option::Option<core::time::Duration>::None, connection_verbose: false, pool_idle_timeout: core::option::Option<core::time::Duration>::Some(core::time::Duration {secs: 90, nanos: core::time::Nanoseconds (0)}), pool_max_idle_per_host: 18446744073709551615, tcp_keepalive: core::option::Option<core::time::Duration>::None, proxies: alloc::vec::Vec<reqwest::proxy::Proxy, alloc::alloc::Global> {buf: alloc::raw_vec::RawVec<reqwest::proxy::Proxy, alloc::alloc::Global> {ptr: core::ptr::unique::Unique<reqwest::proxy::Proxy> {pointer: core::ptr::non_null::NonNull<reqwest::proxy::Proxy> {pointer: 0x8}, _marker: core::marker::PhantomData<reqwest::proxy::Proxy>}, cap: 0, alloc: alloc::alloc::Global}, len: 0}, auto_sys_proxy: true, redirect_policy: reqwest::redirect::Policy {inner: reqwest::redirect::PolicyKind::Limit(10)}, referer: true, timeout: core::option::Option<core::time::Duration>::None, root_certs: alloc::vec::Vec<reqwest::tls::Certificate, alloc::alloc::Global> {buf: alloc::raw_vec::RawVec<reqwest::tls::Certificate, alloc::alloc::Global> {ptr: core::ptr::unique::Unique<reqwest::tls::Certificate> {pointer: core::ptr::non_null::NonNull<reqwest::tls::Certificate> {pointer: 0x8}, _marker: core::marker::PhantomData<reqwest::tls::Certificate>}, cap: 0, alloc: alloc::alloc::Global}, len: 0}, tls_built_in_root_certs: true, min_tls_version: core::option::Option<reqwest::tls::Version>::None, max_tls_version: core::option::Option<reqwest::tls::Version>::None, tls: reqwest::tls::TlsBackend::Default, http_version_pref: reqwest::async_impl::client::HttpVersionPref::All, http09_responses: false, http1_title_case_headers: false, http1_allow_obsolete_multiline_headers_in_responses: false, http2_initial_stream_window_size: core::option::Option<u32>::None, http2_initial_connection_window_size: core::option::Option<u32>::None, http2_adaptive_window: false, http2_max_frame_size: core::option::Option<u32>::None, http2_keep_alive_interval: core::option::Option<core::time::Duration>::None, http2_keep_alive_timeout: core::option::Option<core::time::Duration>::None, http2_keep_alive_while_idle: false, local_address: core::option::Option<core::net::ip_addr::IpAddr>::None, nodelay: true, trust_dns: false, error: core::option::Option<reqwest::error::Error>::None, https_only: false, dns_overrides: std::collections::hash::map::HashMap<alloc::string::String, alloc::vec::Vec<core::net::socket_addr::SocketAddr, alloc::alloc::Global>, std::collections::hash::map::RandomState> {base: hashbrown::map::HashMap<alloc::string::String, alloc::vec::Vec<core::net::socket_addr::SocketAddr, alloc::alloc::Global>, std::collections::hash::map::RandomState, alloc::alloc::Global> {hash_builder: std::collections::hash::map::RandomState {k0: 11205178494957520301, k1: 9882104027811922963}, table: hashbrown::raw::RawTable<(alloc::string::String, alloc::vec::Vec<core::net::socket_addr::SocketAddr, alloc::alloc::Global>), alloc::alloc::Global> {table: hashbrown::raw::RawTableInner<alloc::alloc::Global> {bucket_mask: 0, ctrl: core::ptr::non_null::NonNull<u8> {pointer: 0x7f0de94a4fe0}, growth_left: 0, items: 0, alloc: alloc::alloc::Global}, marker: core::marker::PhantomData<(alloc::string::String, alloc::vec::Vec<core::net::socket_addr::SocketAddr, alloc::alloc::Global>)>}}}, dns_resolver: core::option::Option<alloc::sync::Arc<dyn reqwest::dns::resolve::Resolve>>::None}
#6  0x00007f0de8e09f0f in reqwest::get::{async_fn#0}<&str> ()
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/reqwest-0.11.18/src/lib.rs:287
        url = "https://github.com/Radiicall/jellyfin-rpc/releases/latest"
        url = "https://github.com/Radiicall/jellyfin-rpc/releases/latest"
        _task_context = 0x7fffa911e7a0
#7  0x00007f0de8e3e016 in jellyfin_rpc::core::updates::get_latest_github::{async_fn#0} () at src/core/updates.rs:27
        __awaitee = reqwest::get::{async_fn_env#0}<&str>::Unresumed{url: "https://github.com/Radiicall/jellyfin-rpc/releases/latest"}
        _task_context = 0x7fffa911e7a0
#8  0x00007f0de8e3d74a in jellyfin_rpc::core::updates::checker::{async_fn#0} () at src/core/updates.rs:6
        __awaitee = jellyfin_rpc::core::updates::get_latest_github::{async_fn_env#0}::Unresumed
        current = alloc::string::String {vec: alloc::vec::Vec<u8, alloc::alloc::Global> {buf: alloc::raw_vec::RawVec<u8, alloc::alloc::Global> {ptr: core::ptr::unique::Unique<u8> {pointer: core::ptr::non_null::NonNull<u8> {pointer: 0x7f0de8d5c080}, _marker: core::marker::PhantomData<u8>}, cap: 6, alloc: alloc::alloc::Global}, len: 6}}
        _task_context = 0x7fffa911e7a0
#9  0x00007f0de8e63678 in jellyfin_rpc::main::{async_block#0} () at src/main.rs:35
        __awaitee = jellyfin_rpc::core::updates::checker::{async_fn_env#0}::Unresumed
        _task_context = 0x7fffa911e7a0
#10 0x00007f0de8e49b03 in tokio::runtime::park::{impl#4}::block_on::{closure#0}<jellyfin_rpc::main::{async_block_env#0}> ()
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/runtime/park.rs:283
        f = core::pin::Pin<&mut jellyfin_rpc::main::{async_block_env#0}> {pointer: 0x7fffa911e7a8}
        cx = core::task::wake::Context {waker: 0x7fffa911e780, _marker: core::marker::PhantomData<fn(&()) -> &()>, _marker2: core::marker::PhantomData<*mut ()>}
#11 0x00007f0de8e49915 in tokio::runtime::coop::with_budget<core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<jellyfin_rpc::main::{async_block_env#0}>> (budget=..., f=...) at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/runtime/coop.rs:107
        maybe_guard = core::result::Result<tokio::runtime::coop::with_budget::ResetGuard, std::thread::local::AccessError>::Ok(tokio::runtime::coop::with_budget::ResetGuard {prev: tokio::runtime::coop::Budget (core::option::Option<u8>::None)})
        maybe_guard = <error reading variable maybe_guard (Cannot access memory at address 0x0)>
#12 tokio::runtime::coop::budget<core::task::poll::Poll<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>>, tokio::runtime::park::{impl#4}::block_on::{closure_env#0}<jellyfin_rpc::main::{async_block_env#0}>> (f=...)
--Type <RET> for more, q to quit, c to continue without paging--c
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/runtime/coop.rs:73
No locals.
#13 tokio::runtime::park::CachedParkThread::block_on<jellyfin_rpc::main::{async_block_env#0}> (self=0x7fffa911f198, f=...)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/runtime/park.rs:283
        v = core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>::Err(alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global> {pointer: 0x400, vtable: 0x0})
        f = core::pin::Pin<&mut jellyfin_rpc::main::{async_block_env#0}> {pointer: 0x7fffa911e7a8}
        f = jellyfin_rpc::main::{async_block_env#0}::Unresumed
        cx = core::task::wake::Context {waker: 0x7fffa911e780, _marker: core::marker::PhantomData<fn(&()) -> &()>, _marker2: core::marker::PhantomData<*mut ()>}
        waker = core::task::wake::Waker {waker: core::task::wake::RawWaker {data: 0x7f0de8d46d60, vtable: 0x7f0de96c48d8}}
#14 0x00007f0de8e6df82 in tokio::runtime::context::blocking::BlockingRegionGuard::block_on<jellyfin_rpc::main::{async_block_env#0}> (
    self=0x7fffa9120430, f=...)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/runtime/context/blocking.rs:66
        park = tokio::runtime::park::CachedParkThread {_anchor: core::marker::PhantomData<alloc::rc::Rc<()>>}
#15 0x00007f0de8e593cb in tokio::runtime::scheduler::multi_thread::{impl#0}::block_on::{closure#0}<jellyfin_rpc::main::{async_block_env#0}> (blocking=0x7fffa9120430)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/runtime/scheduler/multi_thread/mod.rs:87
        future = <optimized out>
#16 0x00007f0de8e5d254 in tokio::runtime::context::runtime::enter_runtime<tokio::runtime::scheduler::multi_thread::{impl#0}::block_on::{closure_env#0}<jellyfin_rpc::main::{async_block_env#0}>, core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>> (handle=0x7fffa9123260, allow_block_in_place=true, f=...)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/runtime/context/runtime.rs:65
        guard = tokio::runtime::context::runtime::EnterRuntimeGuard {blocking: tokio::runtime::context::blocking::BlockingRegionGuard {_p: core::marker::PhantomData<tokio::util::markers::NotSendOrSync>}, handle: tokio::runtime::context::current::SetCurrentGuard {prev: core::option::Option<tokio::runtime::scheduler::Handle>::Some(tokio::runtime::scheduler::Handle::MultiThread(alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle> {ptr: core::ptr::non_null::NonNull<alloc::sync::ArcInner<tokio::runtime::scheduler::multi_thread::handle::Handle>> {pointer: 0x7f0de8d4d2f0}, phantom: core::marker::PhantomData<alloc::sync::ArcInner<tokio::runtime::scheduler::multi_thread::handle::Handle>>})), depth: 2, _p: core::marker::PhantomData<tokio::util::markers::SyncNotSend>}, old_seed: tokio::util::rand::RngSeed {s: 1276619077, r: 3639684502}}
        maybe_guard = core::option::Option<tokio::runtime::context::runtime::EnterRuntimeGuard>::Some(tokio::runtime::context::runtime::EnterRuntimeGuard {blocking: tokio::runtime::context::blocking::BlockingRegionGuard {_p: core::marker::PhantomData<tokio::util::markers::NotSendOrSync>}, handle: tokio::runtime::context::current::SetCurrentGuard {prev: core::option::Option<tokio::runtime::scheduler::Handle>::Some(tokio::runtime::scheduler::Handle::MultiThread(alloc::sync::Arc<tokio::runtime::scheduler::multi_thread::handle::Handle> {ptr: core::ptr::non_null::NonNull<alloc::sync::ArcInner<tokio::runtime::scheduler::multi_thread::handle::Handle>> {pointer: 0x7f0de8d4d2f0}, phantom: core::marker::PhantomData<alloc::sync::ArcInner<tokio::runtime::scheduler::multi_thread::handle::Handle>>})), depth: 2, _p: core::marker::PhantomData<tokio::util::markers::SyncNotSend>}, old_seed: tokio::util::rand::RngSeed {s: 1276619077, r: 3639684502}})
#17 0x00007f0de8e5936c in tokio::runtime::scheduler::multi_thread::MultiThread::block_on<jellyfin_rpc::main::{async_block_env#0}> (
    self=0x7fffa9123238, handle=0x7fffa9123260, future=...)
    at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/runtime/scheduler/multi_thread/mod.rs:86
No locals.
#18 0x00007f0de8e406ba in tokio::runtime::runtime::Runtime::block_on<jellyfin_rpc::main::{async_block_env#0}> (self=0x7fffa9123230, 
    future=...) at /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.29.1/src/runtime/runtime.rs:313
        exec = 0x7fffa9123238
        _enter = tokio::runtime::handle::EnterGuard {_guard: tokio::runtime::context::current::SetCurrentGuard {prev: core::option::Option<tokio::runtime::scheduler::Handle>::None, depth: 1, _p: core::marker::PhantomData<tokio::util::markers::SyncNotSend>}, _handle_lifetime: core::marker::PhantomData<&tokio::runtime::handle::Handle>}
#19 0x00007f0de8e0f2fe in jellyfin_rpc::main () at src/main.rs:132
        body = jellyfin_rpc::main::{async_block_env#0}::Unresumed
#20 0x00007f0de8e0fabb in core::ops::function::FnOnce::call_once<fn() -> core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>, ()> () at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/core/src/ops/function.rs:250
No locals.
#21 0x00007f0de8e6de2e in std::sys_common::backtrace::__rust_begin_short_backtrace<fn() -> core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>, core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>> (f=0x7f0de8e0f1d0 <jellyfin_rpc::main>)
    at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/sys_common/backtrace.rs:135
No locals.
#22 0x00007f0de8e6cc41 in std::rt::lang_start::{closure#0}<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>> () at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/rt.rs:166
        main = 0x7f0de8e0f1d0 <jellyfin_rpc::main>
#23 0x00007f0de94498f5 in core::ops::function::impls::{impl#2}::call_once<(), (dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/core/src/ops/function.rs:284
No locals.
#24 std::panicking::try::do_call<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panicking.rs:500
No locals.
#25 std::panicking::try<i32, &(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe)> () at library/std/src/panicking.rs:464
No locals.
#26 std::panic::catch_unwind<&(dyn core::ops::function::Fn<(), Output=i32> + core::marker::Sync + core::panic::unwind_safe::RefUnwindSafe), i32> () at library/std/src/panic.rs:142
No locals.
#27 std::rt::lang_start_internal::{closure#2} () at library/std/src/rt.rs:148
No locals.
#28 std::panicking::try::do_call<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panicking.rs:500
No locals.
#29 std::panicking::try<isize, std::rt::lang_start_internal::{closure_env#2}> () at library/std/src/panicking.rs:464
No locals.
#30 std::panic::catch_unwind<std::rt::lang_start_internal::{closure_env#2}, isize> () at library/std/src/panic.rs:142
No locals.
#31 std::rt::lang_start_internal () at library/std/src/rt.rs:148
No locals.
#32 0x00007f0de8e6cc1a in std::rt::lang_start<core::result::Result<(), alloc::boxed::Box<dyn core::error::Error, alloc::alloc::Global>>> (main=0x7f0de8e0f1d0 <jellyfin_rpc::main>, argc=1, argv=0x7fffa9123ea8, sigpipe=0)
    at /rustc/8ede3aae28fe6e4d52b38157d7bfe0d3bceef225/library/std/src/rt.rs:165
No locals.
#33 0x00007f0de8e0f3ce in main ()
No symbol table info available.
#34 0x00007f0de947a9d5 in libc_start_main_stage2 () at ../src_musl/src/env/__libc_start_main.c:95
No locals.
#35 0x00007f0de8e055f1 in _start ()
No symbol table info available.

from jellyfin-rpc.

Radiicall avatar Radiicall commented on May 27, 2024

@pagusupu can you try compiling the https://github.com/Radiicall/jellyfin-rpc/tree/rustls-tls branch? It should work on alpine

from jellyfin-rpc.

pagusupu avatar pagusupu commented on May 27, 2024

sorry i shouldve clarified the output was just segmentation fault ./jellyfin-rpc

but new branch immediately works! thanks

from jellyfin-rpc.

Related Issues (20)

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.