-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate folder caching into web-app #388
Conversation
Random note about some code changes. I opened #385 pretty recently, but I actually ended up using lodash here since it was available and I wanted to check deep equality between FolderVOs to prevent rerenders. So maybe we should just close that issue for now? |
8be9f57
to
e4a1286
Compare
3afed8e
to
bdb3e70
Compare
bdb3e70
to
bfe2ab6
Compare
Wrap the PermanentFilesystem in a new service so that it can be used throughout the application. Then use it throughtout the application where we are fetching folders. PER-9468: Integrate filesystem caching system (folder navigate)
The FileListComponent would refresh the folder contents after it was initialize. This is not necessary since it is handled by the PermanentFilesystem now. PER-9468: Integrate filesystem caching system (folder navigate)
A flash of unloaded thumbnails would sometimes be visible when navigating to folders since the behind-the-scenes cache update would end up triggering a rerender of the file list. Prevent this by only triggering an update to these values when the fetched folder differs from the cached value. PER-9468: Integrate filesystem caching system (folder navigate)
This file doesn't have the prettier format pragma on it. Also it has some unused imports. Get rid of them too. PER-9468: Integrate filesystem caching system (folder navigate)
Auto fixed with eslint
The RecordVO constructor was changed in commit a1f3250. Update the call to the constructor in the FolderVO constructor. PER-9468: Integrate filesystem caching system (folder navigate)
bfe2ab6
to
3a64b86
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Followed your instructions @meisekimiu and everything looked good to me! And share and public folders are working as expected too. Thanks!
This PR actually integrates the previously hidden PermanentFilesystem class into the application. This is done by creating the
PermanentFilesystemService
, a wrapper service that allows this functionality to be imported into other modules across the application. The service also provides the proper implementation of theFilesystemApi
interface, which wraps around theApiService
and processes theFolderResponse
automatically.Steps to test:
navigateLean
response has not finished.navigate
API calls, or large shifts in UI after the API calls finish.