[Bug]: README.md not shown in subfolders (404 error on load) in Files app with custom css (Nextcloud 31.0.3)
⚠️ This issue respects the following points: ⚠️
- [x] This is a bug, not a question or a configuration/webserver/proxy issue.
- [x] This issue is not already reported on Github OR Nextcloud Community Forum (I've searched it).
- [x] Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
- [x] I agree to follow Nextcloud's Code of Conduct.
Bug description
When placing a README.md file inside a subfolder, it is not displayed in the Files app as expected. The inline README preview works perfectly in the top-level folder, but in subfolders it fails to load. Using custom css to increase bottom padding:
CSS used:
.readme .content {
overflow-y: auto !important;
padding-bottom: 100px !important;
}
The browser console shows a 404 error when Nextcloud tries to fetch the README.md file, and it appears that the wrong path is used.
Steps to reproduce
-
Create a subfolder, e.g.,
/Documents/Policy -
Upload a
README.mdfile inside that subfolder -
Navigate to the subfolder in the Nextcloud Files app
-
Observe that the README preview does not appear
-
Check the browser console — a 404 error appears for:
GET /remote.php/dav/files/
/README.md -
The correct path should be:
/remote.php/dav/files/
/Documents/Policy/README.md
Expected behavior
The README.md file inside a subfolder should be displayed automatically above the file list, just like in the top-level folders.
Nextcloud Server version
31
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.3
Web server
Apache (supported)
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
None
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
- [x] Default user-backend (database)
- [ ] LDAP/ Active Directory
- [ ] SSO - SAML
- [ ] Other
Configuration report
{
"system": {
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"***",
"****",
"***",
"***",
"***",
"***",
"***"
],
"overwritehost": "***",
"overwriteprotocol": "https",
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "mysql",
"version": "31.0.3.2",
"overwrite.cli.url": "http:\/\/localhost",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"mysql.utf8mb4": true,
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"mail_smtpmode": "smtp",
"mail_smtpsecure": "tls",
"mail_sendmailmode": "smtp",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "587",
"mail_smtpauth": 1,
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"maintenance": false,
"maintenance_window_start": 1,
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"port": 6379
},
"mail_smtpauthtype": "LOGIN",
"default_phone_region": "NL",
"htaccess.RewriteBase": "\/",
"memories.db.triggers.fcu": true,
"memories.exiftool": "\/var\/www\/nextcloud\/apps\/memories\/bin-ext\/exiftool-amd64-glibc",
"memories.vod.path": "\/var\/www\/nextcloud\/apps\/memories\/bin-ext\/go-vod-amd64",
"memcache.local": "\\OC\\Memcache\\APCu",
"memories.vod.ffmpeg": "\/usr\/bin\/ffmpeg",
"memories.vod.ffprobe": "\/usr\/bin\/ffprobe",
"theme": "",
"loglevel": 2,
"default_timezone": "Europe\/Amsterdam",
"enabledPreviewProviders": [
"OC\\Preview\\Movie",
"OC\\Preview\\TIFF",
"OC\\Preview\\HEIC",
"OC\\Preview\\Image"
],
"default_timezone=Europe\/Amsterdam": "",
"app_install_overwrite": [],
"appstoreenabled": true
}
}
List of activated Apps
Enabled:
- activity: 4.0.0
- app_api: 5.0.2
- bruteforcesettings: 4.0.0
- calendar: 5.2.1
- circles: 31.0.0
- cloud_federation_api: 1.14.0
- comments: 1.21.0
- contacts: 7.0.6
- contactsinteraction: 1.12.0
- dashboard: 7.11.0
- dav: 1.33.0
- deck: 1.15.0
- federatedfilesharing: 1.21.0
- federation: 1.21.0
- files: 2.3.1
- files_antivirus: 6.0.0
- files_downloadlimit: 4.0.0
- files_pdfviewer: 4.0.0
- files_reminders: 1.4.0
- files_sharing: 1.23.1
- files_trashbin: 1.21.0
- files_versions: 1.24.0
- firstrunwizard: 4.0.0
- logreader: 4.0.0
- lookup_server_connector: 1.19.0
- memories: 7.5.2
- nextcloud_announcements: 3.0.0
- notes: 4.12.0
- notifications: 4.0.0
- oauth2: 1.19.1
- ownershiptransfer: 1.1.0
- password_policy: 3.0.0
- photos: 4.0.0-dev.1
- privacy: 3.0.0
- profile: 1.0.0
- provisioning_api: 1.21.0
- recommendations: 4.0.0
- related_resources: 2.0.0
- richdocuments: 8.6.4
- richdocumentscode: 24.4.1303
- serverinfo: 3.0.0
- settings: 1.14.0
- sharebymail: 1.21.0
- support: 3.0.0
- survey_client: 3.0.0
- systemtags: 1.21.1
- text: 5.0.0
- theming: 2.6.1
- theming_customcss: 1.18.0
- twofactor_backupcodes: 1.20.0
- updatenotification: 1.21.0
- user_status: 1.11.0
- viewer: 4.0.0
- weather_status: 1.11.0
- webhook_listeners: 1.2.0
- workflow_media_converter: 1.13.5
- workflowengine: 2.13.0
Disabled:
- admin_audit: 1.21.0
- encryption: 2.19.0
- files_external: 1.23.0
- mail: 5.0.0 (installed 5.0.0)
- suspicious_login: 9.0.1
- twofactor_nextcloud_notification: 5.0.0
- twofactor_totp: 13.0.0-dev.0
- user_ldap: 1.22.0
Nextcloud Signing status
No errors have been found.
Nextcloud Logs
Additional info
No response
Minor update Using the android nextcloud client, the readme.md files are shown correctly in both top folder as well as all sub-folders.
Note: In Nextcloud 31.0.3, the inline README.md preview appears to use a Vue component (e.g., <MarkdownPreview>) rendered at the top of the file list.
This component has a dynamic data-v-* attribute and no fixed class like .readme, making it hard to style or debug.
Inconsistent rendering is observed:
- Sometimes README.md appears after folder creation
- Sometimes not shown at all in subfolders
- Styles cannot be applied via Custom CSS due to scoped rendering
My initial problem is shown in the picture attached. While investigating, I also stumbled on the 404 error of the .md file. Hope this clarifies.