Giter VIP home page Giter VIP logo

stremio-shell's Introduction

Build

Build instructions for Mac OS X

  1. Make sure you have Qt 5.10.x or newer and Qt Creator
  2. Open the project in Qt creator
  3. build it

Command line to build:

qmake
make

Build instructions for Windows

Please, refer to WINDOWS.md for a detailed explanation of how to build the latest Stremio in Windows.

Build instructions for Debian GNU/Linux

Please, refer to DEBIAN.md for a detailed explanation of how to build the latest Stremio in Debian.

Build instructions for OpenSuseLeap 15.0

Please, refer to OpenSuseLeap.md for a detailed explanation of how to build the latest Stremio in OpenSuseLeap 15.0

Build instructions for Docker builds of supported Linux distros

There are Docker files and setup scripts for supported Linux distributions (Debian, Fedora, Arch), located in the ./distros directory.

There is also an automated build script located in ./dist-utils/build-package.sh.

For more information refer to the DOCKER.md file.

Third-party install scripts

There are repositories for third-party install scripts that may be useful for you, most notably: https://github.com/alexandru-balan/Stremio-Install-Scripts

We give no guarantees about their correctness or security.

Releasing a version

  1. Bump the version in the stremio.pro file
  2. Create a git tag with the corresponding version

Arguments

--development: would make the shell load from http://127.0.0.1:11470 instead of https://app.strem.io and would force the shell to not try and start a streaming server

--staging: would load the web UI from https://staging.strem.io

--webui-url=: allows defining a different web UI URL

--streaming-server: when used with development, it would make the shell try to start a streaming server; this is the default behaviour in production

--autoupdater-force: would force the auto-updater to check for a new version

--autoupdater-force-full: would force the auto-updater to always perform a full update (rather than partial)

--autoupdater-endpoint=: would override the default checking endpoints for the autoupdater

To test the autoupdater, you can use a command like: ./stremio --autoupdater-force --autoupdater-endpoint="https://www.stremio.com/updater/check?force=true"; force=true passed to the update endpoint would cause it to always return the latest descriptor

stremio-shell's People

Contributors

alfespa17 avatar alfsamsung avatar beatlink avatar core1024 avatar emrecoban avatar ivshti avatar jaruba avatar jemadux avatar laimejesus avatar omarmesqq avatar shteryana avatar trtomasz avatar tymmesyde avatar vejeta avatar victorgveloso 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stremio-shell's Issues

Consider a different user agent

That will be whitelisted in CloudFlare. Might bring benefits with networking/loading

also it would make the shell easily recognizable in analytics

cannot make stremio

g++ -Wl,-O1 -Wl,-rpath-link,/usr/lib/x86_64-linux-gnu -o stremio singleapplication.o main.o mpv.o stremioprocess.o screensaver.o autoupdater.o systemtray.o razerchroma.o qclipboardproxy.o verifysig.o qrc_qml.o moc_singleapplication.o moc_singleapplication_p.o moc_mpv.o moc_stremioprocess.o moc_screensaver.o moc_mainapplication.o moc_autoupdater.o moc_systemtray.o moc_razerchroma.o moc_qclipboardproxy.o -lmpv -lcrypto -lQt5WebEngine -lQt5WebEngineCore -lQt5Quick -lQt5Widgets -lQt5Gui -lQt5WebChannel -lQt5Qml -lQt5Network -lQt5Positioning -lQt5Core -lGL -lpthread
/usr/bin/ld: cannot find -lmpv
collect2: error: ld returned 1 exit status
Makefile:210: recipe for target 'stremio' failed
make: *** [stremio] Error 1

[libmpv_render] At least OpenGL 2.1 or OpenGL ES 2.0 required.

After compiling stremio-shell in an 32bit old computer, I get this when running it
Is there a way to configure the mpv library to run it no matter the OpenGL library version?

./stremio
QProcess: Destroyed while process ("whoami") is still running.
ScreenSaver::retrieveState
ScreenSaver::retrieveState timeout: 0, interval: 0, preferBlanking:1, allowExposures:1
[cplayer] mpv 0.29.1 Copyright © 2000-2018 mpv/MPlayer/mplayer2 projects
[cplayer]  built on UNKNOWN
[cplayer] ffmpeg library versions:
[cplayer]    libavutil       56.14.100
[cplayer]    libavcodec      58.18.100
[cplayer]    libavformat     58.12.100
[cplayer]    libswscale      5.1.100
[cplayer]    libavfilter     7.16.100
[cplayer]    libswresample   3.1.100
[cplayer] ffmpeg version: 4.0.2-2+b1
[cplayer] 
[cplayer] Configuration: ./waf configure --prefix=/usr --libdir=/usr/lib/i386-linux-gnu --confdir=/etc/mpv --zshdir=/usr/share/zsh/vendor-completions --enable-cdda --enable-dvdnav --enable-dvdread --enable-libmpv-shared --enable-libsmbclient --enable-sdl2 --enable-sndio --enable-zsh-comp --disable-build-date --enable-dvbin
[cplayer] List of enabled features: 52arch alsa asm atomics caca cdda cplayer cplugins debug-build drm drmprime dvbin dvdnav dvdread dvdread-common egl-drm egl-helpers egl-x11 fchmod ffmpeg gbm gbm.h gl gl-wayland gl-x11 glibc-thread-name glob glob-posix gnuc gpl iconv jack jpeg lcms2 libaf libarchive libass libass-osd libav-any libavcodec libavdevice libbluray libdl libm libmpv-shared librt libsmbclient linux-fstatfs lua optimize oss-audio plain-gl posix posix-or-mingw posix-spawn posix-spawn-native pthreads pulse rubberband sdl2 sndio stdatomic uchardet vaapi vaapi-drm vaapi-egl vaapi-glx vaapi-wayland vaapi-x-egl vaapi-x11 vdpau vdpau-gl-x11 vt.h vulkan wayland wayland-protocols x11 xv zlib zsh-comp
[cplayer] Waiting for scripts...
Driver 'opengl-cb' has been replaced with 'libmpv'!
[cplayer] Set property: vo="opengl-cb" -> 1
Warning: property 'opengl-hwdec-interop' was replaced with 'gpu-hwdec-interop' and might be removed in the future.
[cplayer] Set property: gpu-hwdec-interop="auto" -> 1
[cplayer] Set property: opengl-hwdec-interop="auto" -> 1
[cplayer] Set property: cache-default=15000 -> 1
[cplayer] Set property: cache-backbuffer=15000 -> 1
[cplayer] Set property: cache-secs=10 -> 1
[cplayer] Set property: audio-client-name="Stremio" -> 1
[cplayer] Set property: title="Stremio" -> 1
[cplayer] Set property: audio-fallback-to-null="yes" -> 1
[ytdl_hook] script-opts/ytdl_hook.conf not found. 
[ytdl_hook] lua-settings/ytdl_hook.conf not found. 
[stats] script-opts/stats.conf not found. 
[stats] lua-settings/stats.conf not found. 
[cplayer] Done loading scripts.
[1013/012447.743058:WARNING:stack_trace_posix.cc(699)] Failed to open file: /home/mendezr/#19530327 (deleted)
  Error: No existe el fichero o el directorio
