nextcloud / nextcloud/server

[Bug]: Removing personal availability makes the user unavailable at all times instead of restoring the default state

Open
#64,486 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage 34-feedback bug
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

⚠️ This issue respects the following points: ⚠️
  • This is not a troubleshooting question, general support matter, or webserver/proxy problem, but likely a bug (if unsure, ask the Community Help Forum).
  • This issue is not already reported on Github OR solved at the Community Help Forum (I've searched!).
  • I'm using a maintained major version of Nextcloud Server and tested against the latest patch level. (Supported major versions and current patch levels).
  • I agree to follow Nextcloud's Code of Conduct.
  • I've tried my best to provide clear reproduction steps that someone unfamiliar with this bug could use to reproduce it.
Bug description

When configuring availability under Personal settings → Availability, the configured working hours are correctly taken into account by the Calendar / Free-Busy functionality.

For example, if availability is configured for specific weekdays and times, the user's availability in the Calendar is restricted accordingly. This works as expected.

However, when all configured availability entries are removed again, the original/default behavior is not restored.

Instead, the user is then shown as not available at all, as if an empty availability configuration means that there is no available time.

There currently seems to be no way in the UI to reset the availability configuration to the original state that existed before any custom availability was configured.

An empty or removed availability configuration should mean "no custom availability restriction configured", not "user is never available".

Steps to reproduce
  1. Open Personal settings → Availability.
  2. Configure availability for one or more weekdays, for example Monday to Friday from 08:00 to 17:00.
  3. Save the configuration.
  4. Open the Calendar and check the user's availability / Free-Busy information, for example using Find a time when creating an event with this user as an attendee.
  5. Verify that the configured availability correctly restricts the available times.
  6. Return to Personal settings → Availability.
  7. Remove all configured availability entries / time slots and save the configuration.
  8. Check the user's availability again in the Calendar / Free-Busy view.
Expected behavior

Removing all custom availability entries should reset the setting to its original/default state.

When no custom availability is configured, the user should not be considered unavailable by default. Availability should behave the same way as it did before the user configured custom availability for the first time, with the normal calendar events determining Free/Busy information.

In other words:

No availability configuration should mean "no additional availability restriction".

Ideally, there should also be an explicit way to reset availability to the default state.

Nextcloud Server version

34

Operating system

Debian/Ubuntu

PHP engine version

PHP 8.5

Web server

Apache (supported)

Database engine version

MySQL

Is this bug present after an update or on a fresh install?

None

Are you using the Nextcloud Server Encryption module?

None

What user-backends are you using?
  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other
Configuration report

List of activated Apps

Nextcloud Signing status

Nextcloud Logs

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

Start in Personal settings → Availability and follow the saved empty configuration into Calendar's Free-Busy handling. Reproduce the configure/remove sequence, then compare the empty state with the pre-configuration behavior. Done means removing every entry restores normal event-based availability rather than marking the user unavailable.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.