feat(migration): move API & UI to new my - #746
Draft
edospadoni wants to merge 13 commits into
Draft
Conversation
edospadoni
marked this pull request as draft
April 23, 2026 08:38
This was referenced Apr 23, 2026
This was referenced Jul 3, 2026
Member
Author
|
Added the hotspot login via My Nethesis ( |
edospadoni
force-pushed
the
feat/backup-my-api
branch
from
July 20, 2026 13:32
2232920 to
c6afb3a
Compare
Switches the Backup/Restore views off the legacy backupd shape and
onto the my-native JSON produced by collect.
- Backup listing types + templates now read uploaded_at (RFC3339) and
filename; the epoch-seconds `created` / `name` fields are gone.
- DownloadBackupModal parses uploaded_at as an ISO string and reduces
it to an epoch-second integer for the generated filename, dodging
the colons that crash some file systems.
- DeleteBackupModal checks the normalized {message: 'success'} reply.
- RunBackupModal wires @secondary-click so the Close button actually
closes the modal (the "x" was the only working path before).
- BackupContent refreshes the backups store after SetPassphraseDrawer
succeeds, so the "Passphrase not configured" warning and the
disabled Run-backup state flip without a full page reload.
- RestoreContent: when the selected backup (or uploaded file) ends
in .gpg the Passphrase input loses its "Optional" tag and becomes
required with validation focus, since the restore will otherwise
fail on GPG decrypt mid-flight.
Migrated (enterprise) units now display the my system key (NETH-...) as System ID, a fixed "Nethesis Enterprise" plan and the organization as a new Company field. Community units are unchanged (branch on subscription type).
Show a specific message when the system is already registered (token cannot be reused), and warn in the cancel modal that cancellation is irreversible for the token.
Render the enterprise system_url (threaded from ns.subscription info) as a 'View system on portal' link under the System ID.
Replace the primary hotspot login with a My Nethesis button that runs the OIDC device pairing in a popup and polls the unit until the token is picked up; the classic credentials form moves under a collapsed Legacy login section. Show account, user and manager of the linked unit above the configuration; handle popup blockers, managers without OIDC support and transient manager errors (with one retry after the pairing).
Offer the My Nethesis login only on enterprise-subscribed units (the subscription store now exposes isEnterprise and the page reloads it on every visit); community units keep the plain manual form. The two ways to authenticate are now titled sections separated by an "or" divider, with the manual form always visible. The button uses the branded 'n mark (new asset) with the spinner on the right and the waiting notice below; the linked account summary becomes a dashboard-style card with the manager host as a link. Left-align the Login and Save actions.
Type the OIDC login catch as unknown instead of any, keeping the suppressions baseline for this file unchanged.
edospadoni
force-pushed
the
feat/backup-my-api
branch
from
July 27, 2026 09:59
2cacc72 to
5b489e2
Compare
Split the account/session status card and the unregister action out of the hotspot configuration form into a dedicated "Hotspot connection" section, shown as soon as the unit is logged in rather than only after the hotspot is fully configured.
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.
Summary
Switches the Backup/Restore views off the legacy
backupdshape and onto themy-native JSON produced bycollect, following the appliance-side cutover in NethServer/nethsecurity#1609.uploaded_at(RFC3339) andfilename; the epochcreated/namefields are gone.DownloadBackupModalparsesuploaded_atand reduces it to an epoch-second integer for the generated file name, dodging the colons that crash some filesystems.DeleteBackupModalchecks the normalized{message: 'success'}reply.RunBackupModalwires@secondary-clickso the Close button actually closes the modal (only the "x" worked before).BackupContentrefreshes the backups store afterSetPassphraseDrawersucceeds, so the "Passphrase not configured" warning and the disabled Run-backup state flip without a full page reload.RestoreContent: when the selected backup (or uploaded file) ends in.gpg, the Passphrase field drops its Optional tag and becomes required with validation focus, since the restore would otherwise fail mid-flight on GPG decrypt.Blocking / coordination
Warning
Do not merge this PR until the appliance-side cutover lands.
The new
my-native JSON shape is produced only once the companion cutover (NethServer/nethsecurity#1609) is deployed on the appliance; on a device still talking tobackupd, the old fields (created,name) are missing and the views break.Requires in order:
mybackend + collect + UI + security hardening + DELETE route) merged and deployed to production.remote-backup+ns.backupontomy) merged and released.Tracking issue: NethServer/my#83.
Subscription page:

Hotspot page:
