Conversation
This extra step is necessary because pc2submit makes submissions via the Event Feed client; the packet handler for submissions doesn't send a RUN_RECEIVED to proxy clients like the EF client.
clevengr
requested review from
JoeTerlizzi,
SamanwaySadhu,
johnbrvc and
kkarakas
September 23, 2026 03:09
johnbrvc
reviewed
Sep 24, 2026
johnbrvc
left a comment
Collaborator
There was a problem hiding this comment.
See the question I have...
| controller.sendToJudgesAndOthers(confirmPacket, false); | ||
| Packet dupSubmissionPacket = PacketFactory.createRunSubmissionConfirmation(contest.getClientId(), fromId, run, runFiles); | ||
| controller.sendToServers(dupSubmissionPacket); | ||
|
|
Collaborator
There was a problem hiding this comment.
What happens if this run was submitted via the shadow/RemoteRunSubmitter.submitRun() from shadow/RemoteEventFeedMonitor.run()? That is, PC2 is acting as a shadow? Where does that notification that was added wind up?
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description of what the PR does
Adds an extra step to
PacketHandler.runSubmission(...), which is the method invoked when a Run is submitted to the PC2 Server. The extra step is to check whether the submission came from a "proxy" (such as the Event Feeder client -- for example when thepc2submitPython script is used to submit a run) and if so to send aRunSubmissionConfirmpacket to the actual team client (that is, to the account that invokedpc2submit).This extra step is necessary because
pc2submitmakes submissions via the Event Feed client, and the packet handler for submissions doesn't send aRunSubmissionConfirmpackets to proxy clients like the EF client -- the result being that clients such as the WTI never get a notification of the run submission when it occurs via an invocation ofpc2submit. This in turn keeps the WTI from displaying runs which are "Pending".Issue which the PR addresses
Fixes #1278
Environment in which the PR was developed
Windows 11, java version "1.8.0_271", Chrome Version 149.0.7827.103, and Cursor Version 3.14.7 w/ LLM Grok 4.7
Precise steps for testing the PR
pc2submitscript).clics_sumithellocontest.Timestab to start the contest runningStartbutton to start the Event Feed webserver running.projects>WebTeamInterface-1.2zip file; then in the resulting folder enter the command./bin/pc2wtiat a command prompt).http://localhost:8080)Submit Problem, then select any problem, any language, and any (text) file and clickSubmit.Runsscreen, underJudgement, shows the submission asPending.Run Contest>Runsscreen and verify that TWO runs areQueued_for_computer_judgement(one is the first one you submitted above via the WTI; the second is the one you submitted usingpc2submit).Runsscreen; verify that there are TWO runs, both showing "Pending" under "Judgement".Run Contest>Runsscreen, select the first run (the one submitted via WTI), clickEdit, change the Run Status toJUDGED, change theJudgementto any judgement, check theNotify Teamcheckbox, and clickUpdate.Runsscreen, verify that the run status changes to whatever judgement you assigned, and that there is still a second run showing "Pending".pc2submit), clickEdit, change the run Status toNew, and clickUpdate.Request RunthenExecute Run.Test Resultsscreen and then select eitherAccept Validatoror select a different judgement and clickAccept Selected. (Be sure theNotify Teamcheckbox is checked.)Runsscreen, verify that the second run now has the judgement you assigned.