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.
This adds support for pulling FTC data from the official FIRST api for match start and result post times. Note that the official FIRST api rules do not allow publishing an API key, so any users will need to request their own key and input it: I added a dialog that appears on first attempt at loading FTC matches for people to enter their credentials which then saves them in localstorage for future usage.

Because many larger FTC events run as two field events where the match on e.g. field 2 will be played before the results from the previous match on field 1 are ready and posted, the behavior from version 3 of the splitter, where it separately extracts the match play and the result post and then merges them together, is essentially a requirement for those FTC events to work right (otherwise every match video actually has two matches and two results in it). I therefore added an option for "Clip Match Results Separately" (I don't love the name-open to suggestions of better names) that when selected has the timing parameters of the old version (with match length automatically selected based on program). When in that mode, as with version 3, a user finds the start time of a match, marks that, and then autofill will fill in the match clip and results clip start times based on the start time.


I'm very open to suggestions to improve the UX on this part-it's not hard to use, but there's a lot going on which makes it a bit confusing.
I added react-viewport-list to make the event picker dropdown performant, as FTC has a lot more events than FRC and the naive implementation was unusably slow with FTC event counts. I also took the liberty of fixing some file-path related bugs that likely don't appear on windows, as I was working on a mac (the file separator on outputs and issues with loading the video for preview without using a proper
file://
URL).