Skip to content

refactor: replace legacy icon classes in apps already on Vue 3 - #65537

Open
skjnldsv wants to merge 7 commits into
masterfrom
refactor/vue3-apps-legacy-icons
Open

skjnldsv wants to merge 7 commits into
masterfrom
refactor/vue3-apps-legacy-icons

Conversation

@skjnldsv

@skjnldsv skjnldsv commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

Summary

Same as #65536 for the apps that are already on Vue 3, one commit per app: icon-loading* becomes NcLoadingIcon, the other icon-* classes become MDI icons.

  • comments: spinners on first load, loading more, and editing or deleting a comment
  • updatenotification: spinner, collapse arrows of the app lists, info icon on the changelog link
  • user_status: spinner of the predefined statuses
  • weather_status: pencil on the custom address input
  • settings: rename, revoke and wipe actions of app passwords
  • files: the "Creating file" overlay of the template picker
  • core: filter actions and "Load more results" spinner of the legacy unified search

Two of these were broken since the Vue 3 migrations. The template picker overlay was empty, because NcEmptyContent has no icon prop and no default slot anymore in nextcloud-vue 9. The "Load more results" spinner never showed: the view passed :iconClass while LegacySearchResult only has an icon prop, and loadMore() never set the loading state in the first place. Neither is on stable35, so no backport.

What's left out: icon-user in the comments mention data, since NcRichContenteditable requires an icon class there, and the result icons of the legacy unified search, which come as classes from the search providers.

Before After
Template picker, creating a file
Legacy search, loading more
Legacy search, filters
Update, checking apps
Update, app lists
Update, up to date
Status message
Weather, custom address
App password actions

No screenshot for comments: the Comments sidebar tab doesn't load comments at all right now, that's a separate bug.

Checklist

AI (if applicable)

  • The content of this PR was partly or fully generated using AI

👾 This pull request was assisted by Claude Code, commits carry an Assisted-by trailer.

@susnux susnux left a comment

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.

Approve for the icons, but really unsure about the "tests".

Not really sure about the usefulness of this tests, looks like something AI did because it was asked for any test, but nothing that really tests something meaningful.
Why? Because this heavily mocks things and then expects some specific CSS classes that easily can break at library updates just for a "visual" test. Moreover it plugs into the components private implementation for doing so.

Meaning I am not sure those tests have any benefit, if they turn red it probably just means dependency has changed and tests need to be adjusted, but not that the code itself broke.
So this is more of the category: tests for the tests sake and nobody will update them, except for blindly added AI updates.

From my point of view the tests are really low quality and look like most of our PHP unit tests, which really only test the implementation, not the function.

@skjnldsv

Copy link
Copy Markdown
Member Author

@susnux , definitely an AI oversight! Sorry I haven't had a deeper look yet as I was mostly waiting on the main PR: #51702

But this is a 100% generated PR 👍

Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: John Molakvoæ <14975046+skjnldsv@users.noreply.github.com>
Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: John Molakvoæ <14975046+skjnldsv@users.noreply.github.com>
Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: John Molakvoæ <14975046+skjnldsv@users.noreply.github.com>
Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: John Molakvoæ <14975046+skjnldsv@users.noreply.github.com>
Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: John Molakvoæ <14975046+skjnldsv@users.noreply.github.com>
…plate

Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: John Molakvoæ <14975046+skjnldsv@users.noreply.github.com>
Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: John Molakvoæ <14975046+skjnldsv@users.noreply.github.com>
@skjnldsv
skjnldsv force-pushed the refactor/vue3-apps-legacy-icons branch from e6d4671 to 5f8acdc Compare October 17, 2026 15:05

This branch has not been deployed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants