[solved] A shared folder is visible but (recently became) not clickable/traversable by multiple users

Nextcloud version (eg, 20.0.5): 24.0.7
Operating system and version (eg, Ubuntu 20.04): Lubuntu 22.04
Running docker image: All-In-One v3.0.0 (nextcloud 24.0.7)

The issue you are facing:

3 folders are shared with 2 user groups. The shares are visible but aren’t traversable by old users (we’re expecting it’s everyone, but we’re not certain). A newly created user in the same group doesn’t have the problem. When unsharing a folder, and sharing it again, the issue persist(?!).

Is this the first time you’ve seen this error? (Y):

No idea how how it got corrupted…
Maybe it happened because i renamed(an upgrade or 2 ago) the original folder to start with a unicode character of a brick(:brick:) ? The brick character in the name is visible for everyone.
But since a while now the 3 folders are all visible but not traversable.

Steps to replicate it:

  1. I’ve had AIO running since version 1.x and over time went through all upgrades.
    Recently i noticed that the main shared folder, which we use as a single storage for everyone, has an issue.
  2. Everyone sees the folder name under ‘shares’.
  3. When a user which has just been created and part of that user-group to which the folder is shared. (s)he can click that folder and navigate into it. So it works.
  4. For users which have existed for long, they see the share listed, but when clicking on it, the file-listing doesn’t show the content of the share, but it shows the content of the users own root folder.
  5. When that user lists the shares, and opens the ‘details’ pane for that faulty share, it says " Error while loading the file data" in the pane.

The output of the clients’ javascript console:
When listing the shares, no errors are shown in the javascript console.

When using the browser, i select ‘… >details’ on that faulty share, the next 3 errors appear in the javascript console:

client.js:270          PROPFIND https://zzz/remote.php/dav/files/auser/Shared/%F0%9F%A7%B1some_text(read%2Bwrite) 404
...
Sidebar.vue:438 Error while loading the file data Error: Request failed with status code 404
...
Sidebar.vue:440 Uncaught (in promise) Error: Error: Request failed with status code 404

When using the browser, i click that share as to navigate into that folder, the users own files appear, but the next errors are listed in the javascript console

client.js:270          PROPFIND https://zzz/remote.php/dav/files/auser/Shared/%F0%9F%A7%B1some_text(read%2Bwrite) 404
...
preview:1          GET https://zzz/core/preview?fileId=29669&x=250&y=250 404
RecommendedFile.vue:126 could not load recommendation preview 
preview:1          GET https://zzz/core/preview?fileId=29561&x=250&y=250 404
RecommendedFile.vue:126 could not load recommendation preview 
preview:1          GET https://zzz/core/preview?fileId=21043&x=250&y=250 404
RecommendedFile.vue:126 could not load recommendation preview 
preview:1          GET https://zzzz/core/preview?fileId=29669&c=8e187470342bf4d80dd33c6d2c44b401&x=250&y=250&forceIcon=0&a=0 

The output of your Nextcloud log in Admin > Logging:

No change to the logging found via menu settings>admin>logging content when a user navigates to the file to encounter the issue.

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

<?php
$CONFIG = array (
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'apps_paths' => 
  array (
    0 => 
    array (
      'path' => '/var/www/html/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 => 
    array (
      'path' => '/var/www/html/custom_apps',
      'url' => '/custom_apps',
      'writable' => true,
    ),
  ),
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => 'nextcloud-aio-redis',
    'password' => 'sssssss',
    'port' => 6379,
  ),
  'overwritehost' => 'sssssss',
  'overwriteprotocol' => 'https',
  'trusted_proxies' => 
  array (
    0 => '127.0.0.1',
    1 => '::1',
  ),
  'passwordsalt' => 'sssssss',
  'secret' => 'sssssss',
  'trusted_domains' => 
  array (
    0 => 'localhost',
    1 => 'sssssss',
  ),
  'datadirectory' => '/mnt/ncdata',
  'dbtype' => 'pgsql',
  'version' => '24.0.7.1',
  'overwrite.cli.url' => 'sssssss',
  'dbname' => 'nextcloud_database',
  'dbhost' => 'nextcloud-aio-database',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'oc_nextcloud',
  'dbpassword' => 'sssssss',
  'installed' => true,
  'instanceid' => 'sssssss',
  'loglevel' => '2',
  'log_type' => 'file',
  'logfile' => '/var/www/html/data/nextcloud.log',
  'log_rotate_size' => '10485760',
  'log.condition' => 
  array (
    'apps' => 
    array (
      0 => 'admin_audit',
    ),
  ),
  'preview_max_x' => '2048',
  'preview_max_y' => '2048',
  'jpeg_quality' => '60',
  'enabledPreviewProviders' => 
  array (
    1 => 'OC\\Preview\\Image',
    2 => 'OC\\Preview\\MarkDown',
    3 => 'OC\\Preview\\MP3',
    4 => 'OC\\Preview\\TXT',
    5 => 'OC\\Preview\\OpenDocument',
    6 => 'OC\\Preview\\Movie',
  ),
  'enable_previews' => true,
  'upgrade.disable-web' => true,
  'mail_smtpmode' => 'smtp',
  'trashbin_retention_obligation' => 'auto, 30',
  'versions_retention_obligation' => 'auto, 30',
  'activity_expire_days' => '30',
  'simpleSignUpLink.shown' => false,
  'share_folder' => '/Shared',
  'one-click-instance' => true,
  'one-click-instance.user-limit' => 100,
  'htaccess.RewriteBase' => '/',
  'allow_local_remote_servers' => true,
  'mail_from_address' => 'sssssss',
  'mail_sendmailmode' => 'smtp',
  'mail_domain' => 'sssssss',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtpauth' => 1,
  'mail_smtphost' => 'sssssss',
  'mail_smtpport' => '465',
  'mail_smtpsecure' => 'ssl',
  'mail_smtpname' => 'sssssss',
  'mail_smtppassword' => 'sssssss',
  'maintenance' => false,
  'files_external_allow_create_new_local' => false,
  'tempdirectory' => '/mnt/ncdata/tmp/',
  'one-click-instance.link' => 'https://nextcloud.com/all-in-one/',
);