qml: Loading web UI from URL: https://app.strem.io/shell-v4.4/#?winControls=true&loginFlow=desktop
qml: Stremio Shell version: 4.4.10
qml:  **** Completed. Loading Autoupdater ***
qml: Auto-updater: skipping, possibly not running an installed app?
[libmpv_render] GL_VERSION='1.3 Mesa 18.1.7'
[libmpv_render] Detected desktop OpenGL 1.3.
[libmpv_render] GL_VENDOR='Intel Open Source Technology Center'
[libmpv_render] GL_RENDERER='Mesa DRI Intel(R) 865G x86/MMX/SSE2'
[libmpv_render] GL_SHADING_LANGUAGE_VERSION='1.20'
[libmpv_render] Loaded extension GL_ARB_map_buffer_range.
[libmpv_render] Loaded extension GL_ARB_framebuffer_object.
[libmpv_render] Loaded extension GL_ARB_vertex_array_object.
[libmpv_render] Loaded extension GL_ARB_sync.
[libmpv_render] Loaded extension GL_ARB_get_program_binary.
[libmpv_render] Loaded extension GL_ARB_debug_output.
[libmpv_render] GL_*_swap_control extension missing.
[libmpv_render] At least OpenGL 2.1 or OpenGL ES 2.0 required.
Received signal 11 SEGV_MAPERR 000000000008
#0 0x0000b2f431fb <unknown>
#1 0x0000b2f43802 <unknown>
#2 0x0000b2f43ded <unknown>
#3 0x0000b7ef9d50 ([vdso]+0xd4f)
#4 0x0000b7dbf90a mpv_render_context_free
#5 0x0000b7dbfc43 mpv_render_context_create
#6 0x0000b7d439a8 mpv_opengl_cb_init_gl
#7 0x000000412a1f MpvObject::createRenderer()
#8 0x0000b13cec2e QQuickFramebufferObject::updatePaintNode()
#9 0x0000b1291d95 QQuickWindowPrivate::updateDirtyNode()
#10 0x0000b1292275 QQuickWindowPrivate::updateDirtyNodes()
#11 0x0000b12938e1 QQuickWindowPrivate::syncSceneGraph()
#12 0x0000b121a968 <unknown>
#13 0x0000b121ba4b <unknown>
#14 0x0000b04ae807 QWindow::event()
#15 0x0000b129ed2f QQuickWindow::event()
#16 0x0000b0a910a6 QApplicationPrivate::notify_helper()
#17 0x0000b0a98fd9 QApplication::notify()
#18 0x0000af9bcaca QCoreApplication::notifyInternal2()
#19 0x0000b04a19ad QGuiApplicationPrivate::processExposeEvent()
#20 0x0000b04a28b9 QGuiApplicationPrivate::processWindowSystemEvent()
#21 0x0000b0478124 QWindowSystemInterface::sendWindowSystemEvents()
#22 0x0000a478652e <unknown>
#23 0x0000af9bb4c7 QEventLoop::exec()
#24 0x0000af9c3e2e QCoreApplication::exec()
#25 0x0000b04964a1 QGuiApplication::exec()
#26 0x0000b0a91014 QApplication::exec()
#27 0x00000040de0a main
#28 0x0000af2789a1 __libc_start_main
#29 0x00000040dfa9 <unknown>
  gs: 00000033  fs: 00000000  es: 0000007b  ds: 0000007b
 edi: 01179874 esi: 011797d0 ebp: 011797dc esp: bfe1a250
 ebx: b7ecdb10 edx: 00000000 ecx: 00000000 eax: 00000000
 trp: 0000000e err: 00000004  ip: b7dbf90a  cs: 00000073
 efl: 00010246 usp: bfe1a250  ss: 0000007b
[end of stack trace]
Calling _exit(1). Core file will not be generated.
$  dpkg -l|grep libmpv1
ii  libmpv1:i386                           0.29.1-1                                i386         video player based on MPlayer/mplayer2 (client library)

macOS crash on old/virtualized machines

happens since shell v4.4.21:
https://pastebin.com/bGGqupY6

All we know:

  1. Users who reported this are running old macbooks; Tomek reproduced it on a VM
  2. initially we suspected singleapplication, but after disabling it we got the error at https://pastebin.com/bGGqupY6 (confirmed by tomek and a user)
  3. if you remove Contents/Frameworks/libcrypto, it launches and generally works

