Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
@cuvent/react-native-better-tus-client
Advanced tools
A (better & up-to-date) tus client for react-native with background upload support
A (better & up-to-date) tus client for react-native with background upload support
npm i --save @cuvent/react-native-better-tus-client
Make sure to configure CI servers to have access to the repo.
Both on android and iOS the default concurrency mode is in-sequence, which means that one upload will be processed after each other. This behavior can be changed on android.
To change the concurrency mode in android change the config from e.g. you MainApplication's onCreate
:
@Override
public void onCreate() {
super.onCreate();
BetterTusClientConfig.INSTANCE.getConfig().setConcurrencyMode(ConcurrencyMode.PARALLEL);
// ...
}
Two modes are available:
ConcurrencyMode.PARALLEL
executes all uploads in parallel. Good when you only process a few uploads.ConcurrencyMode.SEQUENCE
(Default) executes one upload after another. Good when you have a lot of uploads
and want to make sure that each upload gets processed without timeouts or similar.These changes are only needed if you want to change the auto-resume and concurrency behavior of the uploading queue
When you apply these changes the queue won't automatically resume on app start. You need to call
resumeAll
to continue with the uploading of prior uploads.
Add the to your AndroidManifest under the Application
tag. Note: You probably need to add the tools
namespace to your manifest definition:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
xmlns:tools="http://schemas.android.com/tools">
<provider
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="${applicationId}.workmanager-init"
tools:node="remove" />
This enables on-demand initialization of the worker manager, which improves the app startup time + gives the possibility to configure the worker manager on our own.
In your Application class implement the Configuration.Provider
interface, like so:
import androidx.work.Configuration;
import java.util.concurrent.Executors;
class MainApplication extends Application implements Configuration.Provider {
//...
@NonNull
@Override
public Configuration getWorkManagerConfiguration() {
return new Configuration.Builder()
.setExecutor(Executors.newFixedThreadPool(2)) // you can set here the number of concurrent worker (= uploads per time)
//.setExecutor(Executors.newSingleThreadExecutor()) // use this to have a sequential upload queue --> use concurrencyMode SEQUENCE for this!
.build();
}
}
// TODO
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT
FAQs
A (better & up-to-date) tus client for react-native with background upload support
The npm package @cuvent/react-native-better-tus-client receives a total of 17 weekly downloads. As such, @cuvent/react-native-better-tus-client popularity was classified as not popular.
We found that @cuvent/react-native-better-tus-client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.