Webapps icons missing

Hello everybody,

After latest auto update my TO home missed all previously configured webapps. I didn’t change any config files.
I flushed browser cache files and the problem persisted.

I’ve seen various kind of issues after update TOS 6 solved by cleaning cookies, so I’d recommend (re-)trying that.

Hi @vcunat,

Tank you for your reply. I not only cleaned all cookies but also tried to open TO home using a different browser (Firefox). The problem persists.

I had similar problems after update to TOS 6. First check if lighttpd is properly running with command /etc/init.d/lighttpd status
If it says anything else than running then you should check /var/log/lighttpd/error.log Indeed this generally would be a good idea.
In my case my letsencrypt.confconfig file caused an error. The guys from support team answered me that files in /etc/lighttpd/conf.d/ were renamed – they all have a number prefix now. This is mentioned in release notes of TOS 6 where I also read it but obviously did not follow this information – shame on me. :blush:
So I renamed my config file to a number prefix, restarted lighttpd without error and had full access to web interface again.

I hope this helps you with your problem.

Thank you, support team, you really do a great job!

Dear @KreMic,

Following your instructions I checked lighttpd status and it is currently running
The /var/log/lighttpd/error.log file content is:

2022-11-13 09:53:31: (../src/server.c.1588) server started (lighttpd/1.4.67)
2022-11-13 10:59:51: (../src/server.c.2097) server stopped by UID = 0 PID = 1
2022-11-13 10:59:52: (../src/server.c.1588) server started (lighttpd/1.4.67)
2022-11-13 10:59:55: (../src/server.c.2097) server stopped by UID = 0 PID = 1
2022-11-13 10:59:56: (../src/server.c.1588) server started (lighttpd/1.4.67)
2022-11-13 11:01:52: (../src/server.c.2097) server stopped by UID = 0 PID = 1
2022-11-13 11:01:52: (../src/server.c.1588) server started (lighttpd/1.4.67)
2022-11-15 15:01:01: (../src/server.c.2097) server stopped by UID = 0 PID = 1
2022-11-15 15:01:01: (../src/server.c.1588) server started (lighttpd/1.4.67)
2022-11-15 15:14:30: (../src/server.c.2097) server stopped by UID = 0 PID = 1
2022-11-15 15:14:31: (../src/server.c.1588) server started (lighttpd/1.4.67)
2022-11-16 05:38:41: (../src/server.c.2097) server stopped by UID = 0 PID = 1
2022-11-16 05:38:42: (../src/server.c.1588) server started (lighttpd/1.4.67)

You can notice several previous attempts to restore TO webapps page by restarting lighttpd by typing /etc/init.d/lighttpd restart command.

I also checked files in /etc/lighttpd/conf.d/ directory, and all filenames have already a number prefix:

    326 drwxr-xr-x    1 root     root         732 Nov 16 05:38 .
    323 drwxr-xr-x    1 root     root          74 Sep 26 11:53 ..
 960828 -rw-r--r--    1 root     root          37 Oct 25 04:34 10-redirect.conf
 960695 -rw-r--r--    1 root     root        1.3K Oct 25 04:34 20-auth.conf
 960711 -rw-r--r--    1 root     root          38 Oct 25 04:34 20-authn_pam.conf
 960998 -rw-r--r--    1 root     root          35 Oct 25 04:34 30-access.conf
 960759 -rw-r--r--    1 root     root          34 Oct 25 04:34 30-alias.conf
 960743 -rw-r--r--    1 root     root        1.6K Nov 15 15:00 30-cgi.conf
 984616 -rw-r--r--    1 root     root        1.6K Nov 15 14:59 30-cgi.conf.bak
 960812 -rw-r--r--    1 root     root        4.2K Oct 25 04:34 30-fastcgi.conf
 960844 -rw-r--r--    1 root     root          36 Oct 25 04:34 30-openssl.conf
 119765 -rw-r--r--    1 root     root         211 Oct 19 01:44 30-php-fpm.conf
 960679 -rw-r--r--    1 root     root         870 Oct 25 04:34 30-proxy.conf
 960727 -rw-r--r--    1 root     root          35 Oct 25 04:34 30-setenv.conf
 117229 -rw-------    1 root     root         620 Sep 26 11:53 40-ssl-enable.conf
 157885 -rw-------    1 root     root         124 Oct 20 11:26 45-srv.conf
 116847 -rw-------    1 root     root          66 Oct  9 08:34 50-turris-auth.conf
 117010 -rw-r--r--    1 root     root         220 Sep 26 11:53 70-foris-ws.conf
 116782 -rw-------    1 root     root          60 Sep 26 11:53 70-theme.conf
 960958 -rw-r--r--    1 root     root         457 Nov  2 10:48 80-diagnostics.conf
 147929 -rw-r--r--    1 root     root         881 Sep 26 11:53 80-luci.conf
 961016 -rw-r--r--    1 root     root         369 Nov  2 06:40 80-nextcloud.conf
 117057 -rw-r--r--    1 root     root         169 Oct 15 20:28 80-reforis.conf
 960973 -rw-r--r--    1 root     root         447 Nov  2 10:48 80-snapshots.conf
 109677 -rw-r--r--    1 root     root         543 Sep 26 11:53 80-transmission.conf
 984634 -rw-r--r--    1 root     root        1.0K Sep 26 11:53 90-turris-root.conf

