nextcloud / calendar

📆 Calendar app for Nextcloud
https://apps.nextcloud.com/apps/calendar
GNU Affero General Public License v3.0
967 stars 236 forks source link

No calendar view in web app [Persian Locale] #1243

Closed danialbehzadi closed 4 years ago

danialbehzadi commented 5 years ago

Steps to reproduce

  1. Set Language and locale to Persian
  2. Open Calendar app

Expected behaviour

To see calendar view

Actual behaviour

No calendar view

Server configuration

Operating system: Debian GNU/Linux buster/sid

Web server: Apache

Database: Mariadb

PHP version: 7.3

Server version: (see your admin page) 15.0.7

Calendar version: (see the apps page) 1.6.4

Updated from an older installed version or fresh install: Updated

Signing status (ownCloud/Nextcloud 9.0 and above): No errors have been found.

List of activated apps:

  - accessibility: 1.1.0
  - activity: 2.8.2
  - bruteforcesettings: 1.3.0
  - calendar: 1.6.4
  - cloud_federation_api: 0.1.0
  - comments: 1.5.0
  - contacts: 3.1.1
  - dav: 1.8.1
  - federatedfilesharing: 1.5.0
  - federation: 1.5.0
  - files: 1.10.0
  - files_pdfviewer: 1.4.0
  - files_sharing: 1.7.0
  - files_texteditor: 2.7.0
  - files_trashbin: 1.5.0
  - files_versions: 1.8.0
  - files_videoplayer: 1.4.0
  - firstrunwizard: 2.4.0
  - gallery: 18.2.0
  - logreader: 2.0.0
  - lookup_server_connector: 1.3.0
  - news: 13.1.6
  - nextcloud_announcements: 1.4.0
  - notes: 2.6.0
  - notifications: 2.3.0
  - oauth2: 1.3.0
  - ocsms: 2.1.1
  - password_policy: 1.5.0
  - provisioning_api: 1.5.0
  - serverinfo: 1.5.0
  - sharebymail: 1.5.0
  - socialsharing_email: 1.0.5
  - support: 1.0.0
  - survey_client: 1.3.0
  - systemtags: 1.5.0
  - tasks: 0.9.8
  - theming: 1.6.0
  - twofactor_backupcodes: 1.4.1
  - unsplash: 1.1.3
  - updatenotification: 1.5.0
  - workflowengine: 1.5.0
Disabled:
  - admin_audit
  - encryption
  - files_external
  - user_ldap

Nextcloud configuration:

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "cloud.gnu.rocks"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "overwrite.cli.url": "https:\/\/cloud.gnu.rocks",
        "dbtype": "mysql",
        "version": "15.0.7.0",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "maintenance": false,
        "theme": "",
        "loglevel": 2,
        "memcache.local": "\\OC\\Memcache\\APCu",
        "mail_smtpmode": "smtp",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": 1,
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "mail_smtpsecure": "tls",
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mysql.utf8mb4": true,
        "updater.secret": "***REMOVED SENSITIVE VALUE***"
    }
}

Are you using external storage, if yes which one: local/smb/sftp/... No

Are you using encryption: yes/no No

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/... No

Client configuration

Browser: Firefox 66.0.3

Operating system: Ubuntu 19.04

CalDAV-clients: Webapp

Logs

Web server error log

[Tue Apr 23 00:00:04.095621 2019] [mpm_prefork:notice] [pid 24180] AH00163: Apache/2.4.38 (Debian) OpenSSL/1.1.1b configured -- resuming normal operations
[Tue Apr 23 00:00:04.095662 2019] [core:notice] [pid 24180] AH00094: Command line: '/usr/sbin/apache2'
[Tue Apr 23 01:26:17.421023 2019] [authz_core:error] [pid 3700] [client 5.208.174.219:35386] AH01630: client denied by server configuration: /var/www/nextcloud/data/.ocdata
[Tue Apr 23 01:26:22.355267 2019] [authz_core:error] [pid 3206] [client 5.208.174.219:35378] AH01630: client denied by server configuration: /var/www/nextcloud/data/.ocdata
[Tue Apr 23 02:41:36.446821 2019] [authz_core:error] [pid 5513] [client 5.208.174.219:38988] AH01630: client denied by server configuration: /var/www/nextcloud/data/.ocdata
[Tue Apr 23 02:42:06.163807 2019] [authz_core:error] [pid 5539] [client 5.208.174.219:39022] AH01630: client denied by server configuration: /var/www/nextcloud/data/.ocdata

