nextcloud / nextcloud/files_lock

Locally deleted open files not unlocked and removed on server

Open
#470 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage bug
Dominant language
JavaScript
Stars
39
Forks
10
Avg merge
1d 11h
Merged PRs (30d)
48

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce
  1. Open a file
  2. Watch check table oc_files_lock -> lock entry appears
  3. Delete the file (keep e.g. Libre Office open)
  4. Close Libre Office
Expected behaviour

File is unlocked and removed from server.

Actual behaviour

File is deleted on local machine but not deleted on server and locked (visible in Browser and entry is still in DB). Thus it is impossible to remove the file without removing the lock manually from the DB.

Server configuration

Web server: Nginx

Database: Maria

PHP version: 8.3

Nextcloud version: 30.0.4

List of activated apps
Enabled:
  - activity: 3.0.0
  - admin_audit: 1.20.0
  - app_api: 4.0.3
  - bruteforcesettings: 3.0.0
  - calendar: 5.0.8
  - circles: 30.0.0
  - cloud_federation_api: 1.13.0
  - comments: 1.20.1
  - contacts: 6.1.1
  - dashboard: 7.10.0
  - dav: 1.31.1
  - deck: 1.14.2
  - drawio: 3.0.3
  - federatedfilesharing: 1.20.0
  - files: 2.2.0
  - files_downloadlimit: 3.0.0
  - files_external: 1.22.0
  - files_fulltextsearch: 30.0.0
  - files_lock: 30.0.0
  - files_pdfviewer: 3.0.0
  - files_reminders: 1.3.0
  - files_sharing: 1.22.0
  - files_trashbin: 1.20.1
  - files_versions: 1.23.0
  - firstrunwizard: 3.0.0
  - fulltextsearch: 30.0.0
  - groupfolders: 18.0.8
  - integration_gitlab: 3.1.2
  - integration_openproject: 2.7.2
  - logreader: 3.0.0
  - lookup_server_connector: 1.18.0
  - mail: 4.1.0
  - nextcloud_announcements: 2.0.0
  - notifications: 3.0.0
  - notify_push: 0.7.0
  - oauth2: 1.18.1
  - password_policy: 2.0.0
  - photos: 3.0.2
  - polls: 7.2.5
  - previewgenerator: 5.7.0
  - privacy: 2.0.0
  - provisioning_api: 1.20.0
  - quota_warning: 1.20.0
  - recommendations: 3.0.0
  - related_resources: 1.5.0
  - richdocuments: 8.5.3
  - serverinfo: 2.0.0
  - settings: 1.13.0
  - sharebymail: 1.20.0
  - smb_test: 0.3.10
  - support: 2.0.0
  - systemtags: 1.20.0
  - tasks: 0.16.1
  - text: 4.1.0
  - theming: 2.5.0
  - twofactor_backupcodes: 1.19.0
  - updatenotification: 1.20.0
  - user_ldap: 1.21.0
  - user_status: 1.10.0
  - viewer: 3.0.0
  - weather_status: 1.10.0
  - webhook_listeners: 1.1.0-dev
  - whiteboard: 1.0.4
  - workflowengine: 2.12.0
Disabled:
  - contactsinteraction: 1.11.0 (installed 1.2.0)
  - encryption: 2.18.0
  - federation: 1.20.0 (installed 1.15.0)
  - fulltextsearch_elasticsearch: 30.0.0 (installed 30.0.0)
  - survey_client: 2.0.0 (installed 1.4.0)
  - suspicious_login: 8.0.0
  - twofactor_nextcloud_notification: 4.0.0
  - twofactor_totp: 12.0.0-dev
Nextcloud configuration
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "nc.asdf.de"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "30.0.4.1",
        "overwrite.cli.url": "https:\/\/nc.asdf.de",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "mysql.utf8mb4": true,
        "maintenance": false,
        "session_lifetime": 604800,
        "session_keepalive": true,
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "25",
        "default_language": "de_DE",
        "default_locale": "de",
        "default_phone_region": "DE",
        "skeletondirectory": "",
        "loglevel": 2,
        "updater.release.channel": "stable",
        "app_install_overwrite": [
            "drawio"
        ],
        "mail_smtpsecure": "tls",
        "ldapIgnoreNamingRules": false,
        "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
        "lost_password_link": "disabled",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0
        },
        "activity_use_cached_mountpoints": false,
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "maintenance_window_start": 1,
        "defaultapp": ""
    }
}
Browser

Browser name:

Browser version:

Operating system: Manjaro (with GNOME)

Browser log
Insert your browser log here, this could for example include:
a) The javascript console log
b) The network log
c) ...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the files_lock app and the oc_files_lock table, then reproduce the four-step sequence while LibreOffice remains open. Trace the local deletion and close flow; done means the server removes the file and its lock entry when the locally deleted file is closed, without manual database cleanup.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, mysql, php
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.