Skip to content

feat(UI): Account wizard redesign#10030

Open
Rello wants to merge 1 commit into
masterfrom
feature/AccountWizard
Open

feat(UI): Account wizard redesign#10030
Rello wants to merge 1 commit into
masterfrom
feature/AccountWizard

Conversation

@Rello
Copy link
Copy Markdown
Collaborator

@Rello Rello commented May 14, 2026

closing #8822

  • Full replacement of old account wizard by QML implementation
  • All features need to be be available in the new version
  • Rework of the dependent sub-screens for proxy or advanced sync settings
  • removal of the old implementation
  • removal of the TOS related parts in the wizard, because this is handled by the "grand access" screen already
  • no other modals should be affected (e.g. account removal popup)

Tested:

  • none/enforce-multi-URL
  • no-proxy setting (should hide the button)
  • TOS active
  • [ ]

@Rello Rello moved this to 🏗️ In progress in 💻 Desktop Clients team May 14, 2026
@Rello Rello self-assigned this May 14, 2026
@Rello Rello added the design Design, UI, UX, etc. label May 14, 2026
@Rello

This comment was marked as outdated.

@kra-mo
Copy link
Copy Markdown
Member

kra-mo commented May 15, 2026

@kra-mo wdyt?

I mean, obvious points of feedback are that the input field should be as big as the "Log in" button and the side/bottom padding for buttons should be equal, plus the buttons on the first screen should all take up as much width as possible, like on the second screen. The "Authorize this device in the browser window that opened." string can also be removed and the icons made the same as on the mockup. The colors of the primary buttons also don't meet contrast requirements, I don’t know where this color is from.

Generally just getting it in-line with the mockup.

@kra-mo
Copy link
Copy Markdown
Member

kra-mo commented May 15, 2026

Plus the "Add Nextcloud account" window title can be made invisible on Mac here. Each screen should give you enough context on its own.

@Rello
Copy link
Copy Markdown
Collaborator Author

Rello commented May 15, 2026

Bildschirmfoto 2026-05-27 um 14 05 13 Bildschirmfoto 2026-05-27 um 14 26 45 Bildschirmfoto 2026-05-27 um 14 05 53 Bildschirmfoto 2026-05-27 um 14 06 43 Bildschirmfoto 2026-05-27 um 14 08 42

@Rello
Copy link
Copy Markdown
Collaborator Author

Rello commented May 27, 2026

@kra-mo can you re-check the current screenshots? if ok we will do win/linux also

@Rello Rello requested review from jancborchardt and kra-mo May 27, 2026 19:04
@Rello Rello added this to the 34.0.0 milestone May 27, 2026
@Rello Rello marked this pull request as ready for review May 27, 2026 19:04
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9995d5f252

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/gui/wizard/accountwizardcontroller.cpp Outdated
Comment thread src/gui/owncloudsetupwizard.cpp
Copy link
Copy Markdown
Member

@kra-mo kra-mo left a comment

Choose a reason for hiding this comment

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

Looks fine enough.

@Rello
Copy link
Copy Markdown
Collaborator Author

Rello commented May 28, 2026

implementing missing features like TOS and shares

@Rello
Copy link
Copy Markdown
Collaborator Author

Rello commented May 28, 2026

Multi-URL setting

Bildschirmfoto 2026-05-28 um 12 02 36

Connect to Share
Bildschirmfoto 2026-05-28 um 12 11 30

chatgpt-codex-connector[bot]

This comment was marked as outdated.

@mgallien

This comment was marked as outdated.

Copy link
Copy Markdown
Collaborator

@mgallien mgallien left a comment

Choose a reason for hiding this comment

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

the proxy popup is not being reset when closed and will open with the previous state if open again

@Rello
Copy link
Copy Markdown
Collaborator Author

Rello commented May 28, 2026

the proxy popup is not being reset when closed and will open with the previous state if open again

but should it? if you did the effort to enter e.g. a long password, you do not want to have it reset by making a wrong click

chatgpt-codex-connector[bot]

This comment was marked as resolved.

@Rello Rello force-pushed the feature/AccountWizard branch from 7eeeb50 to 2e9222f Compare May 28, 2026 12:02
chatgpt-codex-connector[bot]

This comment was marked as resolved.

@mgallien
Copy link
Copy Markdown
Collaborator

the proxy popup is not being reset when closed and will open with the previous state if open again

but should it? if you did the effort to enter e.g. a long password, you do not want to have it reset by making a wrong click

in classic real popup, you delete the first popup item and when opening the new one, you would only get default values (unless you explicitly save previous value and reuse them)
I would keep previous behavior to minimize the surprises (other such dialogs in desktop client do not reuse previous state)
I also forgot to mention that using a not real popup via qml may be an issue when selecting manual proxy mode because the enclosing window may be too small to display it correctly (see my snapshot)

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 68ff9bcfe3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/gui/wizard/qml/AccountWizardWindow.qml Outdated
Copy link
Copy Markdown
Member

@jancborchardt jancborchardt left a comment

Choose a reason for hiding this comment

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

Looks good to me from what you showed also in person @Rello! :)

The button text looks a bit large on Windows though?

@Rello Rello marked this pull request as draft June 1, 2026 06:57
@Rello
Copy link
Copy Markdown
Collaborator Author

Rello commented Jun 1, 2026

also forgot to mention that using a not real popup via qml may be an issue when selecting manual proxy mode because the enclosing window may be too small to display it correctly (see my snapshot)

do you have more details for me? I see it fits the window?

@mgallien
Copy link
Copy Markdown
Collaborator

mgallien commented Jun 1, 2026

latest Windows light mode screenshots
image
image
image

@mgallien
Copy link
Copy Markdown
Collaborator

mgallien commented Jun 1, 2026

@Rello just noticed a small issue when compared to the previous account wizard
it used to default to https scheme in case none are put in the server address text entry filed
the new one will default to http which we would prefer not to select by default (I guess)

@mgallien
Copy link
Copy Markdown
Collaborator

mgallien commented Jun 1, 2026

broken windows dark mode
image

@Rello
Copy link
Copy Markdown
Collaborator Author

Rello commented Jun 1, 2026

broken windows dark mode

Hello @kra-mo
now that we heavily customised the light mode to fit what we need, we loose the dynamics of dark/light switches.
I would suggest that we keep the only-light-mode.
the impact for the user is rather limited, but implementing dual mode might be more effort.
what do you think?

@kra-mo
Copy link
Copy Markdown
Member

kra-mo commented Jun 2, 2026

Dark mode is also an accessibility feature and we should not compromise on that.

@Rello
Copy link
Copy Markdown
Collaborator Author

Rello commented Jun 2, 2026

@kra-mo would this be sufficient?

Bildschirmfoto 2026-06-02 um 11 21 27 Bildschirmfoto 2026-06-02 um 11 21 51

@kra-mo
Copy link
Copy Markdown
Member

kra-mo commented Jun 2, 2026

Looks fine

@mgallien
Copy link
Copy Markdown
Collaborator

mgallien commented Jun 2, 2026

I missed it in previous snapshots
at least on windows
the input entry for the proxy port number looks weird
image
it renders 8080 in mathematics format which seems unexpected (at least for me)

@mgallien
Copy link
Copy Markdown
Collaborator

mgallien commented Jun 2, 2026

light and dark mode seemed correct
🎉

@mgallien mgallien marked this pull request as ready for review June 2, 2026 17:34
@mgallien mgallien force-pushed the feature/AccountWizard branch from 55bbcb1 to 7c172f1 Compare June 2, 2026 17:34
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 92cbcea255

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/gui/wizard/accountwizardcontroller.cpp
Comment thread src/gui/wizard/accountwizardcontroller.cpp Outdated
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 47461e1ce2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


spacing: 14

EnforcedPlainTextLabel {
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Import the tray label type before loading the wizard

Because AccountWizardWindow.qml is loaded directly by QQmlComponent, its imports must make every type in this file resolvable. EnforcedPlainTextLabel lives in src/gui/tray and the other wizard QML files import it with ../../tray, but this root file does not, so QML reports EnforcedPlainTextLabel is not a type and the account wizard component fails to instantiate when opening the redesigned setup wizard.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: aa870081b8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +73 to +74
if (canUseVirtualFiles()) {
_syncMode = VirtualFiles;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Avoid defaulting to experimental virtual files

On non-macOS/non-Windows builds where bestAvailableVfsMode() is the experimental suffix backend, canUseVirtualFiles() is still true, so this preselects VirtualFiles before the user reaches the sync-options page. Pressing Done then creates a virtual-files sync without the experimental warning/opt-in the legacy advanced page required; keep the default to classic sync except for the stable CfAPI/File Provider cases, or prompt before switching.

Useful? React with 👍 / 👎.

@Rello Rello force-pushed the feature/AccountWizard branch from d4b3975 to a942377 Compare June 3, 2026 19:13
Signed-off-by: Rello <github@scherello.de>
@Rello Rello force-pushed the feature/AccountWizard branch from a942377 to bb0c69e Compare June 3, 2026 19:16
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 3, 2026

Artifact containing the AppImage: nextcloud-appimage-pr-10030.zip

Digest: sha256:0e9824fb3c3b09f65f74600b0e8cb9a3ee2ae8638f51502c428acfc7347c1bbd

To test this change/fix you can download the above artifact file, unzip it, and run it.

Please make sure to quit your existing Nextcloud app and backup your data.

@Rello Rello enabled auto-merge June 3, 2026 19:52
@Rello Rello disabled auto-merge June 3, 2026 19:53
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Jun 3, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
2 Security Hotspots
16.6% Coverage on New Code (required ≥ 80%)
180 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

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

Labels

design Design, UI, UX, etc.

Projects

Status: 🏗️ In progress

Development

Successfully merging this pull request may close these issues.

5 participants