Comments (10)
Agreed with @ericson.ds999, we don't need to broke this job to steps, it can be a 1 big bulky zip and unzip job that does it thing through the library. I don't think pausing it or remembering where it is makes sense here too. Let's not make this complicated and keep it as simple as possible. It just needs work.
from spacedrive.
I don't think that this job can be broken in steps at all. Steps are only needed when we can interrupt the job to be resumed later, which isn't the case. But the new task system enables periodically pauses with a mutable state between them. Without the restriction of being needed to be serializable. On a compression task we would be able to pause it in memory, but if the app was closed, it would need to be started from the beginning.
from spacedrive.
Oh sorry I missed that part, thanks @brxken128! Do you know about this @ericson.ds999?
from spacedrive.
and the current job system doesn't allow for a mutable object to be shared between job steps (which is what the zip crate would require)
from spacedrive.
Why is this blocked?
from spacedrive.
Yeah, we still need zip-slip protection as well as special path handling on Windows (most likely), and the current job system doesn't allow for a mutable object to be shared between job steps (which is what the zip crate would require).
from spacedrive.
As mentioned on Slack, plan is to use a already ready zip crate
from spacedrive.
Might not be blocked but not a priority atm.
from spacedrive.
I'm pretty sure this is still not possible given the current state of the job system. I will look further into it, but we need a mutable state which is not serialised. Maybe a serde(skip)
will work, but the job will not be resumable at all.
from spacedrive.
I'm currently unable to continue with this as we're not able to mutably share objects between job steps, when the objects in question cannot be serialized/deserialized.
from spacedrive.
Related Issues (20)
- Toggling the Inspector in Media View doesn't consistently resize the thumbnail grid. HOT 2
- Quick Preview Causes Incorrect UI Layout
- Watcher panicked after editing file HOT 1
- spacedrop() is missing error handling
- Missing error handling for Tunnel methods
- Missing error types for QuicTransport methods
- "Address family not supported by protocol" HOT 2
- [OneDrive] File list cannot be synchronized with Explorer HOT 3
- "New Update Available" toast not disappearing after update HOT 9
- Spacedrive suddenly crashes on Windows 11 HOT 2
- macOS version 0.3.0 downloads contain still version notation 0.2.13 HOT 1
- Pinned app icon in taskbar is lost after every update in Windows 10 HOT 3
- Failed to add location
- Tabs mask top most text in Settings
- [Feature] Column view for file explorer HOT 8
- Desktop entry fails to get created on Arch AUR install HOT 1
- Segfault on Nvidia with X11 HOT 12
- Quick preview audio player does not reappear after switching to non-audio file and back. HOT 1
- Discord invite on app first launch expired HOT 1
- Trash isn't opening on Linux HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spacedrive.