This repository was archived by the owner on Dec 15, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 399
Reviews dock item #1995
Merged
Merged
Reviews dock item #1995
Changes from all commits
Commits
Show all changes
742 commits
Select commit
Hold shift + click to select a range
af51ec4
Open the ReviewsItem and jump to the thread on gutter decoration click
smashwilson c4ecfa7
Fade in a border color on highlighted comment threads
smashwilson c747540
Remove line number and button background decorations
smashwilson bbf510d
Reset thread highlight after 1.5s
smashwilson 6a5078c
Support decorating inherited decorables on prop-provided editors
smashwilson ebf97e6
Use the <Decoration> fix to avoid creating unnecessary markers
smashwilson 0fc62e9
add test scaffolding for `CommentDecorationsContainer`
18ad661
"start a review" should link to files tab on dotcom
8749628
why did i commit an empty test
f386239
[wip] CommentDecorationsContainer tests
11d0774
Render <BareReviewsController> instead of <ReviewsController>
smashwilson a5f8ff0
EditorCommentDecorationsController tests :white_check_mark: + :100:
smashwilson 30745c8
add link for reporting abuse
f579bee
unit test for `CommentDecorationsContainer` happy path
1b0debd
:fire: unused import
smashwilson 2831257
:fire: diagnostic console.log
smashwilson ff95ffd
Consistent <detail> toggle methods
smashwilson f1d8233
Use native path separators in ReviewsView
smashwilson 56f08d6
Use native paths in CommentDecorationsController
smashwilson 98fd876
Update IssueDetailView test
smashwilson 9e156ec
Accumulator tests :white_check_mark: + :100:
smashwilson 91ccc49
ReviewThreadsAccumulator tests :white_check_mark: + :100:
smashwilson f9e1686
ReviewsContainer tests :white_check_mark: + :100:
smashwilson 92b244f
ReviewCommentsAccumulator tests :white_check_mark: + :100:
smashwilson d3b7153
ReviewSummariesAccumulator tests :white_check_mark: + :100:
smashwilson 9107f16
PullRequestDetailView tests :white_check_mark: + :100:
smashwilson c865c66
PR Checkout integration test :white_check_mark:
smashwilson 29c2b3d
get rid of the PullRequestReviewCommentThreadView component
vanessayuenn 4c67d31
use gutter instead for comments
vanessayuenn 97299ca
unused import
vanessayuenn 8807503
Instead of creating gutter within <Decoration>, we could just do a gu…
vanessayuenn 5923660
Fix up the in editor gutter decorations
vanessayuenn 708caa8
unused import
vanessayuenn 619f95a
AggregatedReviewsContainer tests :white_check_mark: + :100:
smashwilson 8bf4785
Get that one CommentDecorationsContainer test passing
smashwilson f12b2d1
Get the remaining written ReviewsView tests passing
smashwilson 1de70d0
Exclude superstring from the snapshot test
smashwilson 3a87b38
only do a console.error for now so i dont block people
vanessayuenn 9b6d6eb
When trying to decorate a gutter, don't do it right away; instead wai…
vanessayuenn 77d9870
remember to dispose the sub!
vanessayuenn 787f086
use report abuse icon instead of text
2111e3a
grammar
vanessayuenn 3e2c0cf
refactor out the comment gutter decoration to a shared component
vanessayuenn 15b4019
use the new `CommentGutterDecorationController`
vanessayuenn e7c5b22
unused imports
vanessayuenn ff6b639
drill the props
vanessayuenn 0a9b523
vertically align the icon
vanessayuenn 52b301d
only you can prevent prop type errors
473a37c
add alllll the metrics
354ed3e
fix typo
eee9b04
metrics for adding/removing emoji reactions
86bc5af
Include review comment state in ReviewCommentsAccumulator
smashwilson 930aa8d
Render and style a "pending" badge on pending comments
smashwilson 81a0196
Depend directly on lodash.isequal
smashwilson 1947e4a
Use deep equality to compare variables when finding a Relay expectation
smashwilson 06760f7
definition.operation can be 'query' or 'mutation'
smashwilson 2716128
make the comment gutter have selected line highlighting also
vanessayuenn 9cadbca
Build a GraphQL response with errors reported
smashwilson 1788283
Mutation fields on the builder for the operation root
smashwilson cb91d71
Omit unused variables entirely (as opposed to passing `undefined`)
smashwilson 8d43ec6
Me being picky about PropTypes ordering
smashwilson 524255d
Add builder fields for ReviewsController tests
smashwilson 86c12fe
Oh that needs to throw instead of return a payload
smashwilson 9f514d6
Drill atom.notifications to the ReviewsController
smashwilson 338434c
Report comment mutation errors as Atom notifications
smashwilson 5874391
respect the line highlighting color combo for gutter comment icons
vanessayuenn 7f74d8a
don't need an empty prop anymore
vanessayuenn 3c97eb7
Return a Promise from unresolveReviewThread
smashwilson 4eeae65
Builder fields for resolve and unresolve mutations
smashwilson 3cd5776
Test (un)resolve actions and error handling
smashwilson 3dd65a6
Lift mutation error reporting to RootController
smashwilson b4bce5b
Drill reportMutationErrors into IssueishDetailItem
smashwilson 0246b3d
need some extra fields from repository
vanessayuenn 54618b4
lint
vanessayuenn 9261a7b
add reviews button to the current checked out PR header
vanessayuenn d58b6d9
don't show reviews button when there is no checked out PR
vanessayuenn 32626cb
:art:
vanessayuenn ea3fdef
Builders for Reactable fields and (add|remove)Reaction mutations
smashwilson a22c1f5
Consistently end builder class names with "Builder"
smashwilson 7601d33
Test EmojiReactionsController mutations and error reporting
smashwilson 02b0dbc
Center loading spinner on stub Review items
smashwilson ee03863
test for the correct error message
vanessayuenn 97232fe
fix gutter decoration test
vanessayuenn c57f885
add test to ensure attempt to decorate a non-existent gutter does not…
vanessayuenn 5ca0288
:fire: .only
vanessayuenn b02c445
add tests for INSUFFICIENT and UNAUTHENTICATED tokens
be7edf0
add tests for query rendering in `CommentDecorationsContainer`
adc0fa5
:art: test descriptions and order
c44fffc
testy test test for CommentGutterDecorationController
vanessayuenn 94475ab
be more specific about where the event is firing from
vanessayuenn 694f0fb
weee more tests
vanessayuenn fd937f5
lint
vanessayuenn f6beaec
actually be even more specific in the metric reporting about which gu…
vanessayuenn e9c0271
properly bind `logStartReviewClick`
2587b41
test for event reporting in `ReviewsView`
2ca915d
fix same mistake in `ReviewsFooterView`
f9d080b
:fire: unused import
kuychaco 5156ca7
Add preserveOriginal option when building patches for PrPatchContainer
kuychaco 8110ef7
Lift AggregatedReviewsContainer to ReviewsContainer
kuychaco 76c8bea
Add Repository#getDiffsForFilePath method to get working directory ch…
kuychaco bd7f937
Set default value of `preserveOriginal` to false
kuychaco b133842
Add MultiFilePatch#getPatchForPath method
kuychaco 087b191
Create CommentPositioningContainer and use it in ReviewsContainer
kuychaco 61e2eb2
Translate lines for jump-to-file
kuychaco 1dedad9
:fire: unused import and prop
kuychaco 4446493
More cleanup
kuychaco c4ad139
Remove `isRequired` since prop starts out as null
kuychaco 549b469
Move translation logic to ReviewsView to display correct line number
kuychaco c3c14fa
typo omg 🙈
vanessayuenn 9c7b55c
WIP Start moving AggregatedReviewsContainer to CommentDecorationsCont…
kuychaco a213d86
Revert "WIP Start moving AggregatedReviewsContainer to CommentDecorat…
kuychaco 81ac713
`reviews-item` test :100:
vanessayuenn f061877
Revert "Revert "WIP Start moving AggregatedReviewsContainer to Commen…
smashwilson 6b4e857
Optionally convert comment paths to absolute paths
smashwilson 3caa463
Lift review thread aggregation to CommentDecorationsContainer
smashwilson 9947619
:gear: relay-compiler :gear:
smashwilson adb2577
:memo: Touch up a comment apparently
smashwilson e2d8415
add required props to `ReviewsView` tests
01b245d
add test for mounting commands
068e2e3
make openFile async for consistency
vanessayuenn 93ef566
test action methods of review controller
vanessayuenn df48a81
tests for the state management of the summary & comment accordions
vanessayuenn b11cebf
`reviews-controllers` test coverage :100::tada:
vanessayuenn 0aa4a7f
jk missed one test
vanessayuenn 8518a57
:shirt:
d79717a
checkout button test
ccfa39c
Mark builder fields as nullable
smashwilson b0eb39d
CommentDecorationsContainer :white_check_mark: + :100:
smashwilson cd3146e
EditorCommentDecorationsController tests :white_check_mark: + :100:
smashwilson 2b3195c
CommentPositioningContainer tests :white_check_mark: + :100:
smashwilson fc329ec
Use global sinon sandbox
smashwilson 3572989
Create sinon spies in beforeEach() blocks
smashwilson c0c1336
ReviewsContainer tests :white_check_mark: again, but not :100:
smashwilson 9b15eb5
Provide a default reviewsButton prop to Accordion
smashwilson 54ec555
(tests for) making (re)fetch happen
3bfe40a
remove `AggregatedReviewsContainer` from `ReviewsView` tests
acc1f01
use sinon in beforeEach blocks
65b1570
fucked up that merge somehow
877ed88
:fire: unused import
102e38a
fallback when comment translations are not provided
3c47015
Test for comment decorations instead of comment thread views
smashwilson e50400f
:shirt: mostly unused imports
smashwilson 4df3af9
resolve / unresolve thread tests
d500945
:skull: dead code
b254fa5
test for reply buttons
6eb19fa
add tests for CommentDecorationsController
vanessayuenn 4a516ec
thank u, istanbul ignore next
vanessayuenn a6e95dc
add checks for empty renders
vanessayuenn 7a2a87f
last one yay :tada:
vanessayuenn 3e812d6
🙅 .only
vanessayuenn 44092ab
wrong thread oopsie woopsie
d5ee88c
No mutations here, istanbul, shhh, shhhhh
smashwilson cb78c6c
test addSingleComment args
21dd94c
ReviewsFooterView tests
vanessayuenn a7313e8
Cover or ignore those last few straggling lines in MFPView
smashwilson 408e080
CurrentPullRequestContainer tests :100:
smashwilson 6070c5f
add test for new open reviews button in checked out PR issueish list …
vanessayuenn eec5876
why is it even called istanbul and not izmir though
vanessayuenn f31a46c
Adjust position in EditorCommentDecorationsController based on file t…
kuychaco 70ad909
Don't update EditorCommentDecorationsController
kuychaco 615c3ab
Revert "fallback when comment translations are not provided"
kuychaco 343ea7d
Use file translation in ReviewsView
kuychaco e17b22b
WIP update fileTranslation map upon saving
kuychaco 18779be
Use published whats-my-line npm package
kuychaco 5544ea7
"retry" is null while loading
smashwilson 2a33311
add opens reviews test for IssueishListController
vanessayuenn 9e1dbb9
Manage TextEditor event subscriptions in CommentDecorationsContainer
smashwilson 6e22622
Extract CommentPositioning "info" objects into a class
smashwilson 247eca7
Bring translationDigestFrom() up to date
smashwilson b310091
Back out the invalidateCachedDiffForFile() repository method
smashwilson 92f1ce3
include selected tab in URI serialization test
vanessayuenn 7b91069
should make sure the state is set before switching tab
vanessayuenn 97c530e
[WIP] add tab navigation tests
vanessayuenn f41b958
finish up issueish tab navigation tests
vanessayuenn 29f3f2c
clean up after yourself
vanessayuenn e71dfaf
dammit .only
vanessayuenn b7fb1be
Generate correct cache keys for getDiffsForFilePath()
smashwilson 1cfecf4
pass `workingDirectory` prop to `IssueishListController`
9347c0e
buybye console logging
b4a72d4
Manage Marker positions within EditorCommentDecorationsController
smashwilson 8001085
Use a model observer to collect diffsused for comment positioning
smashwilson 1eee51f
Remove the manual positioning update trigger function
smashwilson 51046dc
Remove updateTranslations callers
smashwilson 0cae1dd
:art: use consistent button style & copy for "Start a review"
vanessayuenn 99e7a7b
fix `ReviewsView` tests
545382f
:shirt:
1befa6b
Select <a> element in empty state
smashwilson 9f20f76
Respect initThreadID and scrollToThreadID on mount
smashwilson 2d74556
Re-jump to a thread
smashwilson 6e5ea4a
"delete PR review" mutation
smashwilson c206c19
GraphQL builder fields for delete review mutation
smashwilson 3d6ec89
Include path and position in optimistically updated review comment
smashwilson 0c66f54
Delete a temporary pending review if comment submission fails
smashwilson f19ffb2
Account for Windows path separators
smashwilson f771cbf
No longer need to install the SSH key
smashwilson 150b8b5
only get new file positions for checked out pull requests
591160f
use comment position instead of the translated line number when deali…
vanessayuenn d4dd504
don't try to update filePatches that don't exist
71f01f2
Return the Disposable created by props.relay.refetch
smashwilson 56e0280
Cancel a refetch in progress when the ReviewsItem is closed
smashwilson 8eb5140
fake news!
vanessayuenn 09ae950
Return "null" and log invalid getBufferRowForDiffPosition calls
smashwilson d24d587
getPreviewPatchBuffer() returns an empty buffer for invalid arguments
smashwilson 35f3daf
Skip review threads with unmappable paths or positions
smashwilson 037045b
Ignore requests to scroll to unrecognized files and positions
smashwilson cc3451c
:knife: unused PullRequestReviewCommentThreadView
smashwilson 2689465
Support the undocumented "exclusive" marker property
smashwilson 6b10320
Mark the entire buffer row of a row that contains a comment
smashwilson 24d6e37
Mark the entire row for the CommentGutterDecoration
smashwilson 3c29644
Submit the current reply comment with (cmd|ctrl)-enter
smashwilson 4f9498c
:fire: unused import
smashwilson bea74db
Drill the command registry to CommentDecorationsController
smashwilson d38a4bf
Open the Reviews tab with a command
smashwilson 3ab2ee7
Keybindings and menus, oh my
smashwilson c035602
Remove .is-focused styling from atom-text-editor
smashwilson 87ddaac
Include an (empty) reaction group in the optimistic comment response
smashwilson 58d5f93
use the button color instead for comment highlight border
vanessayuenn 3eb7049
add a nice glowy border to emphasize the highlight
vanessayuenn 2fd4db4
i think this `transition-duration` property gets overridden anyway
vanessayuenn 0322a78
we don't actually use the check mark to indicate resolved comments an…
vanessayuenn 1fb2af2
clean up unused css classes
vanessayuenn f670b75
prefers `em` over `px` whenever possible 🤔
vanessayuenn 7d15d71
Remove unused GraphQL fields
smashwilson 60407c8
Remove unused fetchParams entry
smashwilson f9c9a39
Remove unused method
smashwilson 1953be7
Use a method to derive typename instead of getDerivedStateFromProps()
smashwilson b77aa70
Accept an object for IssueishDetailItem.buildURI()
smashwilson 9e46359
Rename setState() variable
smashwilson 8c80810
Use a didFailComment callback to restore the body of a failed comment
smashwilson 62faa80
:fire: unused import
smashwilson 8e6e37c
Describe the commentTranslations structure with a comment
smashwilson 7d7a289
Refactor getTranslatedPosition() out of renderReviewCommentThread()
smashwilson c289ff0
Remove TODO
smashwilson bea411b
ReviewsItem.buildURI() accepts an options object
smashwilson 141bbfc
make copying works for all `GithubDotcomMarkdown` components
vanessayuenn fe291a9
Supply a default value for selectedTab when building a URL
smashwilson d8a947d
Prevent PullRequestPatchContainer from calling setState after unmount
smashwilson a146aff
Pass props recovered from the StubItem to support deserialized state
smashwilson 984144b
Move IssueishDetailItem selected tab state into the item
smashwilson c1842ff
Deserialize the selected tab
smashwilson 88b2b96
Pass selectedTab from state properly
smashwilson f5f7b57
No need for that onTabSelected() call
smashwilson 27b4f2e
Place the cursor on the comment line in the MFP View :ok_hand:
smashwilson 9a4d0bf
Unbreak tests
smashwilson 7a3a14b
Intentionally skip deleted and hidden files when placing diff comments
smashwilson b292c04
Actually pass {bypassReadOnly: true} when setting text
kuychaco 1570afe
:fire: unused data-diff attribute
kuychaco 229acd5
Render the "add emoji" button when no reaction groups are present
smashwilson c7adcb4
Set reactionGroups to [] on optimistically rendered PR review comments
smashwilson dcd0ad6
:scissors: stale comment
smashwilson File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
nit: would it make sense to use
forEach
instead ofmap
here to avoid having to return null?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.
We'd have to implement
.forEach()
onRefHolder
first (editorHolder isn't an Array). eslint goes purely by the method name, not the receiver type, so it doesn't know the difference. Just a RefHolder API thing that i've never gotten around to smoothing over.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.
ah ok cool makes sense!