Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request adds a new "Jobs" tab to the Agent Edit view, providing a better overview of background jobs in Empire agents. The implementation includes a new component for displaying and managing background jobs, along with a new API endpoint for killing jobs.
Changes:
- Added a new "Jobs" tab in the AgentEdit component alongside existing tabs (Interact, Tasks, View, etc.)
- Created AgentJobs.vue component to display background jobs with auto-refresh functionality
- Added killJob API endpoint to terminate running background jobs
Reviewed changes
Copilot reviewed 3 out of 72 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/views/AgentEdit.vue | Added "Jobs" tab and imported AgentJobs component |
| src/components/agents/AgentJobs.vue | New component implementing jobs view with table, polling, and job management features |
| src/api/agent-task-api.js | Added killJob API function to send kill commands to background jobs |
| dist/* | Build artifacts from compilation |
| .gitignore | Updated to ignore dist/assets* files |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Reverts build artifacts, .gitignore modifications, and lockfile changes that were unintentionally included in the jobview branch. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
These files were added in intermediate releases and should not be part of the jobview PR. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace expensive getTasks polling loop with single-task polling via getTask(), matching AgentTerminal.pollJobsEndpoint pattern - Add loading guard to prevent concurrent refreshJobs calls - Match AnsiUp import/usage from AgentTasksTable (stripAnsi, isAnsi) - Add eslint-disable for v-html, rename headers to scopedHeaders - Add 'continuous' to job status filter so continuous jobs are visible - Add JSDoc to getJobs() in agent-task-api - Match mono/font styles from AgentTasksTable Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Guard expandedJobs[item.id] access in template with v-if to prevent TypeError when row is expanded before data is populated - Remove duplicate refreshJobs() call from mounted (the immediate watcher already handles initial load) - Guard formatDate against null input to show "N/A" instead of "Invalid date" for jobs without creator tasks - Add comment clarifying that agent's "Task ID" column represents background job/thread IDs, not Empire task IDs - Add comment explaining why styles are unscoped (needed for v-html) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix silent failures: polling timeout now shows error instead of empty table, transient poll errors tolerated (abort after 3 consecutive) - Use existing DownloadMixin instead of custom download methods - Use shared pause utility instead of local duplicate - Reuse single AnsiUp instance and replace full-string stripAnsi with efficient includes() check for ANSI detection - Add destroy guards to polling loop and clean up timeouts on unmount - Use recursive setTimeout for auto-refresh to prevent stacking - Handle both string and Error rejections in catch blocks - Consolidate duplicate job object construction with optional chaining - Add KILLABLE_STATUSES/ACTIVE_STATUSES constants for stringly-typed values - Clean up stale expandedJobs entries to prevent memory growth - Remove dead scriptImportLoading/scriptImportDialog data properties - Fix misleading comments and improve JSDoc Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
These files were changed by the original PR author's build environment but are unrelated to the Jobs tab feature. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Conflicts: # CHANGELOG.md # dist/assets/AgentTasksList-247b5396.js # dist/assets/Bypasses-9515ca1b.js # dist/assets/Bypasses-fbedc3d0.js # dist/assets/Bypasses-ff65b201.js # dist/assets/CredentialEdit-2be4e903.js # dist/assets/Credentials-0f6249dd.js # dist/assets/Credentials-b248041a.js # dist/assets/Credentials-d5c13096.js # dist/assets/ExpansionPanelFilter-0b03a2e3.js # dist/assets/ExpansionPanelSearch-510739da.js # dist/assets/ExpansionPanelSearch-a1395f50.js # dist/assets/ExpansionPanelSearch-a27256ce.js # dist/assets/ListPageTop-34375fa2.js # dist/assets/ListPageTop-affa2da8.js # dist/assets/ListPageTop-e87eaf4c.js # dist/assets/Notifications-2e171aba.js # dist/assets/Notifications-76bce783.js # dist/assets/Notifications-7c964838.js # dist/assets/PluginTasksList-47e13ccc.js # dist/assets/TechniqueChips-3a891171.js # dist/assets/TechniqueChips-5469484a.js # dist/assets/TechniqueChips-5d8527a9.js # dist/assets/Users-12abc363.js # dist/assets/Users-65d565cc.js # dist/assets/Users-9691dbec.js # dist/assets/bypass-api-473852be.js # dist/assets/bypass-api-51e401a7.js # dist/assets/bypass-api-b460392c.js # dist/assets/credential-module-5bdb810d.js # dist/assets/credential-module-9c2d3e1b.js # dist/assets/credential-module-c556dff4.js # dist/assets/malleable-api-8b867ade.js # dist/assets/malleable-api-bbd095c5.js # dist/assets/malleable-api-df01e8ce.js # dist/assets/module-api-223c5781.js # dist/assets/module-api-5408a9e9.js # dist/assets/module-api-e89e5061.js # dist/assets/stager-module-6ad351cf.js # dist/assets/stager-module-84e95f5c.js # dist/assets/stager-module-8fd5d6c8.js
The original PR included dist/ build artifacts from a different base. Reset to match main exactly so the PR only contains source changes. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.
added new jobview tab to have a better overview of bg jobs in empire agents.