Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Deleting an open note in the web UI breaks the categories pane and more

オープン
#1,652 コメント 1 件 リアクション 1 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
38/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
javascript
領域
frontend

調査の方向性

Web UI で削除フローを再現し、notes.js:37 と notes.js:51 の TypeError の発生箇所から調査を始め、NotesService.js:417 から CategoriesList.vue:80 への呼び出しを追跡します。App.vue の loadNotes 周辺とルーティングに関連する読み込みフローを確認し、削除後のカテゴリクリック時の動作を完了確認に使います。

索引モデルが issue の本文から書いたものです。

説明

bug need to reproduce

Steps to reproduce

  1. Open a note in the Web UI (e.g., index.php/apps/notes/note/1234 )
  2. Delete the note
  3. Click on a category
Expected behaviour

The notes in the category should be listed

Actual behaviour

Clicking on categories doesn't change the notes listed. It may take a second or two for this to stop working, but I can reproduce it 100% of the time. The behavior of New Note also seems iffy but it's hard to describe.

Reloading the UI fixes the problem.

Server

Please complete the following information.

  • Notes app version: 4.12.3
  • Nextcloud version: 32.0.0.13
  • OS: Debian 12.11
  • Web server: apache2 2.4.62
  • PHP version: 8.2.28
  • Database: MariaDB 10.11.11

Nextcloud configuration:

"system": {
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "nextcloud.example.com"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "mysql",
    "version": "32.0.0.13",
    "overwrite.cli.url": "https:\/\/nextcloud.example.com",
    "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",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "port": 0,
        "dbindex": 0,
        "password": "***REMOVED SENSITIVE VALUE***",
        "timeout": 1.5
    },
    "maintenance": false,
    "maintenance_window_start": 1,
    "theme": "",
    "loglevel": 2,
    "default_phone_region": "US",
    "mail_smtpmode": "smtp",
    "mail_smtpsecure": "ssl",
    "mail_sendmailmode": "smtp",
    "memories.exiftool": "\/var\/www\/nextcloud.example.com\/apps\/memories\/bin-ext\/exiftool-amd64-glibc",
    "memories.vod.path": "\/var\/www\/nextcloud.example.com\/apps\/memories\/bin-ext\/go-vod-amd64",
    "memories.db.triggers.fcu": true
}

}

Client

Please complete the following information.

  • Browser (incl. version): Firefox 142.0 (64-bit)
  • OS: Debian forky/sid (using KDE)

Log files

nextcloud.log didn't have anything at log level WARN, I set it to DEBUG and things looked fine, I'd have to spend some time sanitizing those logs since they're very verbose. I noticed a lot of dirty table reads but that seems to be a separate issue perhaps related to my recent NC upgrade.

What caught my eye in the console log were the 412 Precondition failed errors which led me to #1538 , which while related doesn't seem to be the main problem here.

This error seems to show up more consistently:

TypeError: can't access property "length", e is undefined
a notes.js:37
getCategories notes.js:51
S NotesService.js:417
categories CategoriesList.vue:80
VueJS 3
K CategoriesList.vue:1
VueJS 13
init vue-router.esm.js:3005
init vue-router.esm.js:3004
updateRoute vue-router.esm.js:2414
transitionTo vue-router.esm.js:2263
confirmTransition vue-router.esm.js:2402
a vue-router.esm.js:2084
ke vue-router.esm.js:2095
confirmTransition vue-router.esm.js:2396
a vue-router.esm.js:2084
a vue-router.esm.js:2088
g vue-router.esm.js:2384
m vue-router.esm.js:2162
g vue-router.esm.js:2362
a vue-router.esm.js:2087
a vue-router.esm.js:2091
ke vue-router.esm.js:2095
confirmTransition vue-router.esm.js:2392
transitionTo vue-router.esm.js:2260
push vue-router.esm.js:2606
push vue-router.esm.js:3036
push vue-router.esm.js:3035
routeToNote App.vue:220
routeFirst App.vue:209
routeDefault App.vue:201
loadNotes App.vue:142
promise callbackloadNotes App.vue:135
refreshTimer App.vue:166
setTimeout handler
startRefreshTimer App.vue:164
loadNotes App.vue:158
promise callback*loadNotes App.vue:156
refreshTimer App.vue:166
vue.runtime.esm.js:3065:17

主要言語
JavaScript
スター
738
フォーク
161
平均マージ
9時間 31分
マージ済み PR(30日)
39

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

nextcloud/notes のほかの issue

nextcloud/notes の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。