Skip to content

Latest commit

 

History

History
113 lines (113 loc) · 5.81 KB

TODO.md

File metadata and controls

113 lines (113 loc) · 5.81 KB
  • "Backend"
    • "gerrit credentials" command
    • Implement gerrit API
    • Caching?
    • Infer URL, port, project from .gitreview file
    • [-] Join requests
    • Make everything invalidatable
      • Allow invalidating of changes, files etc
        • [-] Sync up invalidations. For example if change with withValues A and B is invalidated at the same time, fetch one change with A&B at the same time.
      • [-] Only update UI when changes made (in how far is this possible?)
        • [-] If known that an update is coming, let the user decide
      • Preserve
        • Caching
        • Proper garbage collection
    • Better more central caching
    • Instant updates
      • Let the user decide whether to update the diff view if the latest patchset updates
  • Visual
    • Changes pane
      • Changeset selection
      • ... buttons
        • Allow changing view. Presets:
          • Dashboard
          • Draft comments
          • Starred changes
          • Open
          • Merged
          • Or by just changing config in settings
      • Search bar at the top // Search bar in treeview is not possible (see microsoft/vscode-extension-samples#113). Instead we use a search icon
      • Select active view
      • Show changes under headers with following info:
        • #ID
        • Subject
        • Owner
        • [-] V (not possible)
        • Maybe multiline?
      • Rightclick on changes:
        • Checkout
          • Offer to stash and unstash
        • Checkout & Review
        • Toggle review mode
        • Open on gerrit
        • [-] Notify when verified by administrator? // Not really possible with Stream Events. Also hard to generalize because workflows differ a lot.
      • Add "refresh" button
        • Periodically refresh
      • Add "fetch more" button
      • Change expands to:
        • Description
          • [-] Clicking opens inline gerrit webview // Not possible because Gerrit doesn't allow iframes or unauthorized fetching of the HTML. (would also be hard with cookies etc).
            • [-] Possible future TODO, create custom UI
        • Do something with comments that aren't inside of a file
        • All changed files by path
          • Badges:
            • A (added)
            • M (modified)
            • D (deleted)
            • Double-check standards here
          • Add comment icon that shows whether you (or someone else) commented
          • RMB:
            • Open unmodified
            • Open modified
            • Open on gerrit
            • [-] Mark reviewed
          • What happens when you click:
            • Diff view
              • [-] Highlighting text and pressing "c" creates comment (not possible in VSCode)
                • [-] Or right-click "create comment" (same as above)
              • Add line on the left that allows creating comments
                • If text highlighted when creating commnt, use that text
            • Show comments
              • Default-expand unresolved, collapse resolved
              • Add the magic buttons (done etc)
              • Inline text field etc
                • Cancel, save, resolved
              • Add "copy link" button (just like on the website)
    • Reply pane
      • Update draft comment counter when a comment is added
      • Contains everything under the "reply" button and some more:
        • Reviewers
        • CC
        • Main textfield
          • Checkbox [resolved]
        • All scores
          • Code-review
          • Others
        • Checkbox [publish X drafts]
        • [-] Attention set modifier
        • if WIP, show "start review"
        • [-] Show cancel (reset) button
      • Shows this data for the currently checked-out change
        • If clicking "review" instead of "checkout & review" in changes, show it as well. Shows the reviewing change in the bottom bar. Can click that to stop reviewing (or the change itself).
          • Also a "stop reviewing X" button below reply button.
    • Add "review" button in source control
      • If first patchset, automatically open reply pane
        • Allow disabling this in settings
      • This should also be a command
      • Add a bunch of gerrit commands in the ... button
        • Git review
        • [-] Git add . && git commit --amend
        • [-] Git add . && git commit --amend (no msg)
        • Git rebase (sort of)
        • Recursive rebase (sort of)
    • Add bottom bar showing currently checked-out change
      • [-] Rightclicking:
        • [-] Uncheckout
        • [-] Uncheckout & unstash previous
        • [-] Cancel review (if just reviewing)
      • Instead make bottom bar a patch-selector (like git branch selector)
    • Commands
      • Checkout patch X (from command panel)
      • Open patch X in changes pane
      • Add as startup events
      • Rebase command