Code Monkey home page Code Monkey logo

transloaditkit's People

Contributors

acconut avatar donnywals avatar elvirion avatar kvz avatar mmasterson avatar nqst avatar tjeerdintveen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

transloaditkit's Issues

Add Transloadit-Client header

All SDKs should include the Transloadit-Client header for every Transloadit-related request they are sending (tus excluded). This is helpful for our support, so we can easily identify which SDKs in which version they are using.

For example, here is how the Java SDK does it: https://github.com/transloadit/java-sdk/blob/4a631daa808e4ebf58ea9e30855cde1c5ddd555c/src/main/java/com/transloadit/sdk/Request.java#L74

The complete header with value should look like this: https://github.com/transloadit/java-sdk/blob/4a631daa808e4ebf58ea9e30855cde1c5ddd555c/src/test/java/com/transloadit/sdk/RequestTest.java#L68

error

transloadit.assemblyCreationFailureBlock = ^(NSDictionary* completionDictionary){
NSLog(@"Assembly creation failed: %@", [completionDictionary debugDescription]);
};

image
How to solve๏ผŸ๏ผŸ****

1.1.0 Release Goals

Goals before release of TransloaditKit 1.1.0

Changes to project

  • Remove Arcane dependency
  • Add Websockets
  • TUS Session networking tie-in
    • Open TUS's Networking
    • Transfer Transloadits calls to TUS Session
    • Remove Transloadits own Session

Support changes

  • Updated Examples
    • Swift Example
    • ObjC Example
    • Readme
  • Wiki Pages
  • Carthage Support

Launch TransloaditKit

Hey @MMasterson, as mentioned in slack, this is here mostly so we have a thread to follow progress and be able to see it in the project dashboard.

Todo

  • Have call with to kick things off
  • Get Travis tests on their feet: https://travis-ci.org/transloadit/TransloaditKit/builds/224287281
  • Create the Assembly right before starting the upload, so that you know the machine it runs on, and can upload to the tusd server on that same machine: e.g. https://api2-anurati.transloadit.com/resumable/files/. So if you do a
    > POST api2.transloadit.com/assemblies
    you get back an assembly_ssl_url in the resulting JSON body like:
    https://anurati.transloadit.com/assemblies/5bb26c001ad711e7a3cb9b5d337d8300. This contains the websocket_url and the tusd_url. You'll use the tusd_endpoint to post files to.
  • Pass the assembly_url as meta data to tus, vs the id as mentioned in the latest wiki over at https://github.com/tus/tusd/wiki/Uploading-to-Transloadit-using-tus
  • Poll assembly url json so and introduce the option to wait for the encoding/storing (vs fire & forget right after the upload concludes). Here are the status codes: https://transloadit.com/docs/api-docs/#27-response-codes
  • Verify we're using HTTPS by default everywhere
  • Add a screencast/demo
  • Rename to TransloaditKIT (i think? whatever you think is best here @MMasterson)
  • We'll skip the Billing & Template APIs for now, as our main target is ios devices and these have very low priority
  • Get README.md in line with our other SDKs. That means it has at least one:## Intro, ## Install ## Usage, ## Example (see https://github.com/transloadit/node-sdk#intro). @ifedapoolarewaju might be able answer questions / provide guidance here.
  • Check for more final statuses (REQUEST_ABORTED, ASSEMBLY_CANCELED, ASSEMBLY_COMPLETED and ASSEMBLY_CRASHED (not in "ok" key but "error"))
  • Add a travis test that does an integration test against our service testing the above, including the AssemblyStatus polling so it can check the dimensions on the resized image. Then we really know for sure ๐Ÿ˜„ (and get All travis tests passing ofc)
  • Use transloadit for podname, keep TransloaditKit as repo and project name, deprecate all other projects by stating that, and linking to the new
  • Debug why template creation hangs forever /cc @tim-kos
  • Debug why template creation fails /cc @tim-kos
  • Move out auth keys & secrets from Git, and into e.g. env files and Travis CI environment secrets (or something else secure that's idiomatic to Apple development)
  • More elaborate section how to use the project with examples in the README.md. Explain that you should roll your own filepicker code. Add an example that showcases working with Templates (this is the recommended way)
  • Write a Release Blogpost (the more technical background, the better)

Ideas for 2.0:

  • Use websockets to pass immediate assembly status update events, vs polling
  • Use the same networking between TusKit & TransloaditKit

Uploaded files have duplicated extension like .jpgjpg

after tus/TUSKit#95 was merged into TUSKit it introduced a bug where files uploaded with transloadit have duplicated filename extensions like filename.jpgjpg

To fix this in Assembly.swift you have to replace withPathURL.lastPathComponent with withPathURL.deletingPathExtension().lastPathComponent since TUSUpload expects the id to be without extension and the extension is supplied separately.

public func addFile(withPathURL: URL) {
        tusUpload = TUSUpload(withId: withPathURL.deletingPathExtension().lastPathComponent, andFilePathURL: withPathURL, andFileType: withPathURL.pathExtension)
    }

SDK examples

We need a better set of examples on how to use the SDK, since we are using your paid service. Our iOS developers are not clear as to how to use the SDK for templates.

We are using templates for our video/image uploads.

Can't compile in Swift due to non-modular header (CommonCrypto)

Trying to utilize this SDK with cocoapods as:

pod 'TransloaditKit', git: 'https://github.com/transloadit/TransloaditKit'

and trying to build a sample app with it causes the error:

Include of non-modular header inside framework module TransloaditKit/NSString+Utils.h (line 10)

Just to confirm, will this be the supported SDK going forward? What is the sunset period for the older SDK?

How to add custom fields

Using the SDK how do I add custom fields (like userid)?

All the documentation on the site uses Web App as an example but I'm not sure how to set them on iOS using Swift.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.