-
Notifications
You must be signed in to change notification settings - Fork 392
Conversation
make them use a builder function so they're less repeititive clean up prop type errors in console
Love the gif! Would it be worth showing off the feature to toggle visibility of the commit message description when it's long? I don't have strong feelings one way or another, just thinking that it could showcase more of the value of viewing a commit in the pane (more context from the commit message) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR is looking great! I've finished reviewing all of the files in lib
. Not gonna sweat too much about reviewing the tests. Everything looks solid, though I left a couple of comments for minor logic improvements for good measure.
/> | ||
<a className="commit-sha" href={commit.commitUrl}>{commit.oid.slice(0, 8)}</a> | ||
<p className="commit-message-headline"> | ||
{this.props.onBranch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Out of scope for this PR, but it would be cool to offer the ability to view commits that exist in the repo but aren't on the checked out branch. So, for example, if I want to cherry-pick a commit I can just view the commit contents to verify it is what I think it is without having to checkout the branch that the commit is on.
How much more complexity would this introduce? We'll have to handle the edge case where the user hasn't pulled down commits yet and either prompt them to pull or do a pull for them... and probably other things to consider...
# 50-character subject line # # 72-character wrapped longer description. This should answer: # # * Why was this change necessary? # * How does it address the problem? # * Are there any side effects? # # Include a link to the ticket, if any. # # Don't forget the following emoji: # # * 🎨 `🎨` when improving the format/structure of the code # * 🐎 `🐎` when improving performance # * 🚱 `🚱` when plugging memory leaks # * 📝 `📝` when writing docs # * 🐧 `🐧` when fixing something on Linux # * 🍎 `🍎` when fixing something on Mac OS # * 🏁 `🏁` when fixing something on Windows # * 🐛 `🐛` when fixing a bug # * 🔥 `🔥` when removing code or files # * 💚 `💚` when fixing the CI build # * ✅ `✅` when adding tests # * 🔒 `🔒` when dealing with security # * ⬆️ `⬆️` when upgrading dependencies # * ⬇️ `⬇️` when downgrading dependencies # * 👕 `👕` when removing linter warnings
# 50-character subject line # # 72-character wrapped longer description. This should answer: # # * Why was this change necessary? # * How does it address the problem? # * Are there any side effects? # # Include a link to the ticket, if any. # # Don't forget the following emoji: # # * 🎨 `🎨` when improving the format/structure of the code # * 🐎 `🐎` when improving performance # * 🚱 `🚱` when plugging memory leaks # * 📝 `📝` when writing docs # * 🐧 `🐧` when fixing something on Linux # * 🍎 `🍎` when fixing something on Mac OS # * 🏁 `🏁` when fixing something on Windows # * 🐛 `🐛` when fixing a bug # * 🔥 `🔥` when removing code or files # * 💚 `💚` when fixing the CI build # * ✅ `✅` when adding tests # * 🔒 `🔒` when dealing with security # * ⬆️ `⬆️` when upgrading dependencies # * ⬇️ `⬇️` when downgrading dependencies # * 👕 `👕` when removing linter warnings
# 50-character subject line # # 72-character wrapped longer description. This should answer: # # * Why was this change necessary? # * How does it address the problem? # * Are there any side effects? # # Include a link to the ticket, if any. # # Don't forget the following emoji: # # * 🎨 `🎨` when improving the format/structure of the code # * 🐎 `🐎` when improving performance # * 🚱 `🚱` when plugging memory leaks # * 📝 `📝` when writing docs # * 🐧 `🐧` when fixing something on Linux # * 🍎 `🍎` when fixing something on Mac OS # * 🏁 `🏁` when fixing something on Windows # * 🐛 `🐛` when fixing a bug # * 🔥 `🔥` when removing code or files # * 💚 `💚` when fixing the CI build # * ✅ `✅` when adding tests # * 🔒 `🔒` when dealing with security # * ⬆️ `⬆️` when upgrading dependencies # * ⬇️ `⬇️` when downgrading dependencies # * 👕 `👕` when removing linter warnings
# 50-character subject line # # 72-character wrapped longer description. This should answer: # # * Why was this change necessary? # * How does it address the problem? # * Are there any side effects? # # Include a link to the ticket, if any. # # Don't forget the following emoji: # # * 🎨 `🎨` when improving the format/structure of the code # * 🐎 `🐎` when improving performance # * 🚱 `🚱` when plugging memory leaks # * 📝 `📝` when writing docs # * 🐧 `🐧` when fixing something on Linux # * 🍎 `🍎` when fixing something on Mac OS # * 🏁 `🏁` when fixing something on Windows # * 🐛 `🐛` when fixing a bug # * 🔥 `🔥` when removing code or files # * 💚 `💚` when fixing the CI build # * ✅ `✅` when adding tests # * 🔒 `🔒` when dealing with security # * ⬆️ `⬆️` when upgrading dependencies # * ⬇️ `⬇️` when downgrading dependencies # * 👕 `👕` when removing linter warnings
Don't restrict entries to valid commit shas. It works with branches, tags, and `HEAD` as well # 50-character subject line # # 72-character wrapped longer description. This should answer: # # * Why was this change necessary? # * How does it address the problem? # * Are there any side effects? # # Include a link to the ticket, if any. # # Don't forget the following emoji: # # * 🎨 `🎨` when improving the format/structure of the code # * 🐎 `🐎` when improving performance # * 🚱 `🚱` when plugging memory leaks # * 📝 `📝` when writing docs # * 🐧 `🐧` when fixing something on Linux # * 🍎 `🍎` when fixing something on Mac OS # * 🏁 `🏁` when fixing something on Windows # * 🐛 `🐛` when fixing a bug # * 🔥 `🔥` when removing code or files # * 💚 `💚` when fixing the CI build # * ✅ `✅` when adding tests # * 🔒 `🔒` when dealing with security # * ⬆️ `⬆️` when upgrading dependencies # * ⬇️ `⬇️` when downgrading dependencies # * 👕 `👕` when removing linter warnings
# 50-character subject line # # 72-character wrapped longer description. This should answer: # # * Why was this change necessary? # * How does it address the problem? # * Are there any side effects? # # Include a link to the ticket, if any. # # Don't forget the following emoji: # # * 🎨 `🎨` when improving the format/structure of the code # * 🐎 `🐎` when improving performance # * 🚱 `🚱` when plugging memory leaks # * 📝 `📝` when writing docs # * 🐧 `🐧` when fixing something on Linux # * 🍎 `🍎` when fixing something on Mac OS # * 🏁 `🏁` when fixing something on Windows # * 🐛 `🐛` when fixing a bug # * 🔥 `🔥` when removing code or files # * 💚 `💚` when fixing the CI build # * ✅ `✅` when adding tests # * 🔒 `🔒` when dealing with security # * ⬆️ `⬆️` when upgrading dependencies # * ⬇️ `⬇️` when downgrading dependencies # * 👕 `👕` when removing linter warnings
# 50-character subject line # # 72-character wrapped longer description. This should answer: # # * Why was this change necessary? # * How does it address the problem? # * Are there any side effects? # # Include a link to the ticket, if any. # # Don't forget the following emoji: # # * 🎨 `🎨` when improving the format/structure of the code # * 🐎 `🐎` when improving performance # * 🚱 `🚱` when plugging memory leaks # * 📝 `📝` when writing docs # * 🐧 `🐧` when fixing something on Linux # * 🍎 `🍎` when fixing something on Mac OS # * 🏁 `🏁` when fixing something on Windows # * 🐛 `🐛` when fixing a bug # * 🔥 `🔥` when removing code or files # * 💚 `💚` when fixing the CI build # * ✅ `✅` when adding tests # * 🔒 `🔒` when dealing with security # * ⬆️ `⬆️` when upgrading dependencies # * ⬇️ `⬇️` when downgrading dependencies # * 👕 `👕` when removing linter warnings
Description of the Change
Addresses #1655 to add pane to view the contents of a single commit.
Remaining work
CommitDetailItem
by clicking on commit in recent commit historyCommitDetailItem
openCommit
and opens a commit details pane item with an endless spinner. we have CSS that makes it appear unclickable, but the click handler is registered regardless of clickability...Alternate Designs
Benefits
RecentCommitsView
highlights on hover now, the context menu may be more discoverable. (during user research for Commit Preview, it came up that having highlighting here might make the context menu more discoverable.)RecentCommitsView
. (And also hopefully made the code clearer.)Possible Drawbacks
Applicable Issues
#1655
Metrics
These can help us ensure that the CommitDetailItem is discoverable and useful for users.
Test Coverage
Manual verification
RecentCommitsView
:Documentation
Release Notes
The GitHub package now has a pane item that displays the contents of an individual commit.
User Experience Research (Optional)
It might be useful to do research around:
RecentCommitsView
highlight the action item actually make context menus more discoverable? (This is something that came up during UXR for the Commit Preview feature, that needs more investigation.)Follow-on work
Optional tasks we can tackle if time permits. Otherwise, we can file them as follow-on issues.
CommitDetailItem
.