nextcloud / nextcloud/calendar

Theming vs. Embedding in NC25+

Open
#4,677 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop blocked bug Feature: Public sharing
Dominant language
JavaScript
Stars
1.2k
Forks
332
Avg merge
16h 13m
Merged PRs (30d)
137

Description

Steps to reproduce
  1. Use e.g. NC25 default theming
  2. embed a calendar in another website
Expected behavior

Parameters should allow to match the theming of the TARGET website embedding the calendar, including to override light/dark.

Actual behaviour

Instead, full NC theming is applied, leading to a picture border and e.g. a dark mode rendered calendar within another website (which may not yet allow to switch light/dark).

Example: Website embedding this NC calendar

Calendar app version

4.1.0-rc.1

CalDAV-clients used

Browser

106.0.1

Client operating system

Arch Linux

Server operating system

Arch Linuix

Web server

Nginx

Database engine version

MariaDB

PHP engine version

PHP 8.1

Nextcloud version

25.0.0

Updated from an older installed version or fresh install

Updated from an older version

List of activated apps
Enabled:
  - activity: 2.17.0
  - bookmarks: 11.0.4
  - bruteforcesettings: 2.5.0
  - calendar: 4.1.0-rc.1
  - camerarawpreviews: 0.8.0
  - circles: 25.0.0
  - cloud_federation_api: 1.8.0
  - contacts: 5.0.1
  - dav: 1.24.0
  - deck: 1.8.0
  - federatedfilesharing: 1.15.0
  - federation: 1.15.0
  - files: 1.20.1
  - files_mindmap: 0.0.26
  - files_pdfviewer: 2.6.0
  - files_rightclick: 1.4.0
  - files_sharing: 1.17.0
  - files_trashbin: 1.15.0
  - files_versions: 1.18.0
  - groupfolders: 13.0.0
  - logreader: 2.10.0
  - lookup_server_connector: 1.13.0
  - mail: 2.0.3
  - notes: 4.6.0
  - notifications: 2.13.1
  - notify_push: 0.5.0
  - oauth2: 1.13.0
  - password_policy: 1.15.0
  - photos: 2.0.0
  - polls: 4.0.0
  - previewgenerator: 5.1.0
  - privacy: 1.9.0
  - provisioning_api: 1.15.0
  - related_resources: 1.0.2
  - richdocuments: 7.0.0
  - serverinfo: 1.15.0
  - settings: 1.7.0
  - sharebymail: 1.15.0
  - sharerenamer: 3.1.0
  - spreed: 15.0.0
  - suspicious_login: 4.3.0
  - systemtags: 1.15.0
  - text: 3.6.0
  - theming: 2.0.0
  - twofactor_backupcodes: 1.14.0
  - twofactor_email: 2.7.1
  - twofactor_gateway: 0.20.0
  - twofactor_nextcloud_notification: 3.5.0
  - twofactor_totp: 7.0.0
  - twofactor_webauthn: 1.0.0
  - updatenotification: 1.15.0
  - viewer: 1.9.0
  - workflowengine: 2.7.0
Disabled:
  - admin_audit
  - comments: 1.14.0
  - contactsinteraction: 1.1.0
  - dashboard: 7.0.0
  - encryption
  - files_external
  - firstrunwizard: 2.6.0
  - impersonate: 1.11.0
  - nextcloud_announcements: 1.6.0
  - ransomware_protection: 1.13.0
  - recommendations: 0.5.0
  - support: 1.0.1
  - survey_client: 1.5.0
  - tasks: 0.14.5
  - user_ldap
  - user_status: 1.0.0
  - weather_status: 1.0.0
Nextcloud configuration
{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "cloud.suevia-ka.de",
            "cloud.seyfarth.de",
            "test.seyfarth.de",
            "cloud.owncube.com"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "25.0.0.18",
        "overwrite.cli.url": "https:\/\/cloud.suevia-ka.de",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "memcache.distributed": "\\OC\\Memcache\\Redis",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 0,
            "dbindex": 4,
            "timeout": 1.5
        },
        "logtimezone": "Europe\/Berlin",
        "trashbin_retention_obligation": "auto,30",
        "versions_retention_obligation": "auto,366",
        "skeletondirectory": "",
        "default_language": "de",
        "default_locale": "de_DE",
        "default_phone_region": "DE",
        "updater.release.channel": "stable",
        "theme": "",
        "loglevel": 2,
        "mail_smtpmode": "smtp",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_sendmailmode": "smtp",
        "mail_smtpport": "25",
        "mail_smtpsecure": "tls",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "simpleSignUpLink.shown": false,
        "twofactor_enforced": "true",
        "twofactor_enforced_groups": [
            "Gruppenadmin",
            "admin"
        ],
        "twofactor_enforced_excluded_groups": [],
        "trusted_proxies": "***REMOVED SENSITIVE VALUE***",
        "app_install_overwrite": [
            "files_frommail",
            "camerarawpreviews"
        ],
        "blacklisted_files": [],
        "maintenance": false
    }
}
Web server error log
n/a
Log file
n/a
Browser log
n/a
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 by reproducing the linked embedded calendar and compare its rendering with the target website's light and dark themes. Inspect the calendar embed and theming behavior; done means embed parameters can match the target site's theme, including overriding light or dark mode, without applying the full Nextcloud theme.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
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.