nextcloud / nextcloud/server

Old, removed tasklist slugs are stuck in the database and can never be used again

Open
#61,940 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

Steps to reproduce
  1. Create a new tasklist with the name "Example". Its tasklist slug becomes example.
  2. Remove the tasklist "Example".
  3. Create a new tasklist, with the same name as in step 1.) "Example". The example-1 tasklist slug is assigned instead of example.
Expected behavior

When removing tasklists in Nextcloud Tasks (either via Nextcloud's web UI or tasks clients), their respective slugs should be cleaned up and removed from the database as well. When creating a new tasklist with the same name of an old, deleted tasklist, the slug creation should work as if the user created the tasklist for the first time.

Actual behavior

Removed tasklists' slugs are not cleaned up and removed from, but stuck in the database. This makes tasklist slugs being "forever taken", so that users can't create new tasklists with slugs that have ever been used (and removed) before. See the Steps to reproduce for details.

Calendar app version

5.5.1

CalDAV-clients used

DAVx5, KDE Contact

Browser

No response

Client operating system

No response

Server operating system

No response

Web server

None

Database engine version

None

PHP engine version

None

Nextcloud version

No response

Updated from an older installed version or fresh install

None

List of activated apps

Nextcloud configuration

Web server error log

Log file

Browser log

Additional info

No response

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

Reproduce the issue by creating, removing, and recreating a tasklist named “Example,” then trace the tasklist removal and slug persistence paths in the Nextcloud server. Check the database before and after removal, and verify that deleting a tasklist also removes its slug so the original slug can be assigned again.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.