Skip to content

fix(files): update loading behavior when changing location - #63166

Open
luka-nextcloud wants to merge 4 commits into
masterfrom
fix/files-list-loading
Open

luka-nextcloud wants to merge 4 commits into
masterfrom
fix/files-list-loading

Conversation

@luka-nextcloud

@luka-nextcloud luka-nextcloud commented Aug 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Improves the loading state handling and user experience when navigating in the files list. Ensure that loading indicators are displayed appropriately and that the UI does not show stale or confusing content during transitions.

Checklist

@luka-nextcloud
luka-nextcloud requested review from a team and skjnldsv as code owners August 11, 2026 17:03
@luka-nextcloud
luka-nextcloud requested review from kristian-zendato and susnux and removed request for a team August 11, 2026 17:03
@luka-nextcloud
luka-nextcloud force-pushed the fix/files-list-loading branch from 8a27ba8 to 01cba5d Compare August 11, 2026 17:04
@github-project-automation github-project-automation Bot moved this to 🧭 Planning evaluation (don't pick) in 📝 Productivity team Aug 11, 2026
@luka-nextcloud luka-nextcloud moved this from 🧭 Planning evaluation (don't pick) to 👀 In review in 📝 Productivity team Aug 11, 2026

@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.

This is a sensible area of changes, please add proper tests for the changes behavior (playwright). Moreover this was designed behavior back then to not block users from usage during long running loading. For example the search view should not blank just because the search is in progress.

So besides that point this must get UX approval from designers, because IMHO this is now worse UX than the behavior it tries to fix.

Currently:

  • Folder contents A
  • navigate
  • Folder contents A + loading indicator
  • Folder contents B

With this changes:

  • Folder contents A
  • navigate
  • Blank view + loading indicator
  • Folder contents B

@luka-nextcloud
luka-nextcloud force-pushed the fix/files-list-loading branch from 01cba5d to dfa612f Compare August 24, 2026 07:43
@luka-nextcloud
luka-nextcloud requested a review from susnux August 24, 2026 07:45
@susnux

susnux commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

But this still blanks the table content and shows the loading spinner within the table.
This is not what was said on the issue, the loading spinner within the table is only for new views or initial load.
But when changing folders the top bar loading spinner should be used to be still able to cancel the loading by interacting with the list:

grafik

Ideally with the "de-saturation" of the table content as shown in the mockup by @kra-mo

@joshtrichards joshtrichards added design Design, UI, UX, etc. 2. developing Work in progress feature: files labels Aug 28, 2026
Comment thread apps/files/src/components/VirtualList.vue Outdated
Signed-off-by: Luka Trovic <luka@nextcloud.com>
…tion

Signed-off-by: Luka Trovic <luka@nextcloud.com>
Signed-off-by: Luka Trovic <luka@nextcloud.com>
Signed-off-by: Luka Trovic <luka@nextcloud.com>
@kra-mo

kra-mo commented Sep 11, 2026

Copy link
Copy Markdown
Member

Can someone attach a screen recording? My test env is still broken haha

@luka-nextcloud luka-nextcloud removed the 2. developing Work in progress label Sep 14, 2026
@luka-nextcloud luka-nextcloud added the 3. to review Waiting for reviews label Sep 14, 2026
@luka-nextcloud

Copy link
Copy Markdown
Contributor Author

Can someone attach a screen recording? My test env is still broken haha

demo.webm

@skjnldsv skjnldsv left a comment

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.

Sorry, but I really dislike this, that make the ui unresponsive, while before you could still do operation on files while you browsed away. I'm against this UX change

@skjnldsv

skjnldsv commented Sep 22, 2026 •

Copy link
Copy Markdown
Member

gave it more thought, and I really don't think blocking the list is the right fix here. The current behavior is intentional: we show the cached listing and update changed rows in the background (stale-while-revalidate).
⚠️ Folders rarely drastically change between visits ⚠️, so this makes the common case slower to handle a rare one. It also doesn't guarantee fresh data, since the listing can change right after loading anyway.

If we reaaaally want to handle stale data, I'd suggest:

  • Check the folder ETag first. If unchanged, show nothing.
  • Only show a loading state if the cache is missing or older than X minutes.

See also Fluent 2 and Primer on non-blocking loading states. I'd like design to weigh in before we change this.

image

@susnux

susnux commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

@skjnldsv this is not about a view that we just refresh its about navigating into a view we do not have at all cached.

@skjnldsv

Copy link
Copy Markdown
Member

@skjnldsv this is not about a view that we just refresh its about navigating into a view we do not have at all cached.

Then I completely misunderstood, very sorry :)
If so, how about placeholders instead?

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

Labels

3. to review Waiting for reviews design Design, UI, UX, etc. feature: files

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

UX Improvement: Files app: The files grid should be blur or disabled when navigating

6 participants