I’ve been at this for two days, along with Claude.ai, troubleshooting it but we got nowhere, even after reinstall and creating new test users.
Data partition was wiped, root intact, including configs and database.
After data partition recovery, the “Create public link” button in Nextcloud web UI won’t click - it renders as <span role="generic"> instead of an interactive button. Desktop app sharing works fine. Tried everything including complete Nextcloud reinstall - issue persists. Backend APIs return 200, all configs correct. Suspect database corruption from partition recovery.
TL;DR:
Public Link Sharing Button Not Clickable in Web UI (Desktop App Works)
Environment
- Nextcloud Version: 32.0.0 (upgraded from 31.0.9)
- Installation: Native (not Docker/Snap)
- OS: Ubuntu
- Web Server: Apache 2.4.58
- PHP: 8.3.6
- Database: MySQL/MariaDB
- Reverse Proxy: Nginx with HTTPS
Problem Description
The “Create public link” button in the Nextcloud web UI is completely non-clickable. It appears as plain text with a blue circle icon but has no interactivity:
- No cursor change on hover
- No response to clicks
- Just displays as static text
However, public link sharing works perfectly through the desktop application. Other sharing features (internal shares, email shares) work normally in the web UI. Once the share is created via desktop app, web UI can then modify all aspects of it, it just cannot create it.
Background
This issue appeared after recovering from a data partition corruption. The system partition (/var/www/html/nextcloud) remained intact, but /data/nextcloud had to be restored from backups. During recovery, some file permissions may have been modified.
Technical Findings
Browser Console Errors
JavaScript errors appear on page load:
TypeError: this.fetchDisplayName is not a function (VersionTab.vue:170)Uncaught (in promise) TypeError: o[e] is not a function
Element Inspection
Using browser dev tools to inspect the “Create public link” element reveals:
- Rendering as a
<span>withrole="generic" Keyboard-focusable: NO- Should be an interactive button element but isn’t
API Behavior
Network tab shows all sharing API calls to /ocs/v2.php/apps/files_sharing/ return 200 OK. The backend is functioning correctly - this is purely a frontend rendering issue.
Configuration Status
All sharing settings are properly enabled:
shareapi_allow_links: trueshareapi_enabled: yessharing.enable_share_by_link: true- Admin UI shows “Allow users to share via link” enabled
- No groups excluded from link sharing
- All share permissions enabled
Troubleshooting Steps Attempted
Basic Testing
- Tested in multiple browsers (Firefox, Chrome) and private/incognito mode
- Cleared browser cache completely (Ctrl+Shift+Delete)
- Created fresh user account and tested - same issue
- Verified user has “Create” permission in share settings
App Management
- Disabled and re-enabled
files_sharingapp - Disabled potentially conflicting apps:
activity,files_versions,notifications,recommendations - Reinstalled
files_sharingfrom fresh Nextcloud download
Cache and Asset Regeneration
Deleted and regenerated all JS/CSS assets:
- Removed
/var/www/html/nextcloud/data/appdata_*/js - Removed
/var/www/html/nextcloud/data/appdata_*/css - Ran
occ maintenance:repair
Database Maintenance
- Ran
occ db:add-missing-indices - Ran
occ db:add-missing-columns - Ran
occ maintenance:repair
Core Integrity
- Ran
occ integrity:check-core - Initially failed on
.user.inihash mismatch - Restored file from clean download
- Check now passes
Complete Nextcloud Reinstall
Performed full reinstall of Nextcloud 32.0.0:
- Created LVM snapshot for safety
- Moved existing installation to
.backup - Downloaded fresh
nextcloud-32.0.0.zip - Extracted and copied
config.php - Set proper ownership (
www-data:www-data) - Ran upgrade process
- Issue persists after complete reinstall
Permission Verification
Verified all file permissions are correct:
/data/nextcloud/dataowned bywww-data:www-data- All
appdata_*directories have proper ownership - Checked both system and data partition permissions
Current Status
Working:
- Backend sharing API (all calls return 200)
- Desktop app can create public links successfully
- Internal shares work in web UI
- Email shares work in web UI
Not Working:
- “Create public link” button in web UI
- Button renders as non-interactive span element
Questions
The fact that a complete fresh install didn’t fix this suggests the issue lies in the database or some persistent configuration that survived the reinstall.
Has anyone encountered:
- Sharing buttons rendering as non-interactive elements with
role="generic"? - Database table corruption that causes this specific Vue rendering issue?
- PHP extensions or Redis configurations that might affect Vue.js component rendering?
- Data partition recovery corrupting specific database entries that affect frontend rendering?
Any insights would be greatly appreciated!