toggle_discussions() doesn't open new window - draft_notes error 404
関連するプルリクエストがすでにマージされています。
- #552 @jakubbortlik による — マージ済み
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
調査の方向性
require("gitlab").toggle_discussions() と記録された draft_notes リクエストから始め、次に、文書化されている API の利用可能性を報告された GitLab 13.12 インスタンスと比較します。変更を加える前に、関連する pull request の履歴を確認してください。完了の条件は、互換性または文書化された制限のいずれかによって、このサーバーバージョンでのディスカッションウィンドウの動作が明確になっていることです。
索引モデルが issue の本文から書いたものです。
説明
Prerequsities
- I'm on the latest version of the plugin
- I've installed the required dependencies
- I've run
:h gitlab.nvim.troubleshootingand followed the steps there
Setup Configuration and Environment
return {
"harrisoncramer/gitlab.nvim",
dependencies = {
"MunifTanjim/nui.nvim",
"nvim-lua/plenary.nvim",
"sindrets/diffview.nvim",
"nvim-tree/nvim-web-devicons"
},
lazy = false,
build = function() require("gitlab.server").build(true) end, -- Builds the Go binary
keys = function()
local map = require('map')
map.map('n', '<leader>gm', function() require("gitlab").choose_merge_request() end, { desc = "[m]erge request view (gitlab)" } )
map.exportKeys()
end,
config = function()
require("gitlab").setup({
auth_provider = function()
return "<redacted>", "<redacted>", nil
end,
connection_settings = {
insecure = true,
},
debug = {
request = true,
response = true,
gitlab_request = true,
gitlab_response = true,
},
})
end,
}
Bug Description
require("gitlab").toggle_discussions() does not open discussion window.
Error notificaiton:
gitlab.nvim: Could not get draft notes: 404 Not Found
Reproduction Steps
- Add my plugin configuration file to neovim with Lazy.nvim installed (tested without other plugins).
- Run
require("gitlab").choose_merge_request(), select MR. - Use
gldto open discussion window. - Result: No new windows is opened. Error message about draft_notes being not found appears.
Additional info
Output's of commands from gitlab.nvim.troubleshooting:
- checkhealth gitlab
==============================================================================
gitlab: require("gitlab.health").check()
gitlab.nvim ~
- ⚠️ WARNING stevearc/dressing.nvim is a recommended dependency
-
require("gitlab").print_settings() - prints defaults + changes from my config as expected.
-
require("gitlab.server").build(true)
gitlab.nvim: Installed successfully!
- require("gitlab.server").start(function() print("Server started") end)
gitlab.nvim: Failed to initialize Gitlab client: GitLab instance URL cannot be empty
gitlab.nvim: Golang gitlab server exited: job_id: 3, exit_code: 1
but if I first use require("gitlab").choose_merge_request() and then do require("gitlab.server").restart() then server is restarted without any issue:
gitlab.nvim: Restarted server
- I've enabled debug logs and here is example of failure in logs:
-- REQUEST TO GO SERVER --
GET /mr/draft_notes/ HTTP/1.1
Host: localhost:45393
Accept: */*
Private-Token: REDACTED
User-Agent: curl/7.81.0
-- REQUEST TO GITLAB --
GET /api/v4/projects/2253/merge_requests/710/draft_notes HTTP/1.1
Host: <redacted>
Accept: application/json
Private-Token: REDACTED
User-Agent: go-gitlab
-- RESPONSE FROM GITLAB --
HTTP/1.1 404 Not Found
Content-Length: 25
Cache-Control: no-cache
Connection: keep-alive
Content-Type: application/json
Date: Tue, 16 Sep 2025 17:25:01 GMT
Server: nginx
Vary: Origin
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Gitlab-Feature-Category: not_owned
X-Request-Id: 01K59RXX1PQGGYRNDE1B63SDFV
X-Runtime: 0.011073
{"error":"404 Not Found"}
-- RESPONSE FROM GO SERVER --
HTTP/0.0 500 Internal Server Error
Content-Length: 66
Content-Type: application/json
{"message":"Could not get draft notes","details":"404 Not Found"}
Update
One more observation. I am able to create comments, but creation of draft comment fails.
After I create a comment diagnostic symbols for comments are finally loaded and I can list comments via diagnostic listing.
Also:
curl --insecure --header "PRIVATE-TOKEN: <redacted>" --url "https://<redacted>/api/v4/projects/2253/merge_requests/710/draft_note"
fails with error 404, but:
curl --insecure --header "PRIVATE-TOKEN: <redacted>" --url "https://<redacted>/api/v4/projects/2253/merge_requests/710/discussions"
returns valid JSON.
And
curl --insecure --header "PRIVATE-TOKEN: <redacted>" --url "https://<redacted>/api/v4/projects/2253/merge_requests/710/notes"
also returns valid JSON.
Update 2
I've found the root cause, it seems like draft_notes API was introduced in version 16.0 (or at least somewhere between 15.0 and 16.0). The gitlab that I have to use is version 13.12.
Am I correct to assume that there is nothing I can do to make it work?
- 主要言語
- Lua
- スター
- 401
- フォーク
- 64
- 平均マージ
- 7時間 17分
- マージ済み PR(30日)
- 4
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
harrisoncramer/gitlab.nvim のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
harrisoncramer/gitlab.nvim#585 · コメント 1 件 ·
-
Security/Bug: Go server leaks auth_token to ps and leaves zombie processes対応中かも @jakubbortlik が 14 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 46/100
harrisoncramer/gitlab.nvim#583 · コメント 2 件 · 担当者 1 名 ·
-
feature request
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
harrisoncramer/gitlab.nvim#516 · コメント 1 件 ·
-
Oauth Login the plugin再び着手できるかも @vamshi567bh が 255 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンfeature request
harrisoncramer/gitlab.nvim#515 · コメント 2 件 · 担当者 1 名 ·
-
feature request
難易度 3/5 1〜2日 初心者へのやさしさ 56/100
harrisoncramer/gitlab.nvim#505 · コメント 6 件 ·
harrisoncramer/gitlab.nvim の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
AstroNvim/astrocommunity#1802 ·
-
Bug era/hc Miscellaneous Task
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
jellyfin/jellyfin-mpv-shim#800 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
Roblox/jest-roblox#18 ·