here's what else we know:
rust-lang/cargo#3333
owncloud/client#6268

probably something got updated on our CI and the problematic libcrypto got in?

https/http finishing touches

  1. verify that app.strem.io with HTTPS works with local streaming server with HTTP
  2. remove/dial down backupUrl/reload logic - not so relevant anymore
  3. in case https://app.strem.io fails to load, display a 'offline' error

Stremio Appimage

Hello there, I am a Solus Gnome user and I can't manage to compile the source myself. Previously we had an AppImage that allowed me to use Stremio out of the box, but now I am using version 4.0.32 because I can't update to latest release. 😢

Screen on Arch Linux keeps dimming due to inactivity while watching

What is the problem?

The screen keeps turning off while watching as neither the mouse nor the keyboard is in use. Other applications like chrome are able to prevent dimming the screen if a video is playing.

What did I expect?

Streamio should block power management and prevent the screen from dimming while watching.

Update to latest mpv

Check plexinc/plex-media-player#727 for reference

The new API is higher level in that it's generic for any renderer, rather than being specific for opengl. E.g. mpv_opengl_cb_init_gl becomes mpv_render_context_create; this will allow working with multiple renderers in the future, so it's pretty convenient

Crash of qtwebengine: should be investigated

[16667:16703:0714/190232.991335:ERROR:adm_helpers.cc(73)] Failed to query stereo recording.
[16618:16642:0714/190234.024486:ERROR:ssl_client_socket_impl.cc(1147)] handshake failed; returned -1, SSL error code 1, net_error -101
js: TypeError: Failed to fetch
[16618:16642:0714/190234.313828:ERROR:ssl_client_socket_impl.cc(1147)] handshake failed; returned -1, SSL error code 1, net_error -100
js: Error: response code 404
js: Error: response code 404
js: TypeError: Failed to fetch
js: TypeError: Failed to fetch
js: TypeError: Failed to fetch
js: TypeError: Failed to fetch
[16618:16642:0714/190235.121673:ERROR:ssl_client_socket_impl.cc(1147)] handshake failed; returned -1, SSL error code 1, net_error -101
js: TypeError: Failed to fetch
js: Failed to load https://peerjs.strem.io/stremioPeer/id?ts=15315841532720.7700216504895925: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://app.strem.io' is therefore not allowed access. The response had HTTP status code 503.
[16667:16682:0100/000000.938233:FATAL:port_locker.cc(45)] Check failed: port_refs_[i]->port(). 
#0 0x7fce97ab6abe <unknown>
#1 0x7fce97ad18ec <unknown>
#2 0x7fce96a717c6 <unknown>
#3 0x7fce96a6e7df <unknown>
#4 0x7fce96a71031 <unknown>
#5 0x7fce96a710e0 <unknown>
#6 0x7fce98881984 <unknown>
#7 0x7fce9887ffb9 <unknown>
#8 0x7fce988793a0 <unknown>
#9 0x7fce9833568a <unknown>
#10 0x7fce9670e61a <unknown>
#11 0x7fce99cd4f11 <unknown>
#12 0x7fce99a8bc39 <unknown>
#13 0x7fce99a8c942 <unknown>
#14 0x7fce99a9f44c <unknown>
#15 0x7fce9a2f2c09 <unknown>
#16 0x7fce97252767 <unknown>
#17 0x7fce97287223 <unknown>
#18 0x7fce972876b6 <unknown>
#19 0x338c1c98431d <unknown>

Received signal 6
#0 0x7fce97ab6abe <unknown>
#1 0x7fce97ab6bd0 <unknown>
#2 0x7fce97ab7207 <unknown>
#3 0x7fce94f908f0 <unknown>
#4 0x7fce94f9086b __GI_raise
#5 0x7fce94f7b40e __GI_abort
#6 0x7fce964d1934 <unknown>
#7 0x7fce97ad19cf <unknown>
#8 0x7fce96a717c6 <unknown>
#9 0x7fce96a6e7df <unknown>
#10 0x7fce96a71031 <unknown>
#11 0x7fce96a710e0 <unknown>
#12 0x7fce98881984 <unknown>
#13 0x7fce9887ffb9 <unknown>
#14 0x7fce988793a0 <unknown>
#15 0x7fce9833568a <unknown>
#16 0x7fce9670e61a <unknown>
#17 0x7fce99cd4f11 <unknown>
#18 0x7fce99a8bc39 <unknown>
#19 0x7fce99a8c942 <unknown>
#20 0x7fce99a9f44c <unknown>
#21 0x7fce9a2f2c09 <unknown>
#22 0x7fce97252767 <unknown>
#23 0x7fce97287223 <unknown>
#24 0x7fce972876b6 <unknown>
#25 0x338c1c98431d <unknown>
  r8: 0000000000000000  r9: 00007fce64ff6110 r10: 0000000000000008 r11: 0000000000000246
 r12: 00007fce64ff65b0 r13: 00007fce64ff65d0 r14: 000000000000005f r15: 00007fce64ff63b0
  di: 0000000000000002  si: 00007fce64ff6110  bp: 00007fce64ff6360  bx: 0000000000000006
  dx: 0000000000000000  ax: 0000000000000000  cx: 00007fce94f9086b  sp: 00007fce64ff6110
  ip: 00007fce94f9086b efl: 0000000000000246 cgf: 002b000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
Calling _exit(1). Core file will not be generated.
qml: render process terminated with code 256 and status: 1
qml: failed load, trying backupUrl (http://127.0.0.1:11470/#?winControls=true&loginFlow=desktop), tries: 1
js: analytics err

The last error before the fatal one (the port one) was a 503 http error. Those errors may or may not be related

Also this is on linux, and not from the appimage, but rather from a manual build with qt 5.11

Installation error on Fedora 30

Error:
Problem: conflicting requests

  • nothing provides libQt5Quick.so.5(Qt_5.11.3_PRIVATE_API)(64bit) needed by stremio-4.4.52-1.fc29.x86_64

the current version of the libQt5Quick.so.5 in fedora is 5.12.1

server.js 4.6 latest version crashes when opening Stremio

Hi I have recently rebuilt Stremio from master branch and everything went fine. It built, it installed correctly but the server.js component is broken.
The following message is shown upon opening the app :

Stremio streaming server has thrown an error 
QProcess::ProcessError code: 1

fs.js:128
  throw new ERR_INVALID_CALLBACK();
  ^

TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
    at maybeCallback (fs.js:128:9)
    at Object.writeFile (fs.js:1163:14)
    at Object.Settings.self.save (/opt/stremio/server.js:134185:6)
    at Object.Settings.self.load (/opt/stremio/server.js:134191:9)
    at Settings (/opt/stremio/server.js:134208:7)
    at Object.require.718../cache (/opt/stremio/server.js:132868:37)
    at s (/opt/stremio/server.js:1:338)
    at e (/opt/stremio/server.js:1:509)
    at Object.<anonymous> (/opt/stremio/server.js:1:527)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
    at startup (internal/bootstrap/node.js:283:19)

QtWebEngine error handling

This includes two things:

  • Showing a friendly visual message, similarly to the streaming server
  • sending an event to the UI over the IPC so it can be reported via sentry

Remove qBreakpad

Remove qBreakpad as an obsolete debugging module; it is replaced by sentry now

The installation with the AUR package on Arch based Distro

Hi, this is my output console. What I see for example on file systemtray.cpp put a new validation for de icon for Windows and that gives one error and there is another errors, but I don't know what really means.

$ makepkg -si
==> Creando el paquete: stremio 4.4.52-1 (Mon May  6 23:20:43 2019)
==> Comprobando dependencias mientras se ejecuta...
==> Comprobando dependencias mientras se compila...
==> Recibiendo las fuentes...
  -> Actualizando stremio del repositorio git...
Extrayendo origin
==> Validando los archivos source con md5sums...
    stremio ... Omitido
==> Extrayendo las fuentes...
  -> Creando copia de trabajo de stremio del repositorio git...
Reiniciar rama 'makepkg'
==> Iniciando prepare()...
rm -rf build server.js icons
==> Iniciando pkgver()...
==> Eliminando el directorio $pkgdir/...
==> Iniciando build()...
mkdir -p build
cd build && qmake PREFIX="/home/james_che/Documents/builds/stremio-beta/pkg/stremio" ..
Project MESSAGE: Warning: unknown QT: qml
Project MESSAGE: Warning: unknown QT: quick
Project MESSAGE: Warning: unknown QT: webengine
make -j -C build
make[1]: se entra en el directorio '/home/james_che/Documents/builds/stremio-beta/src/stremio/build'
g++ -c -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -g -fvar-tracking-assignments -Wall -W -D_REENTRANT -DSTREMIO_SHELL_VERSION=\"4.4.52\" -DQAPPLICATION_CLASS=QApplication -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I../../stremio -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I../deps/singleapplication -I../deps/libmpv/include -I. -I../../stremio -I. -o singleapplication.o ../deps/singleapplication/singleapplication.cpp
g++ -c -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -g -fvar-tracking-assignments -Wall -W -D_REENTRANT -DSTREMIO_SHELL_VERSION=\"4.4.52\" -DQAPPLICATION_CLASS=QApplication -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I../../stremio -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I../deps/singleapplication -I../deps/libmpv/include -I. -I../../stremio -I. -o main.o ../main.cpp
g++ -c -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -g -fvar-tracking-assignments -Wall -W -D_REENTRANT -DSTREMIO_SHELL_VERSION=\"4.4.52\" -DQAPPLICATION_CLASS=QApplication -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I../../stremio -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I../deps/singleapplication -I../deps/libmpv/include -I. -I../../stremio -I. -o mpv.o ../mpv.cpp
g++ -c -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -g -fvar-tracking-assignments -Wall -W -D_REENTRANT -DSTREMIO_SHELL_VERSION=\"4.4.52\" -DQAPPLICATION_CLASS=QApplication -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I../../stremio -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I../deps/singleapplication -I../deps/libmpv/include -I. -I../../stremio -I. -o stremioprocess.o ../stremioprocess.cpp
g++ -c -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -g -fvar-tracking-assignments -Wall -W -D_REENTRANT -DSTREMIO_SHELL_VERSION=\"4.4.52\" -DQAPPLICATION_CLASS=QApplication -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I../../stremio -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I../deps/singleapplication -I../deps/libmpv/include -I. -I../../stremio -I. -o screensaver.o ../screensaver.cpp
g++ -c -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -g -fvar-tracking-assignments -Wall -W -D_REENTRANT -DSTREMIO_SHELL_VERSION=\"4.4.52\" -DQAPPLICATION_CLASS=QApplication -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I../../stremio -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I../deps/singleapplication -I../deps/libmpv/include -I. -I../../stremio -I. -o autoupdater.o ../autoupdater.cpp
g++ -c -pipe -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -g -fvar-tracking-assignments -Wall -W -D_REENTRANT -DSTREMIO_SHELL_VERSION=\"4.4.52\" -DQAPPLICATION_CLASS=QApplication -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++ -I../../stremio -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I../deps/singleapplication -I../deps/libmpv/include -I. -I../../stremio -I. -o systemtray.o ../systemtray.cpp
../main.cpp:1:10: error fatal: QQmlApplicationEngine: No existe el fichero o el directorio
 #include <QQmlApplicationEngine>
          ^~~~~~~~~~~~~~~~~~~~~~~
compilación terminada.
make[1]: *** [Makefile:315: main.o] Error 1
make[1]: *** Se espera a que terminen otras tareas....
In file included from ../mpv.cpp:1:
../mpv.h:4:10: error fatal: QtQuick/QQuickFramebufferObject: No existe el fichero o el directorio
 #include <QtQuick/QQuickFramebufferObject>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilación terminada.
make[1]: *** [Makefile:318: mpv.o] Error 1
../deps/singleapplication/singleapplication.cpp:30:10: error fatal: QtCore/QStandardPaths: No existe el fichero o el directorio
 #include <QtCore/QStandardPaths>
          ^~~~~~~~~~~~~~~~~~~~~~~
compilación terminada.
make[1]: *** [Makefile:303: singleapplication.o] Error 1
In file included from ../autoupdater.cpp:1:
../../stremio/autoupdater.h:5:10: error fatal: QJsonDocument: No existe el fichero o el directorio
 #include <QJsonDocument>
          ^~~~~~~~~~~~~~~
compilación terminada.
make[1]: *** [Makefile:329: autoupdater.o] Error 1
In file included from ../stremioprocess.cpp:1:
../stremioprocess.h:5:10: error fatal: QStandardPaths: No existe el fichero o el directorio
 #include <QStandardPaths>
          ^~~~~~~~~~~~~~~~
compilación terminada.
make[1]: *** [Makefile:321: stremioprocess.o] Error 1
../systemtray.cpp: En el constructor ‘SystemTray::SystemTray(QObject*)’:
../systemtray.cpp:22:39: error: ‘void QMenu::aboutToShow()’ is protected within this context
         connect(trayIconMenu, &QMenu::aboutToShow, this, &SystemTray::signalIconMenuAboutToShow);
                                       ^~~~~~~~~~~
In file included from /usr/include/QtGui/QMenu:1,
                 from ../systemtray.cpp:2:
/usr/include/QtGui/qmenu.h:156:10: nota: declared protected here
     void aboutToShow();
          ^~~~~~~~~~~
../systemtray.cpp:22:96: error: no matching function for call to ‘SystemTray::connect(QMenu*&, void (QMenu::*)(), SystemTray*, void (SystemTray::*)())’
         connect(trayIconMenu, &QMenu::aboutToShow, this, &SystemTray::signalIconMenuAboutToShow);
                                                                                                ^
In file included from /usr/include/QtCore/QObject:1,
                 from ../systemtray.h:4,
                 from ../systemtray.cpp:1:
/usr/include/QtCore/qobject.h:204:17: nota: candidate: ‘static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)’
     static bool connect(const QObject *sender, const char *signal,
                 ^~~~~~~
/usr/include/QtCore/qobject.h:204:17: nota:   no hay una conversión conocida para el argumento 2 de ‘void (QMenu::*)()’ a ‘const char*’
/usr/include/QtCore/qobject.h:217:17: nota: candidate: ‘static bool QObject::connect(const QObject*, const QMetaMethod&, const QObject*, const QMetaMethod&, Qt::ConnectionType)’
     static bool connect(const QObject *sender, const QMetaMethod &signal,
                 ^~~~~~~
/usr/include/QtCore/qobject.h:217:17: nota:   no hay una conversión conocida para el argumento 2 de ‘void (QMenu::*)()’ a ‘const QMetaMethod&’
/usr/include/QtCore/qobject.h:337:13: nota: candidate: ‘bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const’
 inline bool QObject::connect(const QObject *asender, const char *asignal,
             ^~~~~~~
/usr/include/QtCore/qobject.h:337:13: nota:   no hay una conversión conocida para el argumento 2 de ‘void (QMenu::*)()’ a ‘const char*’
../systemtray.cpp:23:45: error: ‘void QAction::triggered(bool)’ is protected within this context
         connect(viewWindowAction, &QAction::triggered, this, &SystemTray::signalShow);
                                             ^~~~~~~~~
In file included from /usr/include/QtGui/QAction:1,
                 from ../systemtray.h:5,
                 from ../systemtray.cpp:1:
/usr/include/QtGui/qaction.h:228:10: nota: declared protected here
     void triggered(bool checked = false);
          ^~~~~~~~~
../systemtray.cpp:23:85: error: no matching function for call to ‘SystemTray::connect(QAction*&, void (QAction::*)(bool), SystemTray*, void (SystemTray::*)())’
         connect(viewWindowAction, &QAction::triggered, this, &SystemTray::signalShow);
                                                                                     ^
In file included from /usr/include/QtCore/QObject:1,
                 from ../systemtray.h:4,
                 from ../systemtray.cpp:1:
/usr/include/QtCore/qobject.h:204:17: nota: candidate: ‘static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)’
     static bool connect(const QObject *sender, const char *signal,
                 ^~~~~~~
/usr/include/QtCore/qobject.h:204:17: nota:   no hay una conversión conocida para el argumento 2 de ‘void (QAction::*)(bool)’ a ‘const char*’
/usr/include/QtCore/qobject.h:217:17: nota: candidate: ‘static bool QObject::connect(const QObject*, const QMetaMethod&, const QObject*, const QMetaMethod&, Qt::ConnectionType)’
     static bool connect(const QObject *sender, const QMetaMethod &signal,
                 ^~~~~~~
/usr/include/QtCore/qobject.h:217:17: nota:   no hay una conversión conocida para el argumento 2 de ‘void (QAction::*)(bool)’ a ‘const QMetaMethod&’
/usr/include/QtCore/qobject.h:337:13: nota: candidate: ‘bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const’
 inline bool QObject::connect(const QObject *asender, const char *asignal,
             ^~~~~~~
/usr/include/QtCore/qobject.h:337:13: nota:   no hay una conversión conocida para el argumento 2 de ‘void (QAction::*)(bool)’ a ‘const char*’
../systemtray.cpp:24:46: error: ‘void QAction::triggered(bool)’ is protected within this context
         connect(alwaysOnTopAction, &QAction::triggered, this, &SystemTray::signalAlwaysOnTop);
                                              ^~~~~~~~~
In file included from /usr/include/QtGui/QAction:1,
                 from ../systemtray.h:5,
                 from ../systemtray.cpp:1:
/usr/include/QtGui/qaction.h:228:10: nota: declared protected here
     void triggered(bool checked = false);
          ^~~~~~~~~
../systemtray.cpp:24:93: error: no matching function for call to ‘SystemTray::connect(QAction*&, void (QAction::*)(bool), SystemTray*, void (SystemTray::*)())’
         connect(alwaysOnTopAction, &QAction::triggered, this, &SystemTray::signalAlwaysOnTop);
                                                                                             ^
In file included from /usr/include/QtCore/QObject:1,
                 from ../systemtray.h:4,
                 from ../systemtray.cpp:1:
/usr/include/QtCore/qobject.h:204:17: nota: candidate: ‘static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)’
     static bool connect(const QObject *sender, const char *signal,
                 ^~~~~~~
/usr/include/QtCore/qobject.h:204:17: nota:   no hay una conversión conocida para el argumento 2 de ‘void (QAction::*)(bool)’ a ‘const char*’
/usr/include/QtCore/qobject.h:217:17: nota: candidate: ‘static bool QObject::connect(const QObject*, const QMetaMethod&, const QObject*, const QMetaMethod&, Qt::ConnectionType)’
     static bool connect(const QObject *sender, const QMetaMethod &signal,
                 ^~~~~~~
/usr/include/QtCore/qobject.h:217:17: nota:   no hay una conversión conocida para el argumento 2 de ‘void (QAction::*)(bool)’ a ‘const QMetaMethod&’
/usr/include/QtCore/qobject.h:337:13: nota: candidate: ‘bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const’
 inline bool QObject::connect(const QObject *asender, const char *asignal,
             ^~~~~~~
/usr/include/QtCore/qobject.h:337:13: nota:   no hay una conversión conocida para el argumento 2 de ‘void (QAction::*)(bool)’ a ‘const char*’
../systemtray.cpp:25:39: error: ‘void QAction::triggered(bool)’ is protected within this context
         connect(quitAction, &QAction::triggered, this, &SystemTray::signalQuit);
                                       ^~~~~~~~~
In file included from /usr/include/QtGui/QAction:1,
                 from ../systemtray.h:5,
                 from ../systemtray.cpp:1:
/usr/include/QtGui/qaction.h:228:10: nota: declared protected here
     void triggered(bool checked = false);
          ^~~~~~~~~
../systemtray.cpp:25:79: error: no matching function for call to ‘SystemTray::connect(QAction*&, void (QAction::*)(bool), SystemTray*, void (SystemTray::*)())’
         connect(quitAction, &QAction::triggered, this, &SystemTray::signalQuit);
                                                                               ^
In file included from /usr/include/QtCore/QObject:1,
                 from ../systemtray.h:4,
                 from ../systemtray.cpp:1:
/usr/include/QtCore/qobject.h:204:17: nota: candidate: ‘static bool QObject::connect(const QObject*, const char*, const QObject*, const char*, Qt::ConnectionType)’
     static bool connect(const QObject *sender, const char *signal,
                 ^~~~~~~
/usr/include/QtCore/qobject.h:204:17: nota:   no hay una conversión conocida para el argumento 2 de ‘void (QAction::*)(bool)’ a ‘const char*’
/usr/include/QtCore/qobject.h:217:17: nota: candidate: ‘static bool QObject::connect(const QObject*, const QMetaMethod&, const QObject*, const QMetaMethod&, Qt::ConnectionType)’
     static bool connect(const QObject *sender, const QMetaMethod &signal,
                 ^~~~~~~
/usr/include/QtCore/qobject.h:217:17: nota:   no hay una conversión conocida para el argumento 2 de ‘void (QAction::*)(bool)’ a ‘const QMetaMethod&’
/usr/include/QtCore/qobject.h:337:13: nota: candidate: ‘bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const’
 inline bool QObject::connect(const QObject *asender, const char *asignal,
             ^~~~~~~
/usr/include/QtCore/qobject.h:337:13: nota:   no hay una conversión conocida para el argumento 2 de ‘void (QAction::*)(bool)’ a ‘const char*’
../systemtray.cpp:39:33: error: ‘windowsVersion’ no es un miembro de ‘QSysInfo’
         auto winVer = QSysInfo::windowsVersion();
                                 ^~~~~~~~~~~~~~
../systemtray.cpp:40:32: error: ‘WV_WINDOWS7’ no es un miembro de ‘QSysInfo’
         if(winVer <= QSysInfo::WV_WINDOWS7 && winVer != QSysInfo::WV_None) {
                                ^~~~~~~~~~~
../systemtray.cpp:40:67: error: ‘WV_None’ no es un miembro de ‘QSysInfo’
         if(winVer <= QSysInfo::WV_WINDOWS7 && winVer != QSysInfo::WV_None) {
                                                                   ^~~~~~~
../systemtray.cpp:44:18: error: ‘class QIcon’ has no member named ‘setIsMask’
             icon.setIsMask(true);
                  ^~~~~~~~~
make[1]: *** [Makefile:332: systemtray.o] Error 1
make[1]: se sale del directorio '/home/james_che/Documents/builds/stremio-beta/src/stremio/build'
make: *** [release.makefile:33: build/stremio] Error 2
==> ERROR: Se produjo un fallo en build().
    Cancelando...

Auto-updater crash related to `autoUpdaterRestartTimer`

From looking at the error it doesn't make any sense. Maybe we need to read the docs of signal

qrc:/main.qml:612: TypeError: Property 'autoUpdaterRestartTimer' of object ApplicationWindow_QMLTYPE_11_QML_14(0x18c4000) is not a function

stremio-4.4.25-1 causes upgrade conflicts in Fedora 29

Hi,

I'm trying to upgrade my Fedora 29 system, but DNF can't update qt5-qtdeclarative to 5.11.3 because stremio-4.4.25-1 requires 5.11.1

DNF suggests using --best --allowerasing, but forcing upgrade removes stremio.

DNF output:

 Problem: package stremio-4.4.25-1.fc29.x86_64 requires libQt5Quick.so.5(Qt_5.11.1_PRIVATE_API)(64bit), but none of the providers can be installed
  - cannot install both qt5-qtdeclarative-5.11.3-1.fc29.x86_64 and qt5-qtdeclarative-5.11.1-3.fc29.x86_64
  - cannot install both qt5-qtdeclarative-5.11.1-3.fc29.x86_64 and qt5-qtdeclarative-5.11.3-1.fc29.x86_64
  - cannot install the best update candidate for package qt5-qtdeclarative-5.11.1-3.fc29.x86_64
  - problem with installed package stremio-4.4.25-1.fc29.x86_64

Auto updater: drop fast mode

the auto updater needs a full audit/review again, especially considering with the deprecation of the linux appimage

however, since fast updates (updating the ASAR + server.js) are not possible anymore (due to a requirement that the shell version must === UI version on each release-version operation), we don't need this functionality in the auto updater anymore; not to mention, stremio.asar is entirely irrelevant

Improvements to how web UI is loaded, version channels

The idea here is to de-couple versions of the web UI and the shell, and to release them entirely separately (see https://github.com/Stremio/stremio/issues/287)

On the shell side, this includes removing the backupUrl logic. We don't need to load from the local server, as it can cause confusing things (people losing data cause of localStorage being per-host) - furthermore, stremio doesn't work if not online anyway, so always load from the web UI.

However, "channels" should be configurable via a command line flag or a primitive UI. A channel is basically where we load stremio from:

  • app.strem.io
  • app.strem.io/staging
  • app.strem.io/shell-v
  • possibly another backup URL on another domain

Furthermore, this should include nice GUI errors in case something goes wrong:

  • initial loading fails (also possibly allow to change the channel here)
  • webview crashes
  • SSL errors

Finally, we should ensure SSL/networking works the best it can. This might include fiddling with network timeouts, SSL stuff, and possibly DNS resolvers (if we have control over that within Qt/QtWebEngine)

Crash of qtwebengine #2

[26971:27010:0714/191223.546345:ERROR:adm_helpers.cc(73)] Failed to query stereo recording.
[26920:26958:0714/191224.402717:ERROR:ssl_client_socket_impl.cc(1147)] handshake failed; returned -1, SSL error code 1, net_error -101
[26920:26958:0714/191224.709667:ERROR:ssl_client_socket_impl.cc(1147)] handshake failed; returned -1, SSL error code 1, net_error -100
js: TypeError: Failed to fetch
js: Failed to load https://peerjs.strem.io/stremioPeer/id?ts=15315847438270.8746196067570104: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://app.strem.io' is therefore not allowed access. The response had HTTP status code 503.
js: TypeError: Failed to fetch
js: TypeError: Failed to fetch
js: TypeError: Failed to fetch
js: TypeError: Failed to fetch
js: Error: response code 404
js: Error: response code 404
[26920:26958:0714/191224.895286:ERROR:ssl_client_socket_impl.cc(1147)] handshake failed; returned -1, SSL error code 1, net_error -101
js: TypeError: Failed to fetch
[26971:26982:0100/000000.270263:FATAL:memory.cc(22)] Out of memory. size=262144
#0 0x7fb19d435abe (/usr/lib/libQt5WebEngineCore.so.5.11.0+0x1d17abd)
#1 0x7fb19d4508ec (/usr/lib/libQt5WebEngineCore.so.5.11.0+0x1d328eb)
#2 0x7fb19d4731ef (/usr/lib/libQt5WebEngineCore.so.5.11.0+0x1d551ee)
#3 0x7fb19c34cbd5 (/usr/lib/libQt5WebEngineCore.so.5.11.0+0xc2ebd4)
#4 0x7fb19dddd801 (/usr/lib/libQt5WebEngineCore.so.5.11.0+0x26bf800)
#5 0x7fb19dddda95 (/usr/lib/libQt5WebEngineCore.so.5.11.0+0x26bfa94)
#6 0x7fb19ddddb9b (/usr/lib/libQt5WebEngineCore.so.5.11.0+0x26bfb9a)
#7 0x7fb19de1f517 (/usr/lib/libQt5WebEngineCore.so.5.11.0+0x2701516)
#8 0x7fb19f7200f2 (/usr/lib/libQt5WebEngineCore.so.5.11.0+0x40020f1)
#9 0x7fb19f72022a (/usr/lib/libQt5WebEngineCore.so.5.11.0+0x4002229)
#10 0x7fb19f72026b (/usr/lib/libQt5WebEngineCore.so.5.11.0+0x400226a)
#11 0x7fb19d49f0b6 (/usr/lib/libQt5WebEngineCore.so.5.11.0+0x1d810b5)
#12 0x7fb19d497fc1 (/usr/lib/libQt5WebEngineCore.so.5.11.0+0x1d79fc0)
#13 0x7fb199510075 (/usr/lib/libpthread-2.27.so+0x7074)
#14 0x7fb19a9d153f (/usr/lib/libc-2.27.so+0xf853e)

[26971:26983:0100/000000.269934:FATAL:memory.cc(22)] Out of memory. size=262144
#0 0x7fb19d435abe <unknown>
#1 0x7fb19d4508ec <unknown>
#2 0x7fb19d4731ef <unknown>
#3 0x7fb19c34cbd5 <unknown>
#4 0x7fb19dddd801 <unknown>
#5 0x7fb19dddda95 <unknown>
#6 0x7fb19ddddb9b <unknown>
#7 0x7fb19de1f517 <unknown>
#8 0x7fb19f7200f2 <unknown>
#9 0x7fb19f72022a <unknown>
#10 0x7fb19f72026b <unknown>
#11 0x7fb19d49f0b6 <unknown>
#12 0x7fb19d497fc1 <unknown>
#13 0x7fb199510075 start_thread
#14 0x7fb19a9d153f __GI___clone

Received signal 6
#0 0x7fb19d435abe <unknown>
#1 0x7fb19d435bd0 <unknown>
#2 0x7fb19d436207 <unknown>
#3 0x7fb19a90f8f0 <unknown>
#4 0x7fb19a90f86b __GI_raise
#5 0x7fb19a8fa40e __GI_abort
#6 0x7fb19be50934 <unknown>
#7 0x7fb19d4509cf <unknown>
#8 0x7fb19d4731ef <unknown>
#9 0x7fb19c34cbd5 <unknown>
#10 0x7fb19dddd801 <unknown>
#11 0x7fb19dddda95 <unknown>
#12 0x7fb19ddddb9b <unknown>
#13 0x7fb19de1f517 <unknown>
#14 0x7fb19f7200f2 <unknown>
#15 0x7fb19f72022a <unknown>
#16 0x7fb19f72026b <unknown>
#17 0x7fb19d49f0b6 <unknown>
#18Received signal 7 BUS_ADRERR 7f3dd002910c
#0 0x7f3e16cf2abe <unknown>
#1 0x7f3e16cf2bd0 <unknown>
#2 0x7f3e16cf3207 <unknown>
#3 0x7f3e261b3a80 <unknown>
#4 0x7f3e173997fc <unknown>
#5 0x7f3e173999d8 <unknown>
#6 0x7f3e173914b6 <unknown>
#7 0x7f3e1739188e <unknown>
#8 0x7f3e173954a0 <unknown>
#9 0x7f3e16cf3568 <unknown>
#10 0x7f3e16d13dda <unknown>
#11 0x7f3e16d1489f <unknown>
#12 0x7f3e16d14a1a <unknown>
#13 0x7f3e16d17422 <unknown>
#14 0x7f3e16d367ab <unknown>
#15 0x7f3e16d59574 <unknown>
#16 0x7f3e16d54fc1 <unknown>
#17 0x7f3e261a9075 start_thread
#18 0x7f3e2593d53f __GI___clone
  r8: 0000000000000000  r9: 0000000000000007 r10: 000000000002e01c r11: 0000000000000000
 r12: 00007f3da46bf488 r13: 00007f3d927fb440 r14: 00007f3d927fb420 r15: 0000000000000000
  di: 0000000000000000  si: 000055ecca974500  bp: 00007f3d927fb630  bx: 000055ecca974580
  dx: 00007f3dd0029100  ax: 0000000000000be9  cx: 0000000000000000  sp: 00007f3d927fb400
  ip: 00007f3e173997fc efl: 0000000000010202 cgf: 002b000000000033 erf: 0000000000000007
 trp: 000000000000000e msk: 0000000000000000 cr2: 00007f3dd002910c
[end of stack trace]
Calling _exit(1). Core file will not be generated.

The system at the time had 8gb free memory, so it doesn't make any sense

Streaming server crashes while generateing preview for some videos.

Playback is fine but generating preview crashes:

-> GET /file/%2Fhome%2Fvlado%2FVideos%2FVID_20180312_162626.mp4/thumb.jpg 
{ streams: 
   [ { codec_type: 'video',
       codec_name: 'h264',
       size: [Object],
       stream: 0,
       default: false,
       bitrate: 3943000,
       fps: 30,
       lang: 'eng' } ],
  container: 'mp4',
  duration: 11630,
  bitrate: 14501000 } null
/home/vlado/tests/stremio/node_modules/mp4box/dist/mp4box.all.js:2598
			this[box.type] = box;
			        ^

TypeError: Cannot read property 'type' of undefined
    at BoxParser.ContainerBox.parse (/home/vlado/tests/stremio/node_modules/mp4box/dist/mp4box.all.js:2598:12)
    at BoxParser.metaBox.parse (/home/vlado/tests/stremio/node_modules/mp4box/dist/mp4box.all.js:3167:41)
    at Object.BoxParser.parseOneBox (/home/vlado/tests/stremio/node_modules/mp4box/dist/mp4box.all.js:2543:6)
    at BoxParser.ContainerBox.parse (/home/vlado/tests/stremio/node_modules/mp4box/dist/mp4box.all.js:2591:19)
    at Object.BoxParser.parseOneBox (/home/vlado/tests/stremio/node_modules/mp4box/dist/mp4box.all.js:2543:6)
    at ISOFile.parse (/home/vlado/tests/stremio/node_modules/mp4box/dist/mp4box.all.js:5239:20)
    at MP4Box.appendBuffer (/home/vlado/tests/stremio/node_modules/mp4box/dist/mp4box.all.js:6405:20)
    at ReadStream.onData (/home/vlado/tests/stremio/node_modules/retrieve-keyframes/index.js:99:7)
    at emitOne (events.js:96:13)
    at ReadStream.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at ReadStream.Readable.push (_stream_readable.js:134:10)
    at onread (fs.js:2018:12)
    at FSReqWrap.wrapper [as oncomplete] (fs.js:682:17)

Failed to load URL

Everytime in the shell show this message, how can disable de cors? Thanks!
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://staging.strem.io' is therefore not allowed access. The response had HTTP status code 404. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

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.