Tracker: logging and normal user notifications #170
Labels
No labels
bug
documentation
duplicate
enhancement
fugitive
good first issue
help wanted
invalid
question
v0.1.0
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
barrettruth/forge.nvim#170
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Tracker: logging and normal user notifications
Problem
Forge still needs follow-up work around picker failure details, async error preservation, and user-facing notification noise. This issue started as the exploratory root note; the concrete remaining work now lives in linked child issues.
Desired behavior
Tracked issues
Current state
forge.loggervim.g.forge.debug = false: no debug outputvim.g.forge.debug = true: debug logs go throughvim.notifyvim.g.forge.debug = \"/tmp/forge.log\": all levels append to a file; info/warn/error still notifyNotes
create_prare already handled and do not need a separate child issuealso totally not figured out at all, debug vs regular level logging, etc.
A focused note from exploring whether Forge can surface logging/status while an
fzf-luapicker stays in the foreground:vim.notify()does not have a special picker overlay; per:help vim.notify, the stock implementation writes to:messagesfzf-luais open, but it is not a reliable UX surface for picker-local status because it is easy to miss and not attached to the picker itselfforge.logger, which routes info/warn/error throughvim.notifyand can additionally append all levels to a file whenvim.g.forge.debugis a stringfzf-luais in roughly the same boat: its own action feedback usesnvim_echo, not a special in-picker notification layerWhat
fzf-luadoes give us is a stronger picker-state surface than Forge is using today:fzf_exec, streamed/function producers, reload actions, tracked rows, placeholder rows, and dynamic headers (transform-headeron focus)rerunning…,rerun started, or a real failure message derived from stderrImportant architecture detail from the current picker flows:
This leaves a few practical conclusions for #170:
vim.notify.forge.log, or a polished version of the existing file sink (vim.g.forge.debug = "/tmp/forge.log").So my current take is:
vim.notifyis visible only in the ordinary message area and is too weak to be the main UX for picker-local outcomesfzf-lua