moment-jalaali.js を使用したダッシュボードレポートの読み込みエラー

How to properly display jalali dates for Persian language の議論を続けます。

上記で述べた通り、テーマに moment-jalaali スクリプトを追加し、サイトのテキスト設定内の日付表示形式を変更しました。

    ...
    <script src="https://cdn.jsdelivr.net/npm/moment-jalaali@0.9.2/build/moment-jalaali.js"></script>
</body>

これにより、ヒジュラ・シャムシ暦での日付表示の問題は解決しました。しかし、スクリプトを追加した後、ダッシュボードのレポートが失敗し、以下のエラーが発生します。

Uncaught TypeError: Cannot read property 'split' of null

デバッグを行うと、このエラーが確認できます。

これは Support または #feature request のどちらかに分類されると思います。

Jalaali を追加する公式にサポートされた方法は存在せず、現在あるのはハック的な対応です。

バージョンの整合性が取れているかどうかは不明です。

これを何らかの正式な公式バージョン、あるいは正式な公式コンポーネントとして整備することには賛成です。

ただし、長期的には Moment.js から移行する予定であるという複雑な事情もあります。

サム、ありがとうございます。
おっしゃる通り、Support はまさにここですね。これが公式にサポートされているのであれば、素晴らしいことです。
私がここで質問したのは、Discourse チームの方が問題の原因をよりよく把握しており、私を導いてくれるかもしれないと思ったからです。この問題が発生するのは不思議ですね!このケースと別のケースを除けば、このソリューションは片方向(表示のみ)で正しく機能しています。私たちは Discourse の最新バージョンを使用しています。

ステップ1は、あなたがハッキングしているこのスクリプトが、コアで使用している moment.js のリリースと完全に一致していることを確認することです。確認していただけませんか?

スクリプトのバージョン 0.9.2 を使用しています。このバージョンは、以下の依存関係に基づいて動作します。

  "devDependencies": {
    "chai": "^4.2.0",
    "eslint": "^6.7.1",
    "mocha": "^5.2.0"
  },
  "dependencies": {
    "jalaali-js": "^1.1.0",
    "moment": "^2.22.2",
    "moment-timezone": "^0.5.21",
    "rimraf": "^2.6.2"
  }

moment-jalaali/package.json at v0.9.2 · jalaali/moment-jalaali · GitHub