⚠️ This issue respects the following points: ⚠️
Bug description
TITLE
[Bug]: Users management page crashes because window.OC.Notification is undefined
BUG DESCRIPTION
After upgrading from Nextcloud 34.0.3.2 to Nextcloud 35.0.0.10, the users management page no longer displays any user accounts. The page itself loads, including the sidebar, but the actual user list remains empty.
The accounts are still present and can be listed successfully using php occ user:list. There is no indication of lost or damaged user accounts.
The Firefox console shows that the users management frontend crashes in UserList.vue because window.OC.Notification is undefined:
TypeError: can't access property "showTemporary", window.OC.Notification is undefined
setup UserList.vue:238
TypeError: can't access property "Fragment", n is undefined
dr UserList.vue:1
The relevant code in the compiled users management JavaScript bundle calls:
window.OC.Notification.showTemporary(...)
The call is executed while trying to display this notification:
Password change is disabled because the master key is disabled
However, server-side encryption is disabled on this instance:
{
"enabled": false,
"defaultModule": "OC_DEFAULT_MODULE"
}
The application setting useMasterKey returns:
Therefore, the master-key notification also appears to be misleading in this configuration.
Disabling the Password Policy and Suspicious Login apps did not change the behavior.
A temporary local workaround that guards the notification call restores the complete users list immediately:
window.OC.Notification?.showTemporary?.(...)
This workaround was applied only after reproducing and documenting the original error. It is not intended as the proper upstream fix.
Steps to reproduce
STEPS TO REPRODUCE
- Upgrade an existing Nextcloud installation from 34.0.3.2 to 35.0.0.10.
- Use an instance where server-side encryption reports
enabled: false and encryption useMasterKey is 0.
- Log in as an administrator.
- Open Administration settings.
- Open the users/accounts management page.
- Select “All accounts” or another account group.
- Observe that the user list remains empty.
- Open the browser console.
- Observe the exception caused by
window.OC.Notification.showTemporary() in UserList.vue.
Expected behavior
The users management page should display all existing user accounts.
A missing or unavailable notification API must not cause the complete users management component to crash.
If password changes are actually restricted, Nextcloud should display the warning using the currently supported notification API. If server-side encryption is disabled, it should not report that password changes are disabled because the master key is disabled.
Nextcloud Server version
35
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.3
Web server
Apache (supported)
Database engine version
MySQL
Is this bug present after an update or on a fresh install?
Upgraded to a MAJOR version (ex. 31 to 32)
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
Configuration report
{
"system": {
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"cloud.digitalbuilders.eu"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"overwrite.cli.url": "https:\/\/cloud.digitalbuilders.eu",
"dbtype": "mysql",
"version": "35.0.0.10",
"installed": true,
"default_phone_region": "DE",
"encryption.legacy_format_support": false,
"maintenance": false,
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"mysql.utf8mb4": true,
"mail_smtpmode": "smtp",
"mail_smtpauthtype": "LOGIN",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtpauth": true,
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"theme": "",
"loglevel": 2,
"mail_sendmailmode": "smtp",
"mail_smtpport": "465",
"encryption.key_storage_migrated": false,
"maintenance_window_start": 1,
"filelocking.enabled": true,
"memcache.local": "\\OC\\Memcache\\APCu",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"port": 6379,
"timeout": 0
},
"forbidden_filename_basenames": [
"con",
"prn",
"aux",
"nul",
"com0",
"com1",
"com2",
"com3",
"com4",
"com5",
"com6",
"com7",
"com8",
"com9",
"com\u00b9",
"com\u00b2",
"com\u00b3",
"lpt0",
"lpt1",
"lpt2",
"lpt3",
"lpt4",
"lpt5",
"lpt6",
"lpt7",
"lpt8",
"lpt9",
"lpt\u00b9",
"lpt\u00b2",
"lpt\u00b3"
],
"forbidden_filename_characters": [
"<",
">",
":",
"\"",
"|",
"?",
"*",
"\\",
"\/"
],
"forbidden_filename_extensions": [
" ",
".",
".filepart",
".part"
],
"serverid": 1,
"mail_smtpstreamoptions": {
"ssl": {
"allow_self_signed": false,
"verify_peer": true,
"verify_peer_name": true
}
},
"app_install_overwrite": []
}
}
List of activated Apps
Enabled:
- activity: 8.0.0
- admin_audit: 2.0.0-dev.0
- announcementcenter: 7.5.0
- appstore: 2.0.0-dev.0
- calendar: 6.6.1
- circles: 35.0.0
- cloud_federation_api: 2.0.0-dev.0
- collectives: 4.6.1
- comments: 2.0.0-dev.0
- contacts: 8.9.0
- cospend: 4.1.3
- dashboard: 8.0.0-dev.0
- dav: 2.0.0-dev.1
- deck: 1.19.0
- encryption: 3.0.0-dev.0
- event_update_notification: 2.10.0
- federatedfilesharing: 2.0.0-dev.1
- federation: 2.0.0-dev.0
- files: 3.0.0-dev.0
- files_automatedtagging: 6.0.0
- files_downloadlimit: 5.3.0
- files_lock: 35.0.0
- files_pdfviewer: 8.0.0
- files_reminders: 2.0.0-dev.0
- files_retention: 6.0.0
- files_sharing: 2.0.0-dev.1
- files_trashbin: 2.0.0-dev.0
- files_versions: 2.0.0-dev.0
- fileslibreofficeedit: 2.0.1
- firstrunwizard: 8.0.0
- logreader: 8.0.0
- lookup_server_connector: 2.0.0-dev.0
- mail: 5.12.0
- nextcloud_announcements: 7.0.0
- notes: 6.1.0
- notifications: 8.0.0
- notify_push: 1.4.1
- oauth2: 2.0.0-dev.0
- office: 1.1.0
- password_policy: 7.0.0
- photos: 8.0.0
- privacy: 7.0.0
- profile: 2.0.0-dev.0
- provisioning_api: 2.0.0-dev.0
- registration: 3.1.0
- richdocuments: 12.0.0
- richdocumentscode: 26.4.303
- settings: 2.0.0-dev.0
- sharebymail: 2.0.0-dev.0
- sharing: 1.0.4
- spreed: 25.0.0
- support: 7.0.0
- survey_client: 7.0.0
- suspicious_login: 13.0.0
- tasks: 0.18.1
- text: 9.0.0
- theming: 3.0.0-dev.0
- timemanager: 0.3.26
- twofactor_backupcodes: 2.0.0-dev.0
- twofactor_totp: 17.1.0
- updatenotification: 2.0.0-dev.0
- user_saml: 8.3.1
- viewer: 8.0.0
- webhook_listeners: 2.0.0-dev.0
- welcome: 3.0.0
- workflow_pdf_converter: 6.0.0
- workflowengine: 3.0.0-dev.0
Disabled:
- app_api: 35.0.0 (installed 34.0.0)
- appointments: 2.7.4 (installed 2.7.4)
- audioplayer: 3.9.0 (installed 3.9.0)
- bookmarks: 16.2.6 (installed 16.2.6)
- bruteforcesettings: 8.0.0 (installed 2.4.0)
- contactsinteraction: 2.0.0-dev.0 (installed 1.5.0)
- cpanelmailsync: 0.1.12 (installed 0.1.12)
- documentserver_community: 0.4.0 (installed 0.2.4)
- dropit: 0.4.0 (installed 0.4.0)
- duplicatefinder: 1.8.1 (installed 1.8.1)
- electronicsignatures: 3.0.12 (installed 3.0.12)
- external: 9.0.1 (installed 9.0.1)
- files_accesscontrol: 6.0.0 (installed 6.0.0)
- files_bpm: 1.8.3 (installed 1.8.3)
- files_ebookreader: 0.0.1 (installed 0.0.1)
- files_external: 2.0.0-dev.0
- files_texteditor: 2.15.1 (installed 2.15.1)
- flow_notifications: 5.0.0 (installed 5.0.0)
- folderplayer: 14.0.0 (installed 14.0.0)
- groupfolders: 22.0.6 (installed 20.1.6)
- impersonate: 5.0.0 (installed 5.0.0)
- integration_discourse: 3.3.0 (installed 3.3.0)
- integration_github: 3.2.7 (installed 3.2.7)
- integration_gitlab: 5.0.0 (installed 5.0.0)
- integration_mastodon: 5.2.0 (installed 5.2.0)
- integration_reddit: 2.3.0 (installed 2.3.0)
- integration_suitecrm: 3.2.3 (installed 3.2.3)
- integration_twitter: 1.0.7 (installed 1.0.7)
- ldap_contacts_backend: 1.14.0 (installed 1.14.0)
- ldap_write_support: 1.16.0 (installed 1.16.0)
- metadata: 0.24.0 (installed 0.23.0)
- music: 3.1.1 (installed 3.1.1)
- oidc_login: 3.3.4 (installed 3.3.4)
- ojsxc: 5.0.0 (installed 4.3.1)
- pax_fax: 1.2.3 (installed 1.2.3)
- phonetrack: 1.3.3 (installed 1.3.3)
- podcast: 0.3.1 (installed 0.3.1)
- polls: 9.1.4 (installed 9.1.4)
- quota_warning: 1.24.0 (installed 1.24.0)
- radio: 1.0.3 (installed 1.0.3)
- recognize: 13.1.0 (installed 13.1.0)
- recommendations: 8.0.0 (installed 1.6.0)
- related_resources: 6.0.0 (installed 1.2.0)
- rocketchat_nextcloud: 0.9.6 (installed 0.9.6)
- sendent: 4.4.0 (installed 4.4.0)
- serverinfo: 7.0.0 (installed 1.14.0)
- shifts: 1.9.11 (installed 1.9.11)
- signlive: 0.9.9 (installed 0.9.9)
- sip_trip_phone: 1.2.0 (installed 1.2.0)
- socialsharing_diaspora: 4.1.0 (installed 4.1.0)
- socialsharing_facebook: 4.1.0 (installed 4.1.0)
- socialsharing_twitter: 4.1.0 (installed 4.1.0)
- spgverein: 0.12.0 (installed 0.12.0)
- systemtags: 2.0.0-dev.0 (installed 1.17.0)
- talk_matterbridge: 1.34.1026000 (installed 1.34.1026000)
- telephoneprovider: 1.0.3 (installed 1.0.3)
- testing: 1.23.0
- timetracker: 0.0.87 (installed 0.0.87)
- twofactor_nextcloud_notification: 9.0.0
- user_ldap: 2.0.0-dev.0 (installed 1.14.1)
- user_oidc: 8.11.0 (installed 8.11.0)
- user_status: 2.0.0-dev.0 (installed 1.4.0)
- video_converter: 1.0.6 (installed 1.0.6)
- weather_status: 2.0.0-dev.0 (installed 1.8.0)
- whiteboard: 1.5.9 (installed 1.5.9)
- workflow_media_converter: 3.2.2 (installed 3.2.1)
Nextcloud Signing status
Technical information
=====================
The following list covers which files have failed the integrity check. Please read
the previous linked documentation to learn more about the errors and how to fix
them.
Results
=======
- core
- INVALID_HASH
- .user.ini
Raw output
==========
Array
(
[core] => Array
(
[INVALID_HASH] => Array
(
[.user.ini] => Array
(
[expected] => 5cf34c20dbe0ddb9940eaeee08c1d9ac3a5f6cde8deac9dfb6ba5a1a2e40fda496f15f46e9d23250257bc6baa9a34f65113788afd335655beb4edb593ccd39d0
[current] => 43ebf893e1b6b765be22a82b86740404bac7bb08451e20b2b5c961561fc1d0d98a8dc605116b13bef352a0ae9438a8c3af84dfaeadea03a25d7dfa38543c89e2
)
)
)
)
Before applying the temporary workaround, the users management JavaScript file was unmodified.
The temporary workaround now intentionally modifies:
dist/settings-vue-settings-users-management.js
Therefore, an integrity warning for this file after applying the workaround is expected.
An unrelated pre-existing integrity warning for .user.ini was also present.
Nextcloud Logs
No corresponding server-side exception was found when reproducing the problem. The failure occurs in the browser frontend before the users list can be rendered.
Additional info
Client environment:
Windows 10
Firefox 156
The relevant section of the compiled JavaScript bundle contained exactly one occurrence of:
window.OC.Notification.showTemporary(
The following local change restored the users management page:
window.OC.Notification?.showTemporary?.(
This confirms that the unguarded access to window.OC.Notification causes the page to crash. The optional-chaining modification is only a local workaround and suppresses the notification if the legacy global API is unavailable.
A proper upstream fix may need to use the current Nextcloud notification API instead of the legacy window.OC.Notification global. The logic that sets canChangePassword should possibly also take into account that server-side encryption is disabled.
The second console error concerning Fragment appears after the notification exception and may be a consequential error.
Bug description
TITLE
[Bug]: Users management page crashes because window.OC.Notification is undefined
BUG DESCRIPTION
After upgrading from Nextcloud 34.0.3.2 to Nextcloud 35.0.0.10, the users management page no longer displays any user accounts. The page itself loads, including the sidebar, but the actual user list remains empty.
The accounts are still present and can be listed successfully using
php occ user:list. There is no indication of lost or damaged user accounts.The Firefox console shows that the users management frontend crashes in
UserList.vuebecausewindow.OC.Notificationis undefined:The relevant code in the compiled users management JavaScript bundle calls:
The call is executed while trying to display this notification:
However, server-side encryption is disabled on this instance:
{ "enabled": false, "defaultModule": "OC_DEFAULT_MODULE" }The application setting
useMasterKeyreturns:Therefore, the master-key notification also appears to be misleading in this configuration.
Disabling the Password Policy and Suspicious Login apps did not change the behavior.
A temporary local workaround that guards the notification call restores the complete users list immediately:
This workaround was applied only after reproducing and documenting the original error. It is not intended as the proper upstream fix.
Steps to reproduce
STEPS TO REPRODUCE
enabled: falseandencryption useMasterKeyis0.window.OC.Notification.showTemporary()inUserList.vue.Expected behavior
The users management page should display all existing user accounts.
A missing or unavailable notification API must not cause the complete users management component to crash.
If password changes are actually restricted, Nextcloud should display the warning using the currently supported notification API. If server-side encryption is disabled, it should not report that password changes are disabled because the master key is disabled.
Nextcloud Server version
35
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.3
Web server
Apache (supported)
Database engine version
MySQL
Is this bug present after an update or on a fresh install?
Upgraded to a MAJOR version (ex. 31 to 32)
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
Configuration report
{ "system": { "instanceid": "***REMOVED SENSITIVE VALUE***", "passwordsalt": "***REMOVED SENSITIVE VALUE***", "secret": "***REMOVED SENSITIVE VALUE***", "trusted_domains": [ "cloud.digitalbuilders.eu" ], "datadirectory": "***REMOVED SENSITIVE VALUE***", "overwrite.cli.url": "https:\/\/cloud.digitalbuilders.eu", "dbtype": "mysql", "version": "35.0.0.10", "installed": true, "default_phone_region": "DE", "encryption.legacy_format_support": false, "maintenance": false, "dbname": "***REMOVED SENSITIVE VALUE***", "dbhost": "***REMOVED SENSITIVE VALUE***", "dbuser": "***REMOVED SENSITIVE VALUE***", "dbpassword": "***REMOVED SENSITIVE VALUE***", "mysql.utf8mb4": true, "mail_smtpmode": "smtp", "mail_smtpauthtype": "LOGIN", "mail_from_address": "***REMOVED SENSITIVE VALUE***", "mail_domain": "***REMOVED SENSITIVE VALUE***", "mail_smtpauth": true, "mail_smtphost": "***REMOVED SENSITIVE VALUE***", "mail_smtpname": "***REMOVED SENSITIVE VALUE***", "mail_smtppassword": "***REMOVED SENSITIVE VALUE***", "theme": "", "loglevel": 2, "mail_sendmailmode": "smtp", "mail_smtpport": "465", "encryption.key_storage_migrated": false, "maintenance_window_start": 1, "filelocking.enabled": true, "memcache.local": "\\OC\\Memcache\\APCu", "memcache.locking": "\\OC\\Memcache\\Redis", "redis": { "host": "***REMOVED SENSITIVE VALUE***", "port": 6379, "timeout": 0 }, "forbidden_filename_basenames": [ "con", "prn", "aux", "nul", "com0", "com1", "com2", "com3", "com4", "com5", "com6", "com7", "com8", "com9", "com\u00b9", "com\u00b2", "com\u00b3", "lpt0", "lpt1", "lpt2", "lpt3", "lpt4", "lpt5", "lpt6", "lpt7", "lpt8", "lpt9", "lpt\u00b9", "lpt\u00b2", "lpt\u00b3" ], "forbidden_filename_characters": [ "<", ">", ":", "\"", "|", "?", "*", "\\", "\/" ], "forbidden_filename_extensions": [ " ", ".", ".filepart", ".part" ], "serverid": 1, "mail_smtpstreamoptions": { "ssl": { "allow_self_signed": false, "verify_peer": true, "verify_peer_name": true } }, "app_install_overwrite": [] } }List of activated Apps
Nextcloud Signing status
Nextcloud Logs
No corresponding server-side exception was found when reproducing the problem. The failure occurs in the browser frontend before the users list can be rendered.Additional info
Client environment:
Windows 10
Firefox 156
The relevant section of the compiled JavaScript bundle contained exactly one occurrence of:
window.OC.Notification.showTemporary(
The following local change restored the users management page:
window.OC.Notification?.showTemporary?.(
This confirms that the unguarded access to window.OC.Notification causes the page to crash. The optional-chaining modification is only a local workaround and suppresses the notification if the legacy global API is unavailable.
A proper upstream fix may need to use the current Nextcloud notification API instead of the legacy window.OC.Notification global. The logic that sets canChangePassword should possibly also take into account that server-side encryption is disabled.
The second console error concerning Fragment appears after the notification exception and may be a consequential error.