I restarted lighttpd once again and it didn’t work.
The only “non standard” procedure I made was to add a custom json file to /usr/share/turris-webapps directory to display a link in the webapps page to my UPS monitoring page. I don’t think this is the problem because I followed another post instructions to add a custom webapp icon and it worked fine before update.

   9147 drwxr-xr-x    1 root     root         322 Nov 16 05:38 .
   8277 drwxr-xr-x    1 root     root         530 Sep 26 11:53 ..
   9148 -rw-r--r--    1 root     root         239 Aug 14 20:57 01_luci.json
 117165 -rw-r--r--    1 root     root         260 Oct 15 20:28 01_reforis.json
 147933 -rw-r--r--    1 root     root         239 Sep 26 11:53 05_luci.json
   9151 -rw-r--r--    1 root     root         260 Aug 14 20:57 05_reforis.json
  95749 -rw-r--r--    1 root     root         196 Sep 18 16:17 06_nut.json
 148127 -rw-r--r--    1 root     root         307 Sep 26 09:47 30_nextcloud.json
 109681 -rw-r--r--    1 root     root         211 Sep 26 11:53 30_transmission.json
 984635 -rw-r--r--    1 root     root         203 Sep 26 11:53 l10n.json
 984636 -rwxr-xr-x    1 root     root        1.9K Sep 26 11:53 turris-webapps-json-cgi

I don’t think if it can help, but this is my /usr/share/turris-webapps/turris-webapps-json-cgi file contents:

#!/bin/sh

USR_DIR="/usr/share/turris-webapps"
ETC_DIR="/etc/turris-webapps"

. /lib/functions.sh

config_load foris
config_get_bool WIZARD_FINISHED wizard finished "0"
config_get LANG settings lang "en"
config_load webapps
config_get DEFAULT webapps default "reforis"

set -e

old_to_json() {
    NAME=""
    URL=""
    DESCRIPTION=""
    ICON=""
    source "$1" || return 1
    cat << ENTRY
{
    "id": "$(basename "$1" .conf | sed 's|^[0-9_]*||')",
    "title": "$(echo "$NAME" | sed 's| - .*||')",
    "url": "$URL",
    "icon": "/icons/$ICON",
    "description": {
	"en": "$(echo "$NAME" | sed 's|.* - ||')"
    }
}
ENTRY
}

print_config() {
    if [ "${fl##*.}" = conf ]; then
        old_to_json "$fl"
    else
        cat "$fl"
    fi
}

print_all() {
    local sep=","
    print_default || sep=""
    for fl in "$ETC_DIR"/[0-9]*.json \
              "$ETC_DIR"/[0-9]*.conf \
              "$USR_DIR"/[0-9]*.json \
              "$USR_DIR"/[0-9]*.conf; do
        [ -f "$fl" ] || continue
        if expr "$fl" : ".*/[0-9][0-9]_$DEFAULT\." > /dev/null; then
            continue
        fi
        echo -n "$sep"
        print_config "$fl"
    done
}

print_default() {
    local ret=1
    for fl in "$ETC_DIR"/[0-9][0-9]_$DEFAULT.json \
              "$ETC_DIR"/[0-9][0-9]_$DEFAULT.conf \
              "$USR_DIR"/[0-9][0-9]_$DEFAULT.json \
              "$USR_DIR"/[0-9][0-9]_$DEFAULT.conf; do
        [ -f "$fl" ] || continue
        print_config "$fl"
        ret="$?"
    done
    return $ret
}

# Handle IPv6 URLs
if expr "$SERVER_NAME" : '.*:' > /dev/null; then
    HOST="[$SERVER_NAME]"
else
    HOST="$SERVER_NAME"
fi

cat << JSON
{
    "lang": "$LANG",
    "selected": "$DEFAULT",
    "langs": {
$(cat /usr/share/turris-webapps/l10n.json)
    },
    "apps": [
$(
    if [ "$WIZARD_FINISHED" = "1" ]; then
        print_all
    else
        print_default
    fi | sed "s|@HOST@|$HOST|g"
)
    ]
}
JSON

I would suggest to try it without your modified json file and use original instead to see if it works. In case it does you will know where to look for the problem and it will be easier for you to isolate it.
Best practice imho always is to see if the problem is caused by the update or maybe a non standard modificaton. :slightly_smiling_face:

For any kind of problem it would be good to mention in advance what you changed compared to standard configuration. :slightly_smiling_face:

A quick look in your directory tells me you have two files for luci, namely 01-luci.json and 05-luci.json. At my installation there is just 05-luci.json Maybe rename 01-luci.json to backup or similar – same of course for 01-reforis.json and 05-reforis.json, here rename 05-reforis.json – and try again to restart lighttpd.

1 Like

@KreMic you made my day. Who could imagine that the TO webapps page could be restored by simply renaming config files that appeared to be duplicated (both luci and refers json files appeared to be duplicated)?
Thank you very much.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.