The output of your Apache/nginx/system log in /var/log/apache2/error.log:
from Container nextcloud-aio-apache

www-data@dc45eb0a2bfe:/$ cat var/log/apache2/error.log 
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.9. Set the 'ServerName' directive globally to suppress this message
[Wed Nov 23 18:47:00.873196 2022] [mpm_event:notice] [pid 48:tid 140009735073088] AH00489: Apache/2.4.54 (Debian) configured -- resuming normal operations
[Wed Nov 23 18:47:00.873320 2022] [core:notice] [pid 48:tid 140009735073088] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'

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.
Showing: https://localhost:8080/api/docker/logs?id=nextcloud-aio-nextcloud

              now              
-------------------------------
 2022-11-23 18:46:17.025105+00
(1 row)

Installing imagemagick via apk...
Installing PHP build dependencies...
Installing Imagick via PECL...
Configuring Redis as session handler...
Setting php max children...
System config value tempdirectory set to string /mnt/ncdata/tmp/
Applying one-click-instance settings...
System config value one-click-instance set to boolean true
System config value one-click-instance.user-limit set to integer 100
System config value one-click-instance.link set to string https://nextcloud.com/all-in-one/
support already enabled
Adjusting log files...
System config value logfile set to string /var/www/html/data/nextcloud.log
Config value logfile for app admin_audit set to /var/www/html/data/audit.log
Applying network settings...
System config value trusted_domains => 1 set to string zzzzzzzz
System config value overwrite.cli.url set to string https://zzzzzzzz/
System config value htaccess.RewriteBase set to string /
.htaccess has been updated
System config value files_external_allow_create_new_local set to boolean false
System config value trusted_proxies => 0 set to string 127.0.0.1
System config value trusted_proxies => 1 set to string ::1
Config value base_endpoint for app notify_push set to https://zzzzzzzz/push
Config value wopi_url for app richdocuments set to https://zzzzzzzz/
System config value allow_local_remote_servers set to boolean true
System config value enabledPreviewProviders => 0 deleted
System config value preview_imaginary_url deleted
Activating collabora config...
Activated any config changes
[2022-11-23 18:47:44.407439 +00:00] WARN [notify_push::connection] src/connection.rs:194: websocket error: IO error: Broken pipe (os error 32)

From the AIO console, the logs for the other AIO services also don’t show any errors.

i hope i pasted the correct info. i couldn’t find all that was requested.

i ran the following occ commands. No counters showed nonzero and no errors showed.
The problem persists

files:cleanup
files:repair-tree  --dry-run
files:scan --all
sharing: cleanup-remote-storages --dry-run  (even though i don't have any connected)
dav:remove-invalid-storage
db:add-missing-columns --dry-run
db:add-missing-indices --dry-run
preview:repair

(edit)
i received extra information from a user. She says that :

  • the internal-links when clicked from within an email, don’t work. the page seems to keep loading.
  • and also the browser when clicking on the shared folder, don’t work.
  • :information_source: But the shared files ARE available on her phone which is synched using the Nextcloud app.

See A shared folder is visible but (recently became) not traversable by (pre-upgrade) users · Issue #1442 · nextcloud/all-in-one · GitHub