Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Plug-In] Community Applications

Featured Replies

Add another +1 for me having this issue ~45m ago. This seems like a global issue at this point.

  • Replies 4.9k
  • Views 2.1m
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • If the source had been in the same GH user then it winds up being a new plugin. A new plugin gets flagged and I receive a notification, and until the plugins are code-reviewed etc etc the they aren'

  • My co-workers wondered why I was taking off my shirt.  They are still baffled why I have to show my belly button to a squid.  😁   

  • Back up.  Sorry for any and all inconveniences. 

Posted Images

same issue. Ive uninstalled it via plugins then reinstalled via the apps page.

Claude is telling me to edit the files but im worried to do that lol

Fix 3: Manual Code Fix (Advanced)

If you're comfortable editing files:

bash

# Backup the original file
cp /usr/local/emhttp/plugins/community.applications/include/exec.php /usr/local/emhttp/plugins/community.applications/include/exec.php.backup

# Edit line 311 to handle arrays properly
nano /usr/local/emhttp/plugins/community.applications/include/exec.php

Find line 311 and change:

php

// FROM:
trim($variable)

// TO:
is_array($variable) ? trim(implode('', $variable)) : trim($variable)

Someone who is comfortable with doing that wanna try?

I obviously don't recommend doing this, but if you really need access before a fix is available, here is how I fixed it for now

I fixed it by changing the following on line 311~312 in the /usr/local/emhttp/plugins/community.applications/include/exec.php
file.

from this:

    if ( $o['RequiresFile'] ?? null) $o['RequiresFile'] = trim($o['RequiresFile']);
    if ( $o['Requires'] ?? null) 		$o['Requires'] = trim($o['Requires']);

to this:

	if ( $o['RequiresFile'] ?? null) {
      if ( is_array($o['RequiresFile']) ) {
        $tmp = array_map('strval',$o['RequiresFile']);
        $tmp = array_filter($tmp,function($s){ return trim($s) !== ''; });
        $o['RequiresFile'] = trim($tmp[0] ?? "");
      } else {
        $o['RequiresFile'] = trim((string)$o['RequiresFile']);
      }
    }
    if ( $o['Requires'] ?? null) {
      if ( is_array($o['Requires']) ) {
        $req = array_map('strval',$o['Requires']);
        $req = array_filter($req,function($s){ return trim($s) !== ''; });
        $o['Requires'] = trim(implode("\n",$req));
      } else {
        $o['Requires'] = trim((string)$o['Requires']);
      }
    }


Looks like it's caused by one of the app info that is being loaded. Again this is a TEMPORARY fix, I don't recommend doing this

Verifying the same problem on 2 different unraid servers this morning.

Bumping CA "Browser" error

OS ver 7.1.2

CA ver 2025.08.16 after uninstall and reinstall vis plugins tab

No system changes/updates, only Installed Prometheus and Grafana ~18 hours ago in docker

PHP logs:

[18-Sep-2025 10:13:34 America/New_York] PHP Fatal error:  Uncaught TypeError: trim(): Argument #1 ($string) must be of type string, array given in /usr/local/emhttp/plugins/community.applications/include/exec.php:311
Stack trace:
#0 /usr/local/emhttp/plugins/community.applications/include/exec.php(311): trim(Array)
#1 /usr/local/emhttp/plugins/community.applications/include/exec.php(1120): DownloadApplicationFeed()
#2 /usr/local/emhttp/plugins/community.applications/include/exec.php(90): force_update()
#3 {main}
  thrown in /usr/local/emhttp/plugins/community.applications/include/exec.php on line 311

Browser logs:

unraid-components.client-Chq1f4tv.js:78 connectPluginInstalled is false, aborting request
(anonymous) @ unraid-components.client-Chq1f4tv.js:78Understand this warning
plugins/community.applications/include/exec.php:1  Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Same issue as everyone else:

[18-Sep-2025 16:13:10 Europe/Budapest] PHP Fatal error:  Uncaught TypeError: trim(): Argument #1 ($string) must be of type string, array given in /usr/local/emhttp/plugins/community.applications/include/exec.php:312
Stack trace:
#0 /usr/local/emhttp/plugins/community.applications/include/exec.php(312): trim(Array)
#1 /usr/local/emhttp/plugins/community.applications/include/exec.php(1121): DownloadApplicationFeed()
#2 /usr/local/emhttp/plugins/community.applications/include/exec.php(90): force_update()
#3 {main}
  thrown in /usr/local/emhttp/plugins/community.applications/include/exec.php on line 312

I've var_dumped $ApplicationFeed['applist'] from /usr/local/emhttp/plugins/community.applications/include/exec.php near the location of the error. It seems like the issue is with the "Tailscale IDP" plugin:

  array(22) {
    ["PluginURL"]=>
    string(75) "https://raw.githubusercontent.com/dkaser/unraid-tsidp/main/plugin/tsidp.plg"
    ["PluginAuthor"]=>
    string(11) "Derek Kaser"
    ["Name"]=>
    string(21) "Tailscale IDP (tsidp)"
    // ...
    ["RequiresFile"]=> // Input data for the error
    array(2) {
      [0]=>
      string(49) "/usr/local/emhttp/plugins/tailscale/bin/tailscale"
      [1]=>
      string(34) "/usr/local/unraid-api/package.json"
    }
    // ...
  }

Tried an Unraid (controlled) restart to see if it fixed it. Now it's come back I've lost one of my two SSD cache disks. I assume that's just a coincidence!

I can confirm this is also happening for me. Same error messages. Waiting for an official fix. 🤔

Same issue here

Checking the logs showed this:

PHP Fatal error: trim(): Argument #1 ($string) must be of type string, array given
.../community.applications/include/exec.php on line 311

Turns out the plugin is trying to trim() an array coming back from the feed. Assume CA broke because the appfeed started returning Requires/RequiresFile as arrays, and PHP 8 fatals when trim() is called on them?

Quick hack/fix I've just tested which seems to work (until a proper fix patches it):

cp /usr/local/emhttp/plugins/community.applications/include/exec.php \
   /usr/local/emhttp/plugins/community.applications/include/exec.php.bak

sed -i 's/$o\[.RequiresFile.\] = trim($o\[.RequiresFile.\]);/if (isset($o["RequiresFile"]) && is_string($o["RequiresFile"])) { $o["RequiresFile"] = trim($o["RequiresFile"]); }/' /usr/local/emhttp/plugins/community.applications/include/exec.php

sed -i 's/$o\[.Requires.\] = trim($o\[.Requires.\]);/if (isset($o["Requires"]) && is_string($o["Requires"])) { $o["Requires"] = trim($o["Requires"]); }/' /usr/local/emhttp/plugins/community.applications/include/exec.php

First issues with Unraid connect now this, it seems to just get worst instead of better.

Getting same message/error:

1 hour ago, thatnovaguy said:

Hello, I'm running into problems when trying to access my community applications tab. When loading the tab I'm met with this:

image.png

Checking the PHP logs shows this entry each time I try to load the tab:

[18-Sep-2025 09:17:44 America/New_York] PHP Fatal error:  Uncaught TypeError: trim(): Argument #1 ($string) must be of type string, array given in /usr/local/emhttp/plugins/community.applications/include/exec.php:311
Stack trace:
#0 /usr/local/emhttp/plugins/community.applications/include/exec.php(311): trim(Array)
#1 /usr/local/emhttp/plugins/community.applications/include/exec.php(1120): DownloadApplicationFeed()
#2 /usr/local/emhttp/plugins/community.applications/include/exec.php(90): force_update()
#3 {main}
  thrown in /usr/local/emhttp/plugins/community.applications/include/exec.php on line 311

Any ideas what's happening?

29 minutes ago, theag3nt said:

Same issue as everyone else:

[18-Sep-2025 16:13:10 Europe/Budapest] PHP Fatal error:  Uncaught TypeError: trim(): Argument #1 ($string) must be of type string, array given in /usr/local/emhttp/plugins/community.applications/include/exec.php:312
Stack trace:
#0 /usr/local/emhttp/plugins/community.applications/include/exec.php(312): trim(Array)
#1 /usr/local/emhttp/plugins/community.applications/include/exec.php(1121): DownloadApplicationFeed()
#2 /usr/local/emhttp/plugins/community.applications/include/exec.php(90): force_update()
#3 {main}
  thrown in /usr/local/emhttp/plugins/community.applications/include/exec.php on line 312

I've var_dumped $ApplicationFeed['applist'] from /usr/local/emhttp/plugins/community.applications/include/exec.php near the location of the error. It seems like the issue is with the "Tailscale IDP" plugin:

  array(22) {
    ["PluginURL"]=>
    string(75) "https://raw.githubusercontent.com/dkaser/unraid-tsidp/main/plugin/tsidp.plg"
    ["PluginAuthor"]=>
    string(11) "Derek Kaser"
    ["Name"]=>
    string(21) "Tailscale IDP (tsidp)"
    // ...
    ["RequiresFile"]=> // Input data for the error
    array(2) {
      [0]=>
      string(49) "/usr/local/emhttp/plugins/tailscale/bin/tailscale"
      [1]=>
      string(34) "/usr/local/unraid-api/package.json"
    }
    // ...
  }

I think it has been fixed at the source, probably have to wait to be picked up:
https://github.com/dkaser/unraid-plugins/commit/f91ae9bd60e042ac96c4bedb4e76e69a00a1b7b2

37 minutes ago, Akumara said:

same issue. Ive uninstalled it via plugins then reinstalled via the apps page.

Claude is telling me to edit the files but im worried to do that lol

Fix 3: Manual Code Fix (Advanced)

If you're comfortable editing files:

bash

# Backup the original filecp /usr/local/emhttp/plugins/community.applications/include/exec.php /usr/local/emhttp/plugins/community.applications/include/exec.php.backup

# Edit line 311 to handle arrays properly
nano /usr/local/emhttp/plugins/community.applications/include/exec.php

Find line 311 and change:

php

// FROM:trim($variable)

// TO:is_array($variable) ? trim(implode('', $variable)) : trim($variable)

Someone who is comfortable with doing that wanna try?

I can confirm this fixed the problem for me.

I just added is_string() to the if condition since, trim only work on string, not on array, and it work again.

    if ( is_string($o['RequiresFile'] ?? null)) $o['RequiresFile'] = trim($o['RequiresFile']);
    if ( is_string($o['Requires'] ?? null))             $o['Requires'] = trim($o['Requires']);

Don't want to be rude, but why is this error/exception not caught in a try/catch?

pretty upset with myself that i just spent 3 hours troubleshooting this issue and didn't think to check here to see if this was a global issue. i had been tinkering with mtu and other settings and figured id broken it. odd timing.

i'm mostly also interested to know why try/catch doesnt catch this

8 minutes ago, drfsol said:

I just added is_string() to the if condition since, trim only work on string, not on array, and it work again.

    if ( is_string($o['RequiresFile'] ?? null)) $o['RequiresFile'] = trim($o['RequiresFile']);
    if ( is_string($o['Requires'] ?? null))             $o['Requires'] = trim($o['Requires']);

I came searching for the support thread, thinking it was just me & it was something I'd done.

This workaround worked for me until an update is available.

Working now for me all of the sudden! 🤦‍♂️

can confirm it is working again

Working again for me!

Looks like its back up and working now!

Working again. Thanks

working for me again too

all back is there.

back to breaking things myself

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.