nextcloud / nextcloud/server

Activites app prevents adding events (web and thunderbird)

Open
#50,895 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop 27-feedback bug feature: activity and notification feature: caldav
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

Steps to reproduce

Web:

  1. Open Calendar
  2. Add an appointment (data doesn't matter)

Thunderbird:

  1. Open Calendar
  2. Add an appointment (data is irrelevant)
  3. Though, Thunderbird might cache the appointment and actually show it.
Expected behavior

Appointment is saved and shown on all connected devices.

Actual behaviour

Web: The 'I am doing somthing' wheel is turning forever (after 20 minutes or so, i didn't care anymore...)

Thunderbird: That sneaky client actually cached the appointment, but it never reached the server - verified through looking at the Web version of the calendar.
The Thunderbird instance of a second user did not save and show the entered appointment

Android: Not tested.

The same behaviour I can also witness with different users.

Calendar app version

4.4.4

CalDAV-clients used

Thunderbird

Browser

Vivaldi 6.1.3035.302, Firefox (latest, windows)

Client operating system

Arch Linux, Windows

Server operating system

Arch Linux (Nextcloud AIO - Docker)

Web server

Apache

Database engine version

PostgreSQL

PHP engine version

None

Nextcloud version

27.0.2

Updated from an older installed version or fresh install

Updated from an older version

List of activated apps
Enabled:           
  - activity: 2.19.0   
  - admin_audit: 1.17.0
  - announcementcenter: 6.6.2
  - bookmarks: 13.1.1 
  - bruteforcesettings: 2.7.0
  - calendar: 4.4.4
  - circles: 27.0.1
  - cloud_federation_api: 1.10.0 
  - collectives: 2.7.0   
  - comments: 1.17.0  
  - contacts: 5.3.2
  - contactsinteraction: 1.8.0
  - dashboard: 7.7.0     
  - dav: 1.27.0
  - deck: 1.10.0      
  - drawio: 2.1.2                         
  - external: 5.2.0                        
  - federatedfilesharing: 1.17.0           
  - federation: 1.17.0                       
  - files: 1.22.0    
  - files_external: 1.19.0
  - files_fulltextsearch: 27.0.1
  - files_pdfviewer: 2.8.0
  - files_rightclick: 1.6.0
  - files_sharing: 1.19.0
  - files_trashbin: 1.17.0
  - files_versions: 1.20.0
  - fulltextsearch: 27.0.1
  - fulltextsearch_elasticsearch: 27.0.2
  - gpxpod: 5.0.12
  - logreader: 2.12.0
  - lookup_server_connector: 1.15.0
  - maps: 1.1.1
  - nextcloud-aio: 0.4.0
  - nextcloud_announcements: 1.16.0
  - notes: 4.8.1
  - notifications: 2.15.0
  - notify_push: 0.6.3
  - oauth2: 1.15.1
  - password_policy: 1.17.0
  - photos: 2.3.0
  - privacy: 1.11.0
  - provisioning_api: 1.17.0
  - qownnotesapi: 23.6.0
  - quota_warning: 1.17.0
  - recognize: 4.3.2
  - recommendations: 1.6.0
  - related_resources: 1.2.0
  - richdocuments: 8.1.1
  - richdocumentscode: 23.5.202
  - serverinfo: 1.17.0
  - settings: 1.9.0
  - sharebymail: 1.17.0
  - spreed: 17.0.3
  - support: 1.10.0
  - systemtags: 1.17.0
  - tasks: 0.15.0
  - text: 3.8.0
  - theming: 2.2.0
  - twofactor_backupcodes: 1.16.0
  - twofactor_totp: 9.0.0
  - user_status: 1.7.0
  - viewer: 2.1.0
  - weather_status: 1.7.0
  - workflowengine: 2.9.0
Disabled:
  - encryption: 2.15.0
  - firstrunwizard: 2.16.0 (installed 1.0)
  - groupfolders: 15.0.2 (installed 15.0.2)
  - survey_client: 1.15.0 (installed 1.6.0)
  - suspicious_login: 5.0.0 (installed 4.4.0)
  - user_ldap: 1.17.0
Nextcloud configuration
{                                                                                                                                                                                                                                      [46/705]
    "system": {                                                                                                                                                                                                                                
        "one-click-instance": true,                                                                                                                                                                                                            
        "one-click-instance.user-limit": 100,                                                                                                                                                                                                  
        "memcache.local": "\\OC\\Memcache\\APCu",                                                                                                                                                                                              
        "apps_paths": [                                                                                                                                                                                                                        
            {                                                                                                                                                                                                                                  
                "path": "\/var\/www\/html\/apps",                                                                                                                                                                                              
                "url": "\/apps",                                                                                                                                                                                                               
                "writable": false                                                                                                                                                                                                              
            },                                                                                                                                                                                                                                 
            {                                                                                                                                                                                                                                  
                "path": "\/var\/www\/html\/custom_apps",                                                                                                                                                                                       
                "url": "\/custom_apps",                                                                                                                                                                                                        
                "writable": true                                                                                                                                                                                                               
            }                                                                                                                                                                                                                                  
        ],                                                                                                                                                                                                                                     
        "check_data_directory_permissions": false,                                                                                                                                                                                             
        "memcache.distributed": "\\OC\\Memcache\\Redis",                                                                                                                                                                                       
        "memcache.locking": "\\OC\\Memcache\\Redis",                                                                                                                                                                                           
        "redis": {                                                                                                                                                                                                                             
            "host": "***REMOVED SENSITIVE VALUE***",                                                                                                                                                                                           
            "password": "***REMOVED SENSITIVE VALUE***",                                                                                                                                                                                       
            "port": 6379                                                                                                                                                                                                                       
        },                                                                                                                                                                                                                                     
        "overwritehost": "c.mmo.to",                                                                                                                                                                                                           
        "overwriteprotocol": "https",                                                                                                                                                                                                          
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",                                                                                                                                                                                       
        "secret": "***REMOVED SENSITIVE VALUE***",                                                                                                                                                                                             
        "trusted_domains": [                                                                                                                                                                                                                   
            "localhost",                                                                                                                                                                                                                       
            "c.mmo.to",                                                                                                                                                                                                                        
            "cloud.mmo.to",                                                                                                                                                                                                                    
            "c.mmo.to"                                                                                                                                                                                                                         
        ],                                                                                                                                                                                                                                     
        "datadirectory": "***REMOVED SENSITIVE VALUE***",                                                                                                                                                                                      
        "dbtype": "pgsql",                                                                                                                                                                                                                     
        "version": "27.0.2.1",                                                                                                                                                                                                                 
        "overwrite.cli.url": "https:\/\/c.mmo.to\/",                                                                                                                                                                                           
        "dbname": "***REMOVED SENSITIVE VALUE***",                                                                                                                                                                                             
        "dbhost": "***REMOVED SENSITIVE VALUE***",                                                                                                                                                                                             
        "dbport": "",                                                                                                                                                                                                                          
        "dbtableprefix": "oc_",                                                                                                                                                                                                                
        "dbuser": "***REMOVED SENSITIVE VALUE***",                                                                                                                                                                                             
        "dbpassword": "***REMOVED SENSITIVE VALUE***",                                                                                                                                                                                         
        "installed": true,                                                                                                                                                                                                                     
        "instanceid": "***REMOVED SENSITIVE VALUE***",                                                                                                                                                                                         
        "maintenance": false,
        "loglevel": "2",
        "log_type": "file",
        "logfile": "\/var\/www\/html\/data\/nextcloud.log", 
        "log_rotate_size": "10485760",
        "log.condition": {
            "apps": [
                "admin_audit"
            ]
        },
        "preview_max_x": "2048",
        "preview_max_y": "2048",
        "jpeg_quality": "60",
        "enabledPreviewProviders": {
            "1": "OC\\Preview\\Image",
            "2": "OC\\Preview\\MarkDown",
            "3": "OC\\Preview\\MP3",
            "4": "OC\\Preview\\TXT",
            "5": "OC\\Preview\\OpenDocument",
            "6": "OC\\Preview\\Movie",
            "7": "OC\\Preview\\Krita",
            "0": "OC\\Preview\\Imaginary"
        },
        "enable_previews": true,
        "upgrade.disable-web": true,
        "mail_smtpmode": "smtp",
        "trashbin_retention_obligation": "auto, 30",
        "versions_retention_obligation": "auto, 30",
        "activity_expire_days": "30",
        "simpleSignUpLink.shown": false,
        "share_folder": "\/Shared",
        "one-click-instance.link": "https:\/\/nextcloud.com\/all-in-one\/",
        "upgrade.cli-upgrade-link": "https:\/\/github.com\/nextcloud\/all-in-one\/discussions\/2726",
        "updatedirectory": "\/nc-updater",
        "htaccess.RewriteBase": "\/",
        "files_external_allow_create_new_local": false,
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "allow_local_remote_servers": true,
        "preview_imaginary_url": "http:\/\/nextcloud-aio-imaginary:9000",
        "default_phone_region": "DE",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "465",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "davstorage.request_timeout": 3600,
        "dbpersistent": true
    }
}
Web server error log

No response

Log file

No response

Browser log

No response

Additional info

I tried a bunch of things to see what is going on.

New Calendar

So I created a new calendar, added an appointment, voila, works. (What the hell?!)

Reimport current calendar into a new one

Okay, as adding an appointment to a new calendar works - I tried to reimport my current into a new one.

Now it gets funny...

Importing works fine, no actual errors. But the calendar items do not appear in the WebGUI - no matter what.

What actually happens is that the invitation emails are sent again of still running regular appointments - WTF?!

So sooomething got inserted actually...

Got now two calendars with the same content, the original (where I can see the items) and another one where I cannot. And as I cannot verify through GUI that I can add an item to the new-re-imported calendar I skipped trying that. I could of course access the database directly, but honestly I do not have time for that.

I can provide more information, dumping anything to a textfile where possible, on request.

Affected users

I assume the whole instance is affected by this problem.
Tested my own user and a second existing. (did actually NOT try to create a new user)

I hope this problem is known and a solution fast and easy. If not, I may of course help trying to nail this down. It is actually a showstopper for the whole calendar app, and actually almost the whole nextcloud, as I manage my life through my nextcloud instance. (That's why i labeled that as a blocker...)

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

No source file or test entry point is identified in the issue. Start by reproducing appointment creation in the web Calendar and Thunderbird clients, then compare server-side behavior with what each client displays. Done means an appointment is saved on the server and appears on all connected devices.

Written by the indexing model from the issue text.

Assessment

Tech stack
apache, docker, postgresql
Domain
api, backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.