Skip to content

fix(SOF-8040): treat jobId as an optional filter when locating unit properties - #11

Open
VsevolodX wants to merge 2 commits into
mainfrom
feature/SOF-8040
Open

fix(SOF-8040): treat jobId as an optional filter when locating unit properties#11
VsevolodX wants to merge 2 commits into
mainfrom
feature/SOF-8040

Conversation

@VsevolodX

@VsevolodX VsevolodX commented Aug 29, 2026

Copy link
Copy Markdown
Member

SOF-8040 — one of four PRs; see the others in rupy, web-app, standata.

ExecutionUnitViewer is rendered by @mat3ra/workflow-designer through @mat3ra/wove, and neither forwards a jobId. Both property lookups required one, so in the webapp it was always undefined:

  • the Notebook and Lab tabs rendered as <a target="_blank"> with no href, so clicking them did nothing
  • getMonitorsFromProperties returned [] for every unit, which also removed the convergence Charts tab

Confirmed by reading the live React fiber props on a running job: {unitStatus:"active", unitRep:0, execName:"jupyter", propsCount:1} with jobId absent, and the matching property present in jobProperties.

Callers already fetch jobProperties for a single job and unit flowchart ids are unique within one, so jobId only ever narrowed. It stays as the first parameter, now optional, and the job id is taken from the matched property when absent — so no call site reorders and the existing tests are untouched.

Verified: 21/21 tests pass (20 existing + 1 new), and the fixed resolver returns both URLs when fed the real property document from Mongo with jobId undefined. Not seen rendering in a browser.

Note: npm install fails on mainpackage.json:54 pins @mat3ra/mode to a wip- tarball that 404s — so CI cannot reach the test step here. Pre-existing and unrelated to this change.

🤖 Generated with Claude Code

VsevolodX and others added 2 commits August 31, 2026 20:03
…lease]

@mat3ra/ide, @mat3ra/made and @mat3ra/mode were pinned to wip release tarballs
that cleanup-wip-releases.yml has since deleted, so `npm install` 404s and CI
cannot reach the test step on any branch, main included. None of the three is
imported by ave's source. Repinned to the latest published versions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ExecutionUnitViewer is rendered through @mat3ra/workflow-designer and
@mat3ra/wove, neither of which passes jobId, so the ternary always took the
undefined branch and both tabs rendered without an href. The matched property
carries the job id, so the parameter is only a filter.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
return jobProperties.find((p) => {
return (
p.source.info.jobId === ctx.jobId &&
(!ctx.jobId || p.source.info.jobId === ctx.jobId) &&

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove handling jobId here and just pass the notebookURL directly? The job logic should be in jode, jove, job-designer - one of those

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants