Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@cuvent/react-native-better-tus-client

Package Overview
Dependencies
Maintainers
3
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cuvent/react-native-better-tus-client

A (better & up-to-date) tus client for react-native with background upload support

  • 0.2.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
7
Maintainers
3
Weekly downloads
 
Created
Source

react-native-better-tus-client

A (better & up-to-date) tus client for react-native with background upload support

Installation

npm i --save @cuvent/react-native-better-tus-client

Make sure to configure CI servers to have access to the repo.

Setup:

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.

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.
Modify the auto-resume behavior / max uploads at a time in parallel mode

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();
  }
}

Usage

// TODO

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

Keywords

FAQs

Package last updated on 02 Mar 2021

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc