calendar icon indicating copy to clipboard operation
calendar copied to clipboard

Clicking "today" in monthly view should scroll to the current day

Open ruedigerkupper opened this issue 4 years ago • 12 comments

Steps to reproduce

  1. Wait until a later day in the month ;-)
  2. Switch to monthly view
  3. Klick "Today" button
  4. observe that you can't see today in the view

Expected behaviour

Clicking today in monthly view should not only display the current month, but scroll to the current day. Related issue: #2076

Actual behaviour

The view scrolls to day 1 of the current month. The actual day ("today") may not be visible. The user has to scroll down to find it.

Calendar app

Calendar app version: 2.1.3

CalDAV-clients used: happens with native Nextcloud calendars

Server configuration detail

Operating system: Linux 5.4.0-64-generic #72-Ubuntu SMP Fri Jan 15 10:27:54 UTC 2021 x86_64

Webserver: Apache (fpm-fcgi)

Database: mysql 5.7.32

PHP version: 7.4.14

Modules loaded: Core, date, libxml, openssl, pcre, zlib, bcmath, bz2, ctype, curl, dom, hash, fileinfo, filter, ftp, gd, gmp, SPL, iconv, intl, json, ldap, mbstring, pcntl, PDO, session, posix, Reflection, standard, SimpleXML, mysqlnd, exif, tokenizer, xml, xmlreader, xmlwriter, zip, pdo_mysql, cgi-fcgi, redis, Zend OPcache

Nextcloud version: 20.0.4 - 20.0.4.0

Updated from an older Nextcloud/ownCloud or fresh install:

Where did you install Nextcloud from: unknown

Signing status

Array ( )

List of activated apps
Enabled:
 - accessibility: 1.6.0
 - activity: 2.13.4
 - admin_audit: 1.10.0
 - audioplayer: 3.0.0
 - bbb: 1.1.4
 - bookmarks: 4.0.6
 - calendar: 2.1.3
 - cloud_federation_api: 1.3.0
 - comments: 1.10.0
 - contacts: 3.4.3
 - contactsinteraction: 1.1.0
 - cospend: 1.2.8
 - dashboard: 7.0.0
 - dav: 1.16.2
 - external: 3.7.1
 - federatedfilesharing: 1.10.2
 - federation: 1.10.1
 - files: 1.15.0
 - files_external: 1.11.1
 - files_external_gdrive: 0.4.0
 - files_pdfviewer: 2.0.1
 - files_rightclick: 0.17.0
 - files_sharing: 1.12.1
 - files_trashbin: 1.10.1
 - files_versions: 1.13.0
 - files_videoplayer: 1.9.0
 - firstrunwizard: 2.9.0
 - integration_dropbox: 0.0.17
 - integration_github: 0.0.17
 - integration_gitlab: 0.0.10
 - integration_google: 0.1.5
 - integration_moodle: 0.0.5
 - logreader: 2.5.0
 - lookup_server_connector: 1.8.0
 - maps: 0.1.8
 - metadata: 0.12.0
 - nextcloud_announcements: 1.9.0
 - notes: 4.0.2
 - notifications: 2.8.0
 - oauth2: 1.8.0
 - password_policy: 1.10.1
 - passwords: 2020.12.2
 - photos: 1.2.1
 - privacy: 1.4.0
 - provisioning_api: 1.10.0
 - recommendations: 0.8.0
 - serverinfo: 1.10.0
 - settings: 1.2.0
 - sharebymail: 1.10.0
 - spreed: 10.0.5
 - support: 1.3.0
 - survey_client: 1.8.0
 - systemtags: 1.10.0
 - talk_matterbridge: 1.21.0
 - text: 3.1.0
 - theming: 1.11.0
 - twofactor_backupcodes: 1.9.0
 - twofactor_totp: 5.0.0
 - user_status: 1.0.1
 - viewer: 1.4.0
 - weather_status: 1.0.0
 - workflowengine: 2.2.0
Disabled:
 - documentserver_community
 - encryption
 - onlyoffice
 - radio
 - richdocuments
 - richdocumentscode
 - user_ldap
 - workflow_script

Configuration (config/config.php)
{
    "apps_paths": [
        {
            "path": "\/snap\/nextcloud\/current\/htdocs\/apps",
            "url": "\/apps",
            "writable": false
        },
        {
            "path": "\/var\/snap\/nextcloud\/current\/nextcloud\/extra-apps",
            "url": "\/extra-apps",
            "writable": true
        }
    ],
    "supportedDatabases": [
        "mysql"
    ],
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "memcache.local": "\\OC\\Memcache\\Redis",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "port": 0
    },
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "rcloud",
        "helge",
        "helge.local",
        "192.168.1.5",
        "localhost",
        "127.0.0.1",
        "rcloud.dynv6.net",
        "rkupper.dynv6.net",
        "nextcloud.rkupper.dynv6.net",
        "helge.rkupper.dynv6.net"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "overwrite.cli.url": "https:\/\/rcloud.dynv6.net",
    "dbtype": "mysql",
    "version": "20.0.4.0",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "logtimezone": "UTC",
    "installed": true,
    "mail_smtpmode": "smtp",
    "mail_smtpsecure": "ssl",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpauthtype": "LOGIN",
    "mail_smtpauth": 1,
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
    "loglevel": 0,
    "maintenance": false,
    "singleuser": false,
    "log_rotate_size": 1073741824,
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpport": "465",
    "mail_sendmailmode": "smtp",
    "theme": "",
    "app_install_overwrite": [
        "files_external_gdrive",
        "radio"
    ],
    "mysql.utf8mb4": true,
    "ldapIgnoreNamingRules": false,
    "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
    "data-fingerprint": "8d4bf1ee4c4ab05af27ce70fabed3675",
    "default_language": "de",
    "default_locale": "de_DE"
}

External storages: yes

External storage configuration
+----------+------------------+--------------+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+------------------+-------------------+----------+
| Mount ID | Mount Point      | Storage      | Authentication Type       | Configuration                                                                                                                                 | Options                               | Applicable Users | Applicable Groups | Type     |
+----------+------------------+--------------+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+------------------+-------------------+----------+
| 1        | /Data            | Lokal        | Keine                     | datadir: "\/media\/Data\/Data"                                                                                                                | enable_sharing: true, readonly: false | ruediger         |                   | Admin    |
| 4        | /GoogleDrive     | Google Drive | OAuth2                    | configured: "true", client_id: "960189903180-6i40ggjd63a95ibkior6pdvla7rvhmsk.apps.googleusercontent.com", client_secret: "***", token: "***" | readonly: false                       | ruediger         |                   | Personal |
| 5        | /Opendesktop.org | Nextcloud    | Benutzername und Passwort | host: "my.opendesktop.org", root: "", secure: true, user: "ruediger", password: "***"                                                         | readonly: false                       | ruediger         |                   | Personal |
+----------+------------------+--------------+---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+---------------------------------------+------------------+-------------------+----------+

Encryption: no

User-backends:

  • OC\User\Database

Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36

Client configuration

Browser: Chromium version 88.0.4324.96 (Offizieller Build) snap (64-Bit)

Operating system: Ubuntu Linux

ruedigerkupper avatar Jan 25 '21 09:01 ruedigerkupper

Just to clarify, you're talking about leaving the calendar month view open, waiting until another day, hitting the Today button, and then realizing that the button doesn't do anything? If not, I'll create another issue for that.

colans avatar Feb 22 '22 14:02 colans

No, this bug is not about leaving a view open. (As you say, this might produce further problems, but that's not our issue.)

Take today's date (2022-02-22):

  • Open calendar and choose monthly view. -> Display focusses to 2022-02-01, the first day of this month.
  • depending on the size of your display, today may not even be visible, since it is too far down from Feburary 1.
  • The monthly view should always be focussed so that today is visible for all users regardless of screen size and with no scrolling.

ruedigerkupper avatar Feb 22 '22 14:02 ruedigerkupper

Thanks; filed #3985.

colans avatar Feb 22 '22 14:02 colans

Well done. We would appreciate help on this issue here, if possible ;-).

ruedigerkupper avatar Feb 22 '22 15:02 ruedigerkupper

I can confirm that this bug is still not fixed in Nextcloud 23.0.4, Calendar 3.3.0

alexanderdd avatar May 17 '22 16:05 alexanderdd

@ChristophWurst usually people link the commit that fixes a bug.. is there a reason you did not do that here?

alexanderdd avatar Jun 10 '22 21:06 alexanderdd

This is not fixed in calendar 3.3.2, please set this issue to "open".

alexanderdd avatar Jun 15 '22 11:06 alexanderdd

@ChristophWurst usually people link the commit that fixes a bug.. is there a reason you did not do that here?

An honest mistake but thanks for the passive aggressive comment :+1:

https://github.com/nextcloud/calendar/pull/4202 was the fix. https://github.com/nextcloud/calendar/pull/4206 the backport.

ChristophWurst avatar Jun 15 '22 11:06 ChristophWurst

https://github.com/nextcloud/calendar/commits/stable3.3 the commit of the backport is there. So no idea why this is broken (again).

ChristophWurst avatar Jun 15 '22 11:06 ChristophWurst

@ChristophWurst

An honest mistake but thanks for the passive aggressive comment

Sorry it was not meant to be passive-aggressive. It was a real and honest question. I guess it's better to write "please link commit" next time?

Feel free to collapse this post, as it is off-topic.

alexanderdd avatar Jun 17 '22 09:06 alexanderdd

Two additional UX gotchas to take care of as part of this issue:

  • The "Today" button should scroll to align today's week to the top, and not just if today is "outside the current view", but also if it's inside the current view. Basically, "Today" should be an "align current week to top" button, functionally speaking.
  • When initially loading the month view (or switching to it from another tab), it should auto-scroll to today's week in the same way

The reasoning being, in 90% of cases (i.e. unless you're doing archeology) it makes no sense at all to display the past, only the present and future. A bit like the corresponding issue in list view (#2632).

nekohayo avatar Aug 14 '22 15:08 nekohayo

@ChristophWurst can you remove the label "to triage" and add "to develop"?

alexanderdd avatar Feb 03 '24 08:02 alexanderdd