Log file (data/nextcloud.log)

Nothing since update

Browser log

JQMIGRATE: Migrate is installed, version 1.4.0 core.js:7:542
Deprecation warning: use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info. core.js:20:2834
Content Security Policy: تنظیمات صفحه‌، بارگذاری از این eval ("script-src") را مسدود کرده اند. vendor.js:569:29
TypeError: "this.dayDates[this.getCellDayIndex(...)] is undefined"
    getCellDate vendor.js:28302
    renderBgCellsHtml vendor.js:28536
    renderBgTrHtml vendor.js:28536
    renderDayRowHtml vendor.js:28784
    renderGrid vendor.js:28784
    renderDates vendor.js:28784
    executeDateRender vendor.js:30800
    callChildren vendor.js:31022
    iterChildren vendor.js:31022
    callChildren vendor.js:31022
    executeDateRender vendor.js:30800
    executeDateRender vendor.js:26214
    executeDateRender vendor.js:29684
    requestDateRender vendor.js:26214
    runTask vendor.js:30681
    runRemaining vendor.js:30630
    tryStart vendor.js:30618
    resume vendor.js:30609
    stopBatchRender vendor.js:26214
    renderView vendor.js:31360
    initialRender vendor.js:31360
    render vendor.js:31360
    fullCalendar vendor.js:34010
    each core.js:2
    each core.js:2
    fullCalendar vendor.js:33796
    link app.js:2006
    Pe vendor.js:628
    se vendor.js:5610
    ue vendor.js:5610
    B vendor.js:5075
    P vendor.js:4304
    P vendor.js:4304
    B vendor.js:5072
    P vendor.js:4304
    G vendor.js:4304
    t vendor.js:916
    $eval vendor.js:10391
    $apply vendor.js:10414
    t vendor.js:914
    invoke vendor.js:2638
    t vendor.js:912
    ne vendor.js:916
    te vendor.js:799
    <anonymous> vendor.js:15959
    j core.js:2
    fireWith core.js:2
    ready core.js:2
    I core.js:2
 <div class="calendar ng-isolate-scope fc fc-unthemed fc-rtl" data-appversion="1.6.4" data-defaultcolor="#0082C9" data-initialview="month" data-emailaddress="dani.behzi@ubuntu.com" data-firstrun="no" data-skippopover="no" data-weeknumbers="no" data-ispublic="0" data-isembedded="0" data-publicsharingtoken="" data-shareecaneditshares="no" data-shareecaneditcalendarproperties="yes" data-cansharepubliclink="yes" data-timezone="automatic" fc="" id="fullcalendar"> vendor.js:7155:35
TypeError: "e.elm is undefined"
    <anonymous> app.js:857
    $digest vendor.js:10293
    $apply vendor.js:10422
    t vendor.js:914
    invoke vendor.js:2638
    t vendor.js:912
    ne vendor.js:916
    te vendor.js:799
    <anonymous> vendor.js:15959
    j core.js:2
    fireWith core.js:2
    ready core.js:2
    I core.js:2
vendor.js:7155:35
TypeError: "e.elm is undefined"
    <anonymous> app.js:863
    $digest vendor.js:10293
    $apply vendor.js:10422
    t vendor.js:914
    invoke vendor.js:2638
    t vendor.js:912
    ne vendor.js:916
    te vendor.js:799
    <anonymous> vendor.js:15959
    j core.js:2
    fireWith core.js:2
    ready core.js:2
    I core.js:2
vendor.js:7155:35
TypeError: "D.elm is undefined"
    O app.js:219
    <anonymous> app.js:251
    <anonymous> app.js:248
    watchCollection vendor.js:10218
    $digest vendor.js:10293
    $apply vendor.js:10422
    calendarsPromise app.js:298
vendor.js:7155:35
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/73202643-no-calendar-view-in-web-app-persian-locale?utm_campaign=plugin&utm_content=tracker%2F45525646&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F45525646&utm_medium=issues&utm_source=github).
tcitworld commented 5 years ago

Odd, FullCalendar seems to have Persian locale (fa) support.

Could you open the calendar app, tab F12 or Ctrl + Maj + k to open the web browser console, enter moment.locale(); and see what's the result ?

danialbehzadi commented 5 years ago
moment.locale();
"fa"
tquest1 commented 5 years ago

