Release 1/24/26 (#519)

* Fix: Jumping to renamed files (#484)

* fix: prevent "cursor position outside buffer" error

* fix: swap file_name and old_file_name in reviewer data

`old_file_name` is not set to the empty string for un-renamed files anymore, because then we can
remove the empty-line check in `comment_helpers.go` which was used to replace the empty string with
the current file name anyway.

* fix: add old_file_name to discussion root node data

* fix: also consider old_file_name when jumping to the reviewer

This fixes jumping to renamed files, however, may not work for comments that
were created on renamed files with the previous version of `gitlab.nvim` as
that version assigned the `file_name` and `old_file_name` incorrectly.

* refactor: don't shadow variable

* fix: check file_name or old_file_name based on which SHA comment belongs to

* Fix: Store reviewer data before creating comment popup (#476)

* Fix: Make publishing drafts more robust (#483)

* Fix: Swap file_name and old_file_name in reviewer data (#485)

* Feat: Enable toggling date format between relative and absolute (#491)

* Fix: Add opts to help popup (#492)

* Fix: Force start_line for jumping to diagnostic to be inside buffer (#494)

* fix: redefine colors after reloading colorscheme (#500)

* Fix: Use path instead of oldpath as fallback for unrenamed files (#496)

* Fix: Use file_name when old_file_name is not set (#495)

* fix(ci): fix lua tests (#501)

* Proxy Support (#499)

* feat(ci): Cancel obsolete after a new commit is pushed in an open PR (#503)

* fix: start and clean up winbar timer properly (#513)

This is a PATCH.

* fix: put attach_file markdown on new line (#512)

This is a PATCH PR.

* docs: fix incorrect value for 'relative' option to Split (#511)

This is a PATCH.

* docs: add default keybinding maps available in the help (#506)

This is a PATCH change.

* feat: enable setting discussion tree options (#509)

* docs: add description of `refresh_data` function

* fix: only set gitlab filetype in one place

* feat: set some useful window options for the discussion tree split

This is a PATCH PR.

---------

Co-authored-by: Jakub F. Bortlík <jakub.bortlik@proton.me>
Co-authored-by: Jonathan Duck <Duckbrain30@gmail.com>
Co-authored-by: Kitsios Konstantinos <kitsios.konst@gmail.com>
Co-authored-by: Mohammad Akbari <makbari@users.noreply.github.com>
This commit is contained in:
Harrison (Harry) Cramer
2026-01-24 10:04:47 -05:00
committed by GitHub
parent e29909cd10
commit e4eabaf71d
9 changed files with 145 additions and 11 deletions

View File

@@ -115,15 +115,19 @@ M.open = function(callback, view_type)
M.linked_bufnr = linked_bufnr
M.unlinked_bufnr = unlinked_bufnr
vim.api.nvim_set_option_value("filetype", "gitlab", { buf = M.split.bufnr })
vim.api.nvim_set_option_value("filetype", "gitlab", { buf = M.unlinked_bufnr })
for opt, val in pairs(state.settings.discussion_tree.winopts) do
vim.api.nvim_set_option_value(opt, val, { win = M.split.winid })
end
vim.api.nvim_set_option_value("filetype", "gitlab", { buf = M.linked_bufnr })
vim.api.nvim_set_option_value("filetype", "gitlab", { buf = M.unlinked_bufnr })
M.split = split
M.split_visible = true
split:mount()
-- Initialize winbar module with data from buffers
winbar.start_timer()
winbar.set_buffers(M.linked_bufnr, M.unlinked_bufnr)
winbar.switch_view_type(view_type)
@@ -156,6 +160,7 @@ M.close = function()
end
M.split_visible = false
M.discussion_tree = nil
winbar.cleanup_timer()
end
---Move to the discussion tree at the discussion from diagnostic on current line.
@@ -455,7 +460,6 @@ M.rebuild_discussion_tree = function()
M.set_tree_keymaps(discussion_tree, M.linked_bufnr, false)
M.discussion_tree = discussion_tree
common.switch_can_edit_bufs(false, M.linked_bufnr, M.unlinked_bufnr)
vim.api.nvim_set_option_value("filetype", "gitlab", { buf = M.linked_bufnr })
state.discussion_tree.resolved_expanded = false
state.discussion_tree.unresolved_expanded = false
end

View File

@@ -271,8 +271,21 @@ M.switch_view_type = function(override)
M.update_winbar()
end
-- Set up a timer to update the winbar periodically
local timer = vim.uv.new_timer()
timer:start(0, 100, vim.schedule_wrap(M.update_winbar))
---Set up a timer to update the winbar periodically
M.start_timer = function()
M.cleanup_timer()
---@type nil|uv_timer_t
M.timer = vim.uv.new_timer()
M.timer:start(0, 100, vim.schedule_wrap(M.update_winbar))
end
--Stop and close the timer
M.cleanup_timer = function()
if M.timer ~= nil then
M.timer:stop()
M.timer:close()
M.timer = nil
end
end
return M