Make dashboard updateable
This commit is contained in:
53
README.md
53
README.md
@@ -97,6 +97,9 @@ within_status = "file" # "file" or "timestamp" (oldest first)
|
||||
enabled = true # instant stale view plus offline fallback
|
||||
max_age = "168h" # 7 days; 0 means no age limit
|
||||
directory = "" # defaults to the OS user cache directory
|
||||
|
||||
[editing]
|
||||
mode = "vim" # "vim" or "standard"; description field only for now
|
||||
```
|
||||
|
||||
When cached data exists, the picker and PR details are rendered immediately
|
||||
@@ -125,7 +128,7 @@ configured repository when `--repo` is not provided. The corresponding flags
|
||||
include `--config`, `--theme`, `--poll`, `--fold-resolved`,
|
||||
`--thread-list-width`, `--dashboard-mode`, `--compact-reviews`,
|
||||
`--path-scroll`, and `--path-scroll-interval`, plus `--cache`,
|
||||
`--cache-max-age`, and `--cache-dir`.
|
||||
`--cache-max-age`, `--cache-dir`, and `--editor-mode`.
|
||||
Boolean settings can be disabled explicitly, for
|
||||
example `--compact-reviews=false`.
|
||||
|
||||
@@ -147,6 +150,7 @@ history and metadata.
|
||||
| `j` / `k` | Move between items or scroll the dashboard/focused detail |
|
||||
| `?` | Show contextual keybinding help |
|
||||
| `d` | Open the current pull request dashboard |
|
||||
| `e` | Edit the current PR title, target branch, and description from its dashboard |
|
||||
| `/` | Fuzzy-search paths and filter with `status:`, `author:`, `updated:true` |
|
||||
| `F` | Clear active thread filters |
|
||||
| `n` / `N` | Next / previous thread with a new update |
|
||||
@@ -168,15 +172,50 @@ comments remain visible while writing. It supports multiple lines: `enter`
|
||||
inserts a newline, `ctrl-s` opens the rendered confirmation preview, and `esc`
|
||||
cancels. Replies and resolution changes require an explicit `y` confirmation.
|
||||
Write keys remain disabled for cached snapshots, during refreshes, and whenever
|
||||
GitHub does not grant the corresponding per-thread capability.
|
||||
GitHub does not grant the corresponding capability.
|
||||
|
||||
The dashboard editor works with raw Markdown so template checklists can be
|
||||
updated directly. The active line is highlighted without inserting a
|
||||
layout-changing block character. It opens with the description focused;
|
||||
`tab` and `shift-tab` move between the description, title, and target branch.
|
||||
When the target branch is focused, repository branches are recommended using
|
||||
the typed text, likely branch names, the current/default branch, and each
|
||||
branch's latest commit time. The list updates as you type. Use `ctrl-p` and
|
||||
`ctrl-n` to select the previous or next result, then `tab` or `enter` to complete it;
|
||||
pressing `tab` again moves to the description.
|
||||
|
||||
With the default `editing.mode = "vim"`, the description starts in Normal mode.
|
||||
It supports `hjkl`, `0`, `^`, `$`, `gg`, `G`, `w`/`W`, `b`/`B`, `e`/`E`,
|
||||
`f`/`F`/`t`/`T` with `;` and `,`, `i`/`a`/`I`/`A`, `o`/`O`, `s`, and
|
||||
`x`/`X`. `s` removes the character under the cursor and enters Insert mode.
|
||||
Soft-wrapped rows behave as visual editor lines for vertical and line-local
|
||||
motions, but do not add newlines to the Markdown submitted to GitHub.
|
||||
`ctrl-d` and `ctrl-u` move the cursor and viewport down or up by half a page,
|
||||
including while extending a Visual selection.
|
||||
`v` starts character-wise Visual mode and `V` starts visual-line selection;
|
||||
`d` or `x` deletes the selection, `y` copies it to the system clipboard, and
|
||||
`p` pastes from the system clipboard. Normal mode uses a block cursor, while
|
||||
Insert mode uses the terminal's hardware bar cursor at the boundary between
|
||||
characters without hiding or shifting either character.
|
||||
The description retains its raw Markdown while headings, emphasis, inline
|
||||
code, links, quote markers, and HTML comments receive syntax highlighting.
|
||||
Highlighting consists only of zero-width terminal styling and cannot alter
|
||||
wrapping, selection, clipboard contents, cursor offsets, or submitted text.
|
||||
`esc` returns from Insert to Normal mode; a second `esc` cancels the editor.
|
||||
Set `editing.mode = "standard"` for direct insertion with arrow,
|
||||
`home`, and `end` navigation. Title and target branch remain standard inputs
|
||||
in either mode. `ctrl-s` opens an explicit confirmation. If the title,
|
||||
description, or target branch changes remotely while the editor is open,
|
||||
submission is blocked rather than overwriting the newer metadata.
|
||||
|
||||
## Current scope
|
||||
|
||||
The application can reply to review threads and resolve or unresolve them.
|
||||
Other write operations remain disabled. The dashboard shows the capability
|
||||
gate, including why each action is unavailable. Read state
|
||||
The application can reply to review threads, resolve or unresolve them, and
|
||||
update the PR title, target branch, and description. Comment reactions remain
|
||||
read-only. Other write operations remain disabled. The dashboard shows the
|
||||
capability gate, including why each action is unavailable. Read state
|
||||
persists beside the configuration, and recent PR data is cached for offline
|
||||
fallback. Check contexts and annotations are paginated. GitHub features which depend
|
||||
on server-side context, such as unfurling issue references or displaying
|
||||
fallback. Check contexts and annotations are paginated. GitHub features which
|
||||
depend on server-side context, such as unfurling issue references or displaying
|
||||
uploaded images, are represented textually in the terminal. See
|
||||
[`TODO.md`](TODO.md) for remaining read-only work and write-support preparation.
|
||||
|
||||
Reference in New Issue
Block a user