Enable text app in NC29/Hub 8

Nextcloud version: Nextcloud Hub 8/29.0.1
Operating system and version: Debian 12.5
nginx version: 1.22.1-9
PHP version: 8.2.18

The issue you are facing:

This instance originated back in the owncloud days and was converted/upgraded step by step to nc29 (along with in-place operating system upgrades - I still have ancient PHP 7.0 config files around - though nothing that old is installed anymore :wink: )

Users have been relying on plain text and markdown editor app which long has been deprecated and do not work with NC29 at the moment, but neither does the text-app right now.

I’ve enabled/disabled the app both via occ and within the WebUI, played with the various configurations but so far, if a user tries to open a .md file, it will be downloaded instead of opening it in the WebUI.

Is this the first time you’ve seen this error? Yes, immediately after the upgrade

Steps to replicate it: Unsure due to long history

The output of your Nextcloud log in Admin > Logging: omitted as about 100MByte/day

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

$CONFIG = array (
  'instanceid' => '[redacted]',
  'passwordsalt' => '[redacted]',
  'datadirectory' => '/var/share/cloud/data',
  'dbtype' => 'mysql',
  'version' => '',
  'installed' => true,
  'loglevel' => 0,
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'log_typefile' => 'owncloud',
  'maintenance' => false,
  'maxZipInputSize' => 0,
  'allowZipDownload' => true,
  'theme' => '',
  'forcessl' => true,
  'trusted_domains' =>
  array (
    0 => 'domain1',
    1 => 'domain2',
    2 => 'domain3',
  'secret' => '[redacted]',
  'trashbin_retention_obligation' => 'auto',
  'updatechecker' => false,
  'dbname' => '[redacted]',
  'dbhost' => '[redacted]',
  'dbuser' => '[redacted]',
  'dbpassword' => '[redacted]',
  'updater.release.channel' => 'stable',
  'auth.bruteforce.protection.enabled' => false,
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => 'localhost',
    'port' => 6379,
    'dbindex' => 0,
    'password' => '[redacted]',
    'timeout' => 1.5,
  'trusted_proxies' =>
  array (
    0 => '[redacted]',
  'overwritehost' => 'domain3',
  'overwriteprotocol' => 'https',
  'overwritewebroot' => '/',
  'overwrite.cli.url' => 'URL for domain3',
  'mail_from_address' => 'webmaster',
  'mail_smtpmode' => 'sendmail',
  'mail_domain' => 'domain1',
  'mail_smtphost' => 'mail.domain1',
  'encryption.legacy_format_support' => true,
  'encryption.key_storage_migrated' => false,
  'app_install_overwrite' =>
  array (
    0 => 'calendar',
    1 => 'activitylog',
    2 => 'files_markdown',
    3 => 'files_texteditor',
    4 => 'files_downloadactivity',
    5 => 'apporder',
    6 => 'news',
    7 => 'ocsms',
    8 => 'files_reader',
    9 => 'weather',
  'mysql.utf8mb4' => true,
  'mail_smtpport' => '25',
  'mail_sendmailmode' => 'smtp',

The output of your Apache/nginx/system log in `/var/log/:
Also omitted for the time being, which one is more relevant, local one of of the reverse proxy?

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.

Initially libresign seems to handle this file but errors out (to me, the URL looks somewhat wrong):

  "reqId": "[redacted]",
  "level": 0,
  "time": "2024-06-05T19:26:08+00:00",
  "remoteAddr": "[redacted]",
  "user": "[redacted]",
  "app": "libresign",
  "method": "GET",
  "url": "/index.phps/files/495370?dir=/Regression%20Test",
  "message": "Could not find resource file \"/apps/libresign/css/icons.css\"",
  "userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:126.0) Gecko/20100101 Firefox/126.0",
  "version": "",
  "data": {
    "app": "libresign"

after disabling this workflow wants to handle this, but the URL looks weird again (/ missing?)

  "reqId": "[redacted]",
  "level": 0,
  "time": "2024-06-06T07:27:53+00:00",
  "remoteAddr": "[redacted]",
  "user": "[redacted]",
  "app": "workflowengine",
  "method": "GET",
  "url": "/index.phps/files/495370?dir=/Regression%20Test",
  "message": "No flow configurations is going to run Zugriff auf Datei verhindern",
  "userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:126.0) Gecko/20100101 Firefox/126.0",
  "version": "",
  "data": {
    "app": "workflowengine",
    "level": "0"

Anyone with an idea what the core problem is?

I see you have files_markdown and files_texteditor force enabled per your config. Are they currently installed and enabled? If so, what happens if you disable them and leave only the stock text (which is a shipped app with the installation does support v29) app enabled?

Hi, front up, sorry for the late response, I was offline since Thursday.

That’s interesting, according to the webUI and occ app:list these are installed but disabled - but config.php seems to differ.

But removing them via occ app:remove does not change it, app-text does still not seem to be registered for md files.

I’ve also taken it out of the config.php and restarted nginx/php-fpm but again, no changes :frowning: