#1012278 kodi web interface does not work

Package:
kodi
Source:
kodi
Description:
Open Source Home Theatre (executable binaries)
Submitter:
Richard Kettlewell
Date:
2025-08-29 16:33:02 UTC
Severity:
normal
#1012278#5
Date:
2022-06-02 19:42:48 UTC
From:
To:
The Kodi web interface shows a menu bar with Movies/TV Shows/etc but
clicking on them does nothing.

Initial investigation shows that is failing to load its own JavaScript:

9020  recvfrom(17,  <unfinished ...>
9020  <... recvfrom resumed>"GET /js/iscroll-min.js?2.1.0 HTT"...,
16384, 0, NULL, NULL) = 425
9020
stat("/usr/share/kodi/addons/webinterface.default/js/iscroll-min.js",
<unfinished ...>
9020  <... stat resumed>{st_mode=S_IFREG|0644, st_size=38987, ...}) = 0
9020  lstat("/usr",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9020  lstat("/usr/share",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
9020  lstat("/usr/share/kodi",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9020  lstat("/usr/share/kodi/addons",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9020  lstat("/usr/share/kodi/addons/webinterface.default",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9020  lstat("/usr/share/kodi/addons/webinterface.default/js",
<unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9020
lstat("/usr/share/kodi/addons/webinterface.default/js/iscroll-min.js",
<unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFLNK|0777, st_size=45, ...}) = 0
9020
readlink("/usr/share/kodi/addons/webinterface.default/js/iscroll-min.js",
<unfinished ...>
9020  <... readlink resumed>"../../../../javascript/iscroll/i"..., 4095)
= 45
9020  lstat("/usr/share/javascript",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9020  lstat("/usr/share/javascript/iscroll",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9020  lstat("/usr/share/javascript/iscroll/iscroll-min.js",  <unfinished
...>
9020  <... lstat resumed>{st_mode=S_IFREG|0644, st_size=38987, ...}) = 0
9020  lstat("/home",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9020  lstat("/home/richard",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9020  lstat("/home/richard/.kodi",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9020  lstat("/usr",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9020  lstat("/usr/share",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
9020  lstat("/usr/share/kodi",  <unfinished ...>
9020  <... lstat resumed>{st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
9020  sendmsg(17, {msg_name=NULL, msg_namelen=0,
msg_iov=[{iov_base="HTTP/1.1 404 Not Found\r\nConnecti"...,
iov_len=168}, {iov_base="<html><head><title>File not foun"...,
iov_len=82}], msg_iovlen=2, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL
<unfinished ...>

I think that it is refuisng to follow symlinks (for obvious security
reasons), and therefore can't load the JS files that have been
replaced with symlinks, presumably in an attempt to reduce the size of
the package.

richard@vitripane:/usr/share/kodi/addons/webinterface.default/js$ ls -l
total 124
lrwxrwxrwx 1 root root    45 Nov  4  2021 iscroll-min.js ->
../../../../javascript/iscroll/iscroll-min.js
lrwxrwxrwx 1 root root    43 Nov  4  2021 jquery-1.8.2.min.js ->
../../../../javascript/jquery/jquery.min.js
-rw-r--r-- 1 root root 18323 Nov  4  2021 json2.js
-rw-r--r-- 1 root root 59644 Nov  4  2021 MediaLibrary.js
-rw-r--r-- 1 root root 27829 Nov  4  2021 NowPlayingManager.js
-rw-r--r-- 1 root root  3401 Nov  4  2021 xbmc.core.js
-rw-r--r-- 1 root root   906 Nov  4  2021 xbmc.init.js
-rw-r--r-- 1 root root  1473 Nov  4  2021 xbmc.launcher.js
-rw-r--r-- 1 root root  1569 Nov  4  2021 xbmc.rpc.js
richard@vitripane:/usr/share/kodi/addons/webinterface.default

I corrected this by replacing the links with copies of teh files, but
the web interface still doesn't work properly.

ttfn/rjk

#1012278#10
Date:
2022-06-03 11:38:24 UTC
From:
To:
Dear Richard!

Thanks for investigation!

I am going to solve the (missing) webinterface issue
by packaging elm-chorus which is the newest rewrite of Chorus2 in Elm maintained
by Kodi team members Kolja Lampe (@razze) and GSoC students.

What we need now in Debian is Elm compiler for that.
-- 
Vasyl Gello
==================================================
Certified SolidWorks Expert

Mob.:+380 (98) 465 66 77

E-Mail: vasek.gello@gmail.com
==================================================
호랑이는 죽어서 가죽을 남기고 사람은 죽어서 이름을 남긴다

#1012278#15
Date:
2022-06-03 12:21:00 UTC
From:
To:
I don't understand; the web interface seems to be there, it is just
broken, at least in part due to packaging decisions. What do you mean?

ttfn/rjk

#1012278#20
Date:
2022-06-03 14:48:20 UTC
From:
To:
That web interface is so broken that I will be packaging a modern one under the v20 transition.
Apart from the files missing, it also has no support for many jsonrpc calls introduced in v18, v19 and v20.

For bullseye, it all will be available from a backport repo because I can not add new packages to stable
according to Debian Policy.

#1012278#25
Date:
2025-08-29 16:22:02 UTC
From:
To:
Hi!

Was a bit unsure, whether I used the bug tool correctly, but wasn't able
to figure out the current status.
Thus I wanted to ask, whether there is already a fix or a workarround
for this bug?
I am currently running bookworm. Will it help to upgrade to trixie?

Thanks a lot,

Marcus