⚠️ Before submitting, please verify the following: ⚠️
Bug description
Which client version and operating system are you using?
Nextcloud Desktop Client 33.0.7, VFS mode.
Which server version and operating system?
Reproduced against two independent Nextcloud servers, ruling out a server-side cause:
Server A: Nextcloud 32.0.5.0
Server B: Nextcloud 33.0.5.1
Both have notify_push (Client Push) enabled and working — confirmed by the client successfully connecting to the websocket, authenticating, and receiving push notifications with correct file IDs (see logs below).
Bug description
Since the notify_file_id push notification model was introduced (replacing the older, more expensive notify_file model that triggers a full sync from the root on any change), the desktop client discards every notify_file_id push notification whose file IDs do not include the ID of the account's root folder.
In FolderMan::slotProcessFileIdsPushNotification (src/gui/folderman.cpp), the client receives the correct file IDs from the server, but then rejects them with:
no matching file ids, ignoring folder="" account=""
As a result, any change made to a file or folder that is not the account root — i.e. essentially every real-world change — is silently ignored by the push mechanism. The client falls back to the periodic Etag poll (remotePollInterval, 30–60s depending on server config) to eventually pick up the change, or to a manual/triggered sync.
This defeats the purpose of notify_file_id (near-instant, targeted sync) and reintroduces the exact polling delay it was meant to eliminate — but in a way that's easy to miss, because the periodic poll usually masks the problem. The consequence becomes very visible when a local edit happens to overlap with an un-propagated remote change: the client has no idea the remote file changed, syncs its own local edit, and only then discovers the mismatch — producing an unnecessary sync conflict and a (conflicted copy ...) file, even though the push notification with the correct file ID had already arrived (and been discarded) well before the local edit was made.
Steps to reproduce
- Set up a Nextcloud account with notify_push (Client Push) enabled on the server.
- Sync a folder structure with at least one subfolder below the account root (e.g. Root/Subfolder/file.txt).
- Run the desktop client with --logdebug --logfile --logflush.
- Leave the client fully idle (do not touch anything locally).
- From a different client, or from the web UI, modify Root/Subfolder/file.txt.
- Observe the debug log.
Expected behavior
The client receives the notify_file_id push notification containing the file ID(s) of the changed file/folder, recognizes that a synced folder is affected (independently of whether the account root's own ID is included), and schedules a sync — ideally a partial/targeted one — promptly.
Which files are affected by this bug
Nueva carpeta/test.txt
Operating system
Windows
Which version of the operating system you are running.
Windows 11
Installation method
Official Windows MSI
Nextcloud Server version
33.0.5.1 && 32.0.5.0
Nextcloud Desktop Client version
33.0.7
Did this occur after an update or on a clean installation?
Major version update (i.e. 4.0.0 → 33.0.0)
Are you using the Nextcloud Server Encryption module?
No
Are you using an external user-backend?
Nextcloud Server logs
Actual behavior:
The notification is received correctly but discarded outright because it doesn't include the root folder's ID:
Received push notification: "notify_file_id [<fileId>]"
[handleNotifyFileId] File-ID push notification arrived
[slotProcessFileIdsPushNotification] received notify_file_id push notification account="<account>" fileIds=QList(<fileId>)
[slotProcessFileIdsPushNotification] no matching file ids, ignoring folder="<N>" account="<account>"
No sync is scheduled as a result of this notification. The change is only picked up later via the Etag poll timer or a manual sync.
Server A (Nextcloud 32.0.5.0), account root folder="1"
2026-07-13 12:34:47:223 [info] Received push notification: "notify_file_id [603493314,615938570]"
2026-07-13 12:34:47:223 [debug] [handleNotifyFileId] File-ID push notification arrived
2026-07-13 12:34:47:223 [info] Received push notification for file id changes, file count: 2
2026-07-13 12:34:47:223 [debug] [slotProcessFileIdsPushNotification] received notify_file_id push notification account="<account>@<serverA>" fileIds=QList(603493314, 615938570)
2026-07-13 12:34:47:223 [debug] [slotProcessFileIdsPushNotification] no matching file ids, ignoring folder="1" account="<account>@<serverA>"
Server B (Nextcloud 33.0.5.1), account root folder="2" — same client instance, different account
2026-07-13 13:12:23:801 [debug] [slotProcessFileIdsPushNotification] received notify_file_id push notification account="<account>@<serverB>" fileIds=QList(8990247)
2026-07-13 13:12:23:801 [debug] [slotProcessFileIdsPushNotification] no matching file ids, ignoring folder="2" account="<account>@<serverB>"
Additional info
No response
Bug description
Which client version and operating system are you using?
Nextcloud Desktop Client 33.0.7, VFS mode.
Which server version and operating system?
Reproduced against two independent Nextcloud servers, ruling out a server-side cause:
Server A: Nextcloud 32.0.5.0
Server B: Nextcloud 33.0.5.1
Both have notify_push (Client Push) enabled and working — confirmed by the client successfully connecting to the websocket, authenticating, and receiving push notifications with correct file IDs (see logs below).
Bug description
Since the notify_file_id push notification model was introduced (replacing the older, more expensive notify_file model that triggers a full sync from the root on any change), the desktop client discards every notify_file_id push notification whose file IDs do not include the ID of the account's root folder.
In FolderMan::slotProcessFileIdsPushNotification (src/gui/folderman.cpp), the client receives the correct file IDs from the server, but then rejects them with:
no matching file ids, ignoring folder="" account=""
As a result, any change made to a file or folder that is not the account root — i.e. essentially every real-world change — is silently ignored by the push mechanism. The client falls back to the periodic Etag poll (remotePollInterval, 30–60s depending on server config) to eventually pick up the change, or to a manual/triggered sync.
This defeats the purpose of notify_file_id (near-instant, targeted sync) and reintroduces the exact polling delay it was meant to eliminate — but in a way that's easy to miss, because the periodic poll usually masks the problem. The consequence becomes very visible when a local edit happens to overlap with an un-propagated remote change: the client has no idea the remote file changed, syncs its own local edit, and only then discovers the mismatch — producing an unnecessary sync conflict and a (conflicted copy ...) file, even though the push notification with the correct file ID had already arrived (and been discarded) well before the local edit was made.
Steps to reproduce
Expected behavior
The client receives the notify_file_id push notification containing the file ID(s) of the changed file/folder, recognizes that a synced folder is affected (independently of whether the account root's own ID is included), and schedules a sync — ideally a partial/targeted one — promptly.
Which files are affected by this bug
Nueva carpeta/test.txt
Operating system
Windows
Which version of the operating system you are running.
Windows 11
Installation method
Official Windows MSI
Nextcloud Server version
33.0.5.1 && 32.0.5.0
Nextcloud Desktop Client version
33.0.7
Did this occur after an update or on a clean installation?
Major version update (i.e. 4.0.0 → 33.0.0)
Are you using the Nextcloud Server Encryption module?
No
Are you using an external user-backend?
Nextcloud Server logs
Additional info
No response