Skip to content

Men 9436#1831

Merged
mineralsfree merged 11 commits into
mendersoftware:mainfrom
mineralsfree:men-9436
May 19, 2026
Merged

Men 9436#1831
mineralsfree merged 11 commits into
mendersoftware:mainfrom
mineralsfree:men-9436

Conversation

@mineralsfree
Copy link
Copy Markdown
Contributor

No description provided.

@mineralsfree mineralsfree requested a review from a team as a code owner May 13, 2026 16:03
@mineralsfree mineralsfree force-pushed the men-9436 branch 3 times, most recently from 540aa52 to 6d74e0c Compare May 15, 2026 13:48
@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Contributor

@mzedel mzedel left a comment

Choose a reason for hiding this comment

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

looks pretty close 👍, just some small alignment questions + the tests (the e2e tests would be happy to see the friendlier upload used 😄

export const DefaultUpgradeNotification = props => (
<div {...props}>
This feature is not available on your plan. <Link to="/subscription">Upgrade</Link> to enable it
<span>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

why this? (+ the commit this is in doesn't align with the change)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

There was an issue with new Links that would cause it to render line by line; solved it differently

Comment thread frontend/src/js/common-ui/DocsLink.tsx Outdated
rbac: { id: 'rbac', path: 'overview/role.based.access.control' },
webhookSecret: { id: 'webhookSecret', path: 'server-integration/webhooks#signature-header' }
webhookSecret: { id: 'webhookSecret', path: 'server-integration/webhooks#signature-header' },
orchestratorManifest: { id: 'orchestratorManifest', path: 'orchestrate-updates/manifest' }
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🙏 slightly further up, to keep it sorted

maxWidth: '400px'
}
}));
const isYaml = (filename: string) => filename.endsWith('.yaml');
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

even though we reference .yaml I would expect both the upload and the processing to handle .yml too...

Comment on lines +218 to +225
<Typography className="margin-top-medium margin-bottom-x-small" variant="subtitle1">
Notes
</Typography>
<TextInput id="description" hint="Add notes here" InputLabelProps={{ shrink: true }} />
<Typography className="margin-top-medium margin-bottom-x-small" variant="subtitle1">
Tags
</Typography>
<ChipSelect className={classes.input} options={existingTags} name="tags" placeholder="Add Tags" forcePopupIcon={existingTags.length !== 0} />
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

for such sections the ContentSection component was meant to bring consistency

Suggested change
<Typography className="margin-top-medium margin-bottom-x-small" variant="subtitle1">
Notes
</Typography>
<TextInput id="description" hint="Add notes here" InputLabelProps={{ shrink: true }} />
<Typography className="margin-top-medium margin-bottom-x-small" variant="subtitle1">
Tags
</Typography>
<ChipSelect className={classes.input} options={existingTags} name="tags" placeholder="Add Tags" forcePopupIcon={existingTags.length !== 0} />
<ContentSection title="Notes">
<TextInput id="description" hint="Add notes here" InputLabelProps={{ shrink: true }} />
</ContentSection>
<ContentSection title="Tags">
<ChipSelect className={classes.input} options={existingTags} name="tags" placeholder="Add Tags" forcePopupIcon={existingTags.length !== 0} />
</ContentSection>

<Typography className="margin-top-medium margin-bottom-x-small" variant="subtitle1">
Notes
</Typography>
<TextInput id="description" hint="Add notes here" InputLabelProps={{ shrink: true }} />
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is supposed to be multiline ☝️
In the ManifestDetails this is a EditableLongText - if both would rely on this we could adjust the EditableLongText to match the design + other areas (IOW unify release & artifact details) in one go 😉

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I agree that multiline fits better for notes (description) here, but I decided to keep it as in the design for now (TextInput). The EditableLongText API is not compatible with TextInput now and it does not render as multiline anyway.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

https://www.figma.com/design/IbQQwOxnbYX0s3eb4MAUu8/Orchestrator--Creating-Manifests-in-the-UI?node-id=6134-51630&t=9Qhoyrh0xBpdE1WF-4 design says multiline, the other components use EditableLongText for multiline => if we refactor that one component we have it correct in all 3 places, with your change here that's not possible and we get more misalignment.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Created https://northerntech.atlassian.net/browse/MEN-9730 so we can hopefully align this in the coming sprint to close the "enablement epic"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thank you! It is not easy to notice those small footnote comments in a Figma file. 😬 Ok, I'll try to use EditableLongText without breaking anything

Comment on lines +119 to +121
useEffect(() => {
dispatch(getExistingManifestTags());
}, [dispatch]);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

could this also live in the ManifestsList as both will have to have the data anyway, but the ManifestDrawer is a child of the list/ to limit the duplicate request in case of a link to the manifest?

};

return (
<BaseDrawer open={open} size="sm" onClose={onClose} slotProps={{ header: { title: 'Upload a Manifest' } }}>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

is "sm" enough for this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

it works on my screen 😄 (switched to md)

onDrop={onDrop}
accept={{
'application/octet-stream': ['.mender'],
'application/x-yaml': ['.yaml']
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
'application/x-yaml': ['.yaml']
'application/yaml': ['.yaml', 'yml']

to align with https://www.iana.org/assignments/media-types/media-types.xhtml

@mineralsfree mineralsfree force-pushed the men-9436 branch 2 times, most recently from 962f43e to dc64606 Compare May 18, 2026 14:12
Ticket: MEN-9436

Signed-off-by: Mikita Pilinka <mikita.pilinka@northern.tech>
Ticket: MEN-9436

Signed-off-by: Mikita Pilinka <mikita.pilinka@northern.tech>
Ticket: MEN-9436

Signed-off-by: Mikita Pilinka <mikita.pilinka@northern.tech>
Ticket: MEN-9436

Signed-off-by: Mikita Pilinka <mikita.pilinka@northern.tech>
Ticket: MEN-9436

Signed-off-by: Mikita Pilinka <mikita.pilinka@northern.tech>
Ticket: MEN-9436

Signed-off-by: Mikita Pilinka <mikita.pilinka@northern.tech>
…performance

Ticket: MEN-9436

Signed-off-by: Mikita Pilinka <mikita.pilinka@northern.tech>
Ticket: MEN-9436

Signed-off-by: Mikita Pilinka <mikita.pilinka@northern.tech>
+ moved tag fetching to manifest list
Ticket: MEN-9436

Signed-off-by: Mikita Pilinka <mikita.pilinka@northern.tech>
Ticket: MEN-9436

Signed-off-by: Mikita Pilinka <mikita.pilinka@northern.tech>
+ added the reset on drawer close
Ticket: MEN-8205

Signed-off-by: Mikita Pilinka <mikita.pilinka@northern.tech>
Copy link
Copy Markdown
Contributor

@mzedel mzedel left a comment

Choose a reason for hiding this comment

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

the selector in the tests can surely be changed later on 👌

@mineralsfree mineralsfree removed the WIP label May 19, 2026
@mineralsfree mineralsfree merged commit 747d723 into mendersoftware:main May 19, 2026
2 checks passed
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