The description of a card in deck is not showing up as I expect it to

The Basics

  • Nextcloud Server version (e.g., 29.x.x):
    • Nextcloud Hub 9 (30.0.6)
  • Operating system and version (e.g., Ubuntu 24.04):
    • Ubuntu 22.04
  • Web server and version (e.g, Apache 2.4.25):
    • Apache/2.4.52 (Ubuntu)
  • Reverse proxy and version _(e.g. nginx 1.27.2)
    • I don't know this
  • PHP version (e.g, 8.3):
    • 8.3.16
  • Is this the first time you’ve seen this error? (Yes / No):
    • no
  • When did this problem seem to first start?
    • `from the first time I used deck’
  • Installation method (e.g. AlO, NCP, Bare Metal/Archive, etc.)
    • through plesk obsidian add-in
  • Are you using CloudfIare, mod_security, or similar? (Yes / No)
    • mod_security on plesk obsidian

Summary of the issue you are facing:


The description does not show the first time I open a card. After opening it 3 times, then the description shows with the formatting buttons vertical. like this:

The android app shows up like I would expect.
[…]

Steps to replicate it (hint: details matter!):

  1. I think this is unique to me for some reason, since there are not other posts on the issue.

Log entries

Nextcloud

Please provide the log entries from your Nextcloud log that are generated during the time of problem (via the Copy raw option from Administration settings->Logging screen or from your nextcloud.log located in your data directory). Feel free to use a pastebin/gist service if necessary.

PASTE HERE

Web Browser

If the problem is related to the Web interface, open your browser inspector Console and Network tabs while refreshing (reloading) and reproducing the problem. Provide any relevant output/errors here that appear.

modulepreload-polyfi…CUwxYMh.chunk.mjs:1 Uncaught (in promise) Error: Unable to preload CSS for https://jdjonesengineering.com/nextcloud/apps/text/css/public-BffjDTy3.chunk.css
    at HTMLLinkElement.<anonymous> (modulepreload-polyfi…Mh.chunk.mjs:1:1083)
(anonymous)	@	modulepreload-polyfi…CUwxYMh.chunk.mjs:1

Web server / Reverse Proxy

The output of your Apache/nginx/system log in /var/log/____:

PASTE HERE

Configuration

Nextcloud

The output of occ config:list system or similar is best, but, if not possible, the contents of your config.php file from /path/to/nextcloud is fine (make sure to remove any identifiable information!):

PASTE HERE

Apps

The output of occ app:list (if possible).

Tips for increasing the likelihood of a response

  • Use the preformatted text formatting option in the editor for all log entries and configuration output.
  • If screenshots are useful, feel free to include them.
    • If possible, also include key error output in text form so it can be searched for.
  • Try to edit log output only minimally (if at all) so that it can be ran through analyzers / formatters by those trying to help you.

Edit: This created other problems, so I ended up reversing it.

I found a fix that worked for me:

Turning off nginx ‘proxy mode’ made everything start showing up right!

This page can be found by going to the subscription that nextcloud is installed in and then selecting the tab ‘hosting & dns’, then ‘Apache & nginx’

Hope this will help someone with the same issue!

JDJ

edit: This only appeared to fix the issue. The original issue showed up again the next day.


I actually found an even better solution with nginx left in proxy mode.

edit the apache2.conf file and add the line:
AddType text/css .css

I’m pretty lost now. I thought I had made progress, but I am just swapping one set of errors for another. I think I need to start over with my original post to the community for help.

I have set my sever back to the plesk default settings:

nginx is acting as a proxy to apache2

php version 8.3.16 is set to run php as fastcgi application served by apache

opening in firefox with the console window open I see that I am getting a 404 on the file: /nextcloud/apps/text/css/text-editors.css

My understanding is that the mime type errors is just because it was expecting to get a css file and instead it got the http 404 error.

So how do I go about determining why the text-editors.css and text-viewer.css files are not found?

So, I went back to the setup with Nginx server and worked on the errors being reported by nextcloud. As far as I can tell the system is working properly with this setup, but nextclooud still reports the following warnings:
--------------------------------below copied straight from nextcloud-----------------------------

Security & setup warnings

It’s important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information.

There are some warnings regarding your setup.

  • Your web server is not properly set up to resolve “/ocm-provider/”. This is most likely related to a web server configuration that was not updated to deliver this folder directly. Please compare your configuration against the shipped rewrite rules in “.htaccess” for Apache or the provided one in the documentation for Nginx. On Nginx those are typically the lines starting with “location ~” that need an update. For more details see the documentation :arrow_upper_right:.

  • PHP does not seem to be setup properly to query system environment variables. The test with getenv(“PATH”) only returns an empty response. For more details see the documentation :arrow_upper_right:.

  • The database is used for transactional file locking. To enhance performance, please configure memcache, if available. For more details see the documentation :arrow_upper_right:.

  • No memory cache has been configured. To enhance performance, please configure a memcache, if available. For more details see the documentation :arrow_upper_right:.

  • Your installation has no default phone region set. This is required to validate phone numbers in the profile settings without a country code. To allow numbers without a country code, please add “default_phone_region” with the respective ISO 3166-1 code of the region to your config file. For more details see the documentation :arrow_upper_right:.

  • You have not set or verified your email server configuration, yet. Please head over to the “Basic settings” in order to set them. Afterwards, use the “Send email” button below the form to verify your settings. For more details see the documentation :arrow_upper_right:.

  • The PHP module “imagick” in this instance has no SVG support. For better compatibility it is recommended to install it. For more details see the documentation :arrow_upper_right:.

--------------------------------above copied straight from nextcloud-----------------------------

The first two are in yellow text and I have tried to get those resolved as they appear important, but I have followed the instructions in the linked documentation and am still seeing the warnings. Despite this, everything seems to be working.

So far my experience has been that I can either have this setup with those warnings above, and everything I have tested so far works, or I can change it to the Apache2 with Nginx as a proxy and I get no warnings from Nextcloud, but the text editor in deck does not work properly.

My setup seems to be complicated by the fact that I installed nextcloud on a plesk server that I have running other domains also.

Anybody have any suggestions?

Thanks,

Jeremy

For those getting here looking for an answer to setting up nextcloud under a plesk server, I have a working solution. It may not all be correct, but it is working.

I installed nextcloud using the plesk extension, and then starting trying to figure out why things were not working right, specifically there were warnings reported on the Admin settings page, and the text editor in deck was not showing up when first clicking a card.

In order to resolve both, I ended up making the following changes in plesk:
1)under the subscription where nextcloud is installed go to"Hosting & DNS" → “Apache & nginix”


2) Turn off “Proxy Mode”
3) Change the “Maximum allowed HTTP request body size” to 512 MB
4) Add the following to “Additional nginx directives” and click apply or OK. Please note, I have not fully checked all that this code does, but playing around with the file from the nextcloud documents and looking at the things already in the nginx.ini files written by pesk, this is what I have assembled that is working for me. YMMV:

Note: You must find the path of the php-fpm.sock on your server and fix the line: fastcgi_pass “unix:/var/www/vhosts/system/YOUR_SUBSCRIPTION_NAME_HERE/php-fpm.sock”; <–that path was where mine was (ubuntu 22.04 and Plesk Obsidian), of corse, “YOUR_SUBSCRIPTION_NAME_HERE” is jsut a placeholder for the actual folder name.

location = /robots.txt {
	allow all;
	log_not_found off;
	access_log off;
}
location ^~ /.well-known {
	# The rules in this block are an adaptation of the rules
	# in the Nextcloud `.htaccess` that concern `/.well-known`.

	location = /.well-known/carddav { return 301 /nextcloud/remote.php/dav/; }
	location = /.well-known/caldav  { return 301 /nextcloud/remote.php/dav/; }

	location /.well-known/acme-challenge    { try_files $uri $uri/ =404; }
	location /.well-known/pki-validation    { try_files $uri $uri/ =404; }

	# Let Nextcloud's API for `/.well-known` URIs handle all other
	# requests by passing them to the front-end controller.
	return 301 /nextcloud/index.php$request_uri;
}


client_body_timeout 300s;
fastcgi_buffers 64 4K;

# Enable gzip but do not remove ETag headers
gzip on;
gzip_vary on;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml text/javascript application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/wasm application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;

# The settings allows you to optimize the HTTP2 bandwidth.
# See https://blog.cloudflare.com/delivering-http-2-upload-speed-improvements/
# for tuning hints
client_body_buffer_size 512k;

# HSTS settings
# WARNING: Only add the preload option once you read about
# the consequences in https://hstspreload.org/. This option
# will add the domain to a hardcoded list that is shipped
# in all major browsers and getting removed from this list
# could take several months.
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains;";

# HTTP response headers borrowed from Nextcloud `.htaccess`
add_header Referrer-Policy                   "no-referrer"       always;
add_header X-Content-Type-Options            "nosniff"           always;
add_header X-Frame-Options                   "SAMEORIGIN"        always;
add_header X-Permitted-Cross-Domain-Policies "none"              always;
add_header X-Robots-Tag                      "noindex, nofollow" always;
add_header X-XSS-Protection                  "1; mode=block"     always;

# Remove X-Powered-By, which is an information leak
fastcgi_hide_header X-Powered-By;

# Specify how to handle directories -- specifying `/nextcloud/index.php$request_uri`
# here as the fallback means that Nginx always exhibits the desired behaviour
# when a client requests a path that corresponds to a directory that exists
# on the server. In particular, if that directory contains an index.php file,
# that file is correctly served; if it doesn't, then the request is passed to
# the front-end controller. This consistent behaviour means that we don't need
# to specify custom rules for certain paths (e.g. images and other assets,
# `/updater`, `/ocs-provider`), and thus
# `try_files $uri $uri/ /nextcloud/index.php$request_uri`
# always provides the desired behaviour.
index index.php index.html /nextcloud/index.php$request_uri;

# Rule borrowed from `.htaccess` to handle Microsoft DAV clients
location = /nextcloud {
    if ( $http_user_agent ~ ^DavClnt ) {
        return 302 /nextcloud/remote.php/webdav/$is_args$args;
    }
}

# Rules borrowed from `.htaccess` to hide certain paths from clients
location ~ ^/nextcloud/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/)    { return 404; }
location ~ ^/nextcloud/(?:\.|autotest|occ|issue|indie|db_|console)                  { return 404; }

# Ensure this block, which passes PHP files to the PHP process, is above the blocks
# which handle static assets (as seen below). If this block is not declared first,
# then Nginx will encounter an infinite rewriting loop when it prepends
# `/nextcloud/index.php` to the URI, resulting in a HTTP 500 error response.
location ~ \.php(?:$|/) {
    # Required for legacy support
    rewrite ^/nextcloud/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocs-provider\/.+|.+\/richdocumentscode(_arm64)?\/proxy) /nextcloud/index.php$request_uri;

    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    set $path_info $fastcgi_path_info;

    try_files $fastcgi_script_name =404;

    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $path_info;
    fastcgi_param HTTPS on;

    fastcgi_param modHeadersAvailable true;         # Avoid sending the security headers twice
    fastcgi_param front_controller_active true;     # Enable pretty urls
    fastcgi_pass "unix:/var/www/vhosts/system/YOUR_SUBSCRIPTION_NAME_HERE/php-fpm.sock";

    fastcgi_intercept_errors on;
    fastcgi_request_buffering off;

    fastcgi_max_temp_file_size 0;
}

# Serve static files
location ~ \.(?:css|js|mjs|svg|gif|ico|jpg|png|webp|wasm|tflite|map|ogg|flac)$ {
    try_files $uri /nextcloud/index.php$request_uri;
    # HTTP response headers borrowed from Nextcloud `.htaccess`
    add_header Cache-Control                     "public, max-age=15778463";
    add_header Referrer-Policy                   "no-referrer"       always;
    add_header X-Content-Type-Options            "nosniff"           always;
    add_header X-Frame-Options                   "SAMEORIGIN"        always;
    add_header X-Permitted-Cross-Domain-Policies "none"              always;
    add_header X-Robots-Tag                      "noindex, nofollow" always;
    add_header X-XSS-Protection                  "1; mode=block"     always;
    access_log off;     # Optional: Don't log access to assets
}

location ~ \.(otf|woff2?)$ {
    try_files $uri /nextcloud/index.php$request_uri;
    expires 7d;         # Cache-Control policy borrowed from `.htaccess`
    access_log off;     # Optional: Don't log access to assets
}

# Rule borrowed from `.htaccess`
location /nextcloud/remote {
    return 301 /nextcloud/remote.php$request_uri;
}

location /nextcloud {
    try_files $uri $uri/ /nextcloud/index.php$request_uri;
}
  1. Go back to your subscription dashboard and click, “PHP”
  2. Check that “Run PHP as” is set to “FPM application served by nginix”
  3. Change the Memory Limit to 512M
  4. Add the following code in “Additional configuration directives” and click apply. NOTE: add whatever path you need in there. Or don’t add it, if none is needed.
[php-fpm-pool-settings]
env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Hope this is useful to someone.

JDJ

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