I have the same problem for Arabic locales on NC 15.0.x & NC 16 - multiple installations, same on Firefox 66.x, 67 & Chrome 74.x. on various Linux distros. incl. Ubuntu/Debian/Fedora It's actual a deal breaker for 2 clients! Edit: On further troubleshooting, if I change the language to Arabic but keep the locale to a English locale - the calendar is viewable but with English weekdays/numbers/start of week

nimaam commented 5 years ago

I checked with Nextcloud 16 and have same problem in Persian and Arabic, I checked in browser console the moment.locale() and it is fa for persian but no calendar view, so please check this bug it is from 23 apr till now but no action is done,

iqrait commented 5 years ago

Are there any updates regarding Arabic region calendar display?

I have narrowed the problem down a bit if it helps. The calendar only doesn't display if the first day of the week for the region is Saturday. ( سبت) If the RTL region has a different weekday start that will appear on the first column from the right such as Algeria ( the first day is Sunday there) - the calendar displays. Even if the first day of the week is Saturday but the calendar displays the weekend first (Thursday/Friday) in the right hand column such as Morrocco - it displays.

Most Arabic countries have Saturday as the first day of the week & that would appear in the right hand column usually and in this case the calendar does not display.

As the Calendar is a core app - this remains a big blocker for Arabic country use of Nextcloud. I have many clients that have put Nextcloud projects on hold because of this.

Please let me know if I can be of any help.

georgehrke commented 5 years ago

I have narrowed the problem down a bit if it helps. The calendar only doesn't display if the first day of the week for the region is Saturday. ( سبت) If the RTL region has a different weekday start that will appear on the first column from the right such as Algeria ( the first day is Sunday there) - the calendar displays. Even if the first day of the week is Saturday but the calendar displays the weekend first (Thursday/Friday) in the right hand column such as Morrocco - it displays.

This should already properly handled if you select the correct locale in your personal settings. Otherwise create a new ticket for that please.

As the Calendar is a core app - this remains a big blocker for Arabic country use of Nextcloud. I have many clients that have put Nextcloud projects on hold because of this.

Please let me know if I can be of any help.

Pull-requests are always very welcome!

iqrait commented 5 years ago
I have narrowed the problem down a bit if it helps. The calendar only doesn't display if the first day of the week for the region is Saturday. ( سبت) If the RTL region has a different weekday start that will appear on the first column from the right such as Algeria ( the first day is Sunday there) - the calendar displays. Even if the first day of the week is Saturday but the calendar displays the weekend first (Thursday/Friday) in the right hand column such as Morrocco - it displays.

This should already properly handled if you select the correct locale in your personal settings. Otherwise create a new ticket for that please.

It is the same problem Georgehrke. What I am saying is; the cause of the non-display of the calendar is choosing any locale that is coded to display the first column of days in the week from the right in RTL to be Saturday or سبت in Arabic. The issue is not that it is not displaying because of RTL. Other RTL locales that do not start with Saturday such as Arabic (Morroco) or Hebrew display the calendar.

It is the same problem as the original post as far as I can see.

Pull-requests are always very welcome!

Unfortunately I'm not a coder but I'm more than happy to apply any patches provided to test!

georgehrke commented 5 years ago

I'm not exactly sure whether this is a bug in Nextcloud itself or upstream in full calendar. There is a ticket that seems related: https://github.com/fullcalendar/fullcalendar/issues/1813

Someone said in the comments that fullcalendar 4 seems to support it: https://github.com/fullcalendar/fullcalendar/issues/4397#issuecomment-443495352

We are currently updating to full calendar 4 in #926

georgehrke commented 4 years ago

This was indeed fixed by updating to FullCalendar 4, works as expected in Calendar 2.0: 37645252-D0BB-4243-BB17-7710CE92982C

Closing.

dev-am1 commented 3 years ago

I fixed it in Version 2.0.3

https://github.com/dev-am1/calendar2.0.3_Builded_READY_TO_USE_Shamsi

zadmoe commented 3 years ago

I fixed it in Version 2.0.3

https://github.com/dev-am1/calendar2.0.3_Builded_READY_TO_USE_Shamsi

Would you kindly instruct how to get this thing added to my nextcloud, i'm pretty new.

dev-am1 commented 3 years ago

I fixed it in Version 2.0.3

https://github.com/dev-am1/calendar2.0.3_Builded_READY_TO_USE_Shamsi

Would you kindly instruct how to get this thing added to my nextcloud, i'm pretty new.

you can read the instructions in my github and for further aid you can contact me through my email address.