Giter Site home page Giter Site logo

textileio / photos Goto Github PK

View Code? Open in Web Editor NEW
240.0 20.0 22.0 99.95 MB

[DEPRECATED] Encrypted, secure, decentralized personal data wallet -- technology behind textile.photos

Home Page: https://www.textile.photos/

License: MIT License

JavaScript 3.83% Python 0.22% Java 2.23% Objective-C 9.80% Ruby 2.88% TypeScript 76.75% Shell 0.07% C 4.21%
mobile-app decentralized ipfs photos react-native encryption personal-data social-network backup

photos's Introduction

Textile Mobile

MIT License

Status

Throughput Graph

Where can I get it?

The textile.photos is still in private beta. Want to test out new features and get fixes before everyone else? Please add your email to our signup list and we'll get an invite out to you shortly. If you're interested in running your own Textile node, check out the core textile-go library.

Community Channel

Want to join our community discussion? Join us:

I have a problem with the Textile app

First, please search the open issues and closed issues to see if your issue has already been documented.

If you can't find an issue that matches what you're seeing, open a new issue and provide us with enough information to investigate further.

How can I contribute to Textile?

The CONTRIBUTING.md document will help you get setup and familiar with the source.

License

MIT

The MIT license grant is not for Textile's trademarks, which include the logo designs. Textile reserves all trademark and copyright rights in and to all Textile trademarks.

photos's People

Contributors

andrewxhill avatar asutula avatar balupton avatar carsonfarmer avatar dependabot[bot] avatar lexrus avatar msfeldstein avatar sanderpick avatar saranrapjs avatar textileio-machine avatar undercase avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

photos's Issues

Image uploads unreliable

Some work, others have errors, others are stuck in some intermediate state with the upload progress spinning or stalled at some value.

Handle Thread joining error correctly

Currently, prob due to no peers I see an error come back when accepting a thread invite,

2018-07-16 14:50:56.387 [info][tid:com.facebook.react.JavaScript] 'error', { error: 
   { [Error: failed to get block for QmTdt36G6RXktJ9UypUftiqGdogidNBmxwwNcHW39Jg3WB: context deadline exceeded]
     framesToPop: 1,
     code: '1',
     nativeStackIOS: 
      [ '0   TextilePhotos                       0x00000001032d4616 RCTJSErrorFromCodeMessageAndNSError + 134',
        '1   TextilePhotos                       0x0000000103263183 __41-[RCTModuleMethod processMethodSignature]_block_invoke_2.218 + 179',
        '2   TextilePhotos                       0x00000001031493a2 -[TextileNode acceptExternalThreadInvite:resolver:rejecter:] + 370',
        '3   CoreFoundation                      0x000000010a266ccc __invoking___ + 140',
        '4   CoreFoundation                      0x000000010a266b84 -[NSInvocation invoke] + 308',
        '5   CoreFoundation                      0x000000010a27f8d6 -[NSInvocation invokeWithTarget:] + 54',
        '6   TextilePhotos                       0x000000010326518c -[RCTModuleMethod invokeWithBridge:module:arguments:] + 2796',
        '7   TextilePhotos                       0x000000010331ac02 _ZN8facebook5reactL11invokeInnerEP9RCTBridgeP13RCTModuleDatajRKN5folly7dynamicE + 786',
        '8   TextilePhotos                       0x000000010331a72f _ZZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEiENK3$_0clEv + 127',
        '9   TextilePhotos                       0x000000010331a6a9 ___ZN8facebook5react15RCTNativeModule6invokeEjON5folly7dynamicEi_block_invoke + 25',
        '10  libdispatch.dylib                   0x000000010cc2e807 _dispatch_call_block_and_release + 12',
        '11  libdispatch.dylib                   0x000000010cc2f848 _dispatch_client_callout + 8',
        '12  libdispatch.dylib                   0x000000010cc37c41 _dispatch_queue_serial_drain + 1305',
        '13  libdispatch.dylib                   0x000000010cc38556 _dispatch_queue_invoke + 328',
        '14  libdispatch.dylib                   0x000000010cc343a0 _dispatch_queue_override_invoke + 726',
        '15  libdispatch.dylib                   0x000000010cc3b3c8 _dispatch_root_queue_drain + 664',
        '16  libdispatch.dylib                   0x000000010cc3b0d2 _dispatch_worker_thread3 + 132',
        '17  libsystem_pthread.dylib             0x000000010d159169 _pthread_wqthread + 1387',
        '18  libsystem_pthread.dylib             0x000000010d158be9 start_wqthread + 13' ],
     userInfo: { NSLocalizedDescription: 'failed to get block for QmTdt36G6RXktJ9UypUftiqGdogidNBmxwwNcHW39Jg3WB: context deadline exceeded' },
     domain: 'go',
     line: 2111,
     column: 26,
     sourceURL: 'http://localhost:8081/index.bundle?platform=ios&dev=true&minify=false' } }

We'll need to do something with those errors

"mobile.Mobile" module dose not exist

I flow the install steps , but get this "mobile.Mobile" module dose not exist ? what is wrong ?


/Users/chaim/Downloads/textile-mobile-master/android/app/src/main/java/com/textilephotos/textileipfs/TextileIPFSModule.java:14: error: module mobile dose not exist.
import mobile.Mobile;
^
/Users/chaim/Downloads/textile-mobile-master/android/app/src/main/java/com/textilephotos/textileipfs/TextileIPFSModule.java:15: error: module mobile dose not exist.
import mobile.Node;
^
/Users/chaim/Downloads/textile-mobile-master/android/app/src/main/java/com/textilephotos/textileipfs/TextileIPFSModule.java:23: error: can not find symbol
private static Node textile = null;
^
symbol: class Node
location : class TextileIPFSModule
/Users/chaim/Downloads/textile-mobile-master/android/app/src/main/java/com/textilephotos/textileipfs/TextileIPFSModule.java:51:error: can not find symbol
textile = Mobile.newTextile(dataDir, apiHost);
^
symbol : var Mobile
location : class TextileIPFSModule
4 δΈͺ errors
:app:compileDebugJavaWithJavac FAILED

AppState behavior inconsistent btw iOS & Android

Since we rely on AppState to manage the IPFS node and photo querying logic, we need to have a consistent API to work from. Need to investigate exactly what the inconsistency is and fine a work around.

White thumbs on open

Tapping on a white thumb loads the full photo just fine. So, node is running but possibly not finding the thumb content right away... ? Needs investigating...

image_from_ios

App crashes on long password with special characters

Here is a failing password,

%&6fkuJQJBOuEaZlH5yFj&EUFgyp#y66!G7cj4dwHv

What I've been able to see:

  • it only happens if the string is in the password field. dropping the string into other fields wont crash the app.
  • moving the focus out of the password field (click on another field) will crash the app (submit not required)
  • each of the special characters in the failing password seem to work as part of a shorter password
  • a longer password without those special characters also seems to work
  • not storing the password in the state will avoid the crash, but will render the form empty so it's pointless. the idea there is that merely entering the password in the form field is not enough to crash it.

Slow initial startup time

Just flagging this as something we should work to improve.

Related to textileio/go-textile#88

Feels like the status of the underlying node should be opaque to the user, especially at startup. We should be able to let the user do stuff while the node is bootstrapping, if / when we have the ability to not block while that's happening... I'm pretty sure that's taking the majority of the time during the initial startup.

Fix reloads in simulator

While #46 addresses node life cycle issues during the normal functioning of the app, it does not address the RN reload issue in the simulator. Thought I had fixed that, but no. The deal is that there's no "hook" to shutdown the node with (that i could find / know of)... and we seem to lose a reference to the existing go layer mobile node instance. So, a new one is created for each reload. You'll see some wonkiness in that the thumbs just show up white, but a lot more badness is happening under the hood.

Fix RCTFatalException: Unhandled JS Exception: TypeError: undefined is not an object (evaluating 'e.meta.username') This error is located at: in t in Connect(t) in t in RCTView in n in t in n in RCTView in RCTView in t in RCTView in e in r in Unknown in n in n in t in t in RCTView in n in t in n in RCTView in RCTView in t in RCTView in e in r in Unknown in n in n in t in Connect(t) in t in t in withCachedChildNavigation(t) in Unknown in n in n in RCTView in t in Connect(t) in e in n in t in RCTView in RCTView in t in PhotoViewerScreen.js line 64

Version 0.2(117)

Stacktrace

Reason

RCTFatalException: Unhandled JS Exception: TypeError: undefined is not an object (evaluating 'e.meta.username')

This error is located at:
in t
in Connect(t)
in t
in RCTView
in n
in t
in n
in RCTView
in RCTView
in t
in RCTView
in e
in r
in Unknown
in n
in n
in t
in t
in RCTView
in n
in t
in n
in RCTView
in RCTView
in t
in RCTView
in e
in r
in Unknown
in n
in n
in t
in Connect(t)
in t
in t
in withCachedChildNavigation(t)
in Unknown
in n
in n
in RCTView
in t
in Connect(t)
in e
in n
in t
in RCTView
in RCTView
in t

Link to App Center

Optimize full res display

Currently, our gallery lib attempts to load all the full res images in a given thread at once. For local images, this is pretty quick. But for remote images, this can be quite slow, leading to a less optimal UX. We should consider doing something like:

  • show thumb for all
  • when on a photo
  • load full, and replace

Since the images are only displayed one to a 'page', this shouldn't mess up things for tiling or gallery building.

Fix RCTFatalException: Unhandled JS Exception: ReferenceError: Can't find variable: Evilicon This error is located at: in t in RCTScrollContentView in RCTScrollView in ScrollView in t in t in RCTView in n in Connect(n) in t in RCTView in n in t in n in RCTView in RCTView in t in RCTView in e in r in Unknown in n in n in t in t in withCachedChildNavigation(t) in Unknown in n in n in RCTView in t in Connect(t) in e in n in t in RCTView in RCTView in t in 0x00000001042f8000 + 609592

Version 0.1(12)

Stacktrace

0x1042f8000 + 315216;TextilePhotos

0x1042f8000 + 191560;TextilePhotos

0x1042f8000 + 939340;TextilePhotos

0x1042f8000 + 938336;TextilePhotos

Reason

RCTFatalException: Unhandled JS Exception: ReferenceError: Can't find variable: Evilicon

This error is located at:
in t
in RCTScrollContentView
in RCTScrollView
in ScrollView
in t
in t
in RCTView
in n
in Connect(n)
in t
in RCTView
in n
in t
in n
in RCTView
in RCTView
in t
in RCTView
in e
in r
in Unknown
in n
in n
in t
in t
in withCachedChildNavigation(t)
in Unknown
in n
in n
in RCTView
in t
in Connect(t)
in e
in n
in t
in RCTView
in RCTView
in t

Link to App Center

Fix RCTFatalException: Unhandled JS Exception: Invariant Violation: Objects are not valid as a React child (found: object with keys {domain, message, code}). This error is located at: in RCTText in Text in RCTView in n in RCTView in e in RCTView in n in Connect(n) in t in RCTView in n in t in n in RCTView in RCTView in t in RCTView in e in r in Unknown in n in n in t in RCTView in n in t in n in RCTView in RCTView in t in RCTView in e in r in Unknown in n in n in t in t in withCachedChildNavigation(t) in Unknown in n in n in RCTView in t in Connect(t) in e in n in t in RCTView in RCTView in t in ReactNativeRenderer-prod.js line 2694

Version 0.1(42)

Stacktrace

Reason

RCTFatalException: Unhandled JS Exception: Invariant Violation: Objects are not valid as a React child (found: object with keys {domain, message, code}).

This error is located at:
in RCTText
in Text
in RCTView
in n
in RCTView
in e
in RCTView
in n
in Connect(n)
in t
in RCTView
in n
in t
in n
in RCTView
in RCTView
in t
in RCTView
in e
in r
in Unknown
in n
in n
in t
in RCTView
in n
in t
in n
in RCTView
in RCTView
in t
in RCTView
in e
in r
in Unknown
in n
in n
in t
in t
in withCachedChildNavigation(t)
in Unknown
in n
in n
in RCTView
in t
in Connect(t)
in e
in n
in t
in RCTView
in RCTView
in t

Link to App Center

ProgressiveImage extra loading

I'm seeing an extra image load from the Node in the ProgressiveImage component. It seems that the TextileImage that loads the thumb switches it's 'path' prop from thumb to photo. I don't think that's necessary because there's a separate TextileImage that loads the photo path.

'undefined' node state when returning from sleep

If the node is shutdown from an actual background event triggered by the user, all is well. Probably related to #107, stemming from a background event possibly not being triggered when the app is left to close itself via the screen auto-dimming

Recognize failed/errored image uploads and re-try them

if the app crashes while (say) two images are uploading/waiting to upload, then there's never any saga to eventually go back and update those states or those upload pies. Part of the issue in the upload library that we are using. It should really be fixed, or swapped for something more robust.

Add confirmation and explainer on a user's first attempt to share content

We need to let the user know that

  • Data is shared through a protocol that makes copies of that data potentially impossible to delete.
  • Data is visible to all members of the shared channel and any one of them can download that data.
  • What types of meta data will be shared.

It would be nice to have a pop-out kind of second onboarding experience where we can walk them through the steps.

Signup broken

After latest update to Go layer, all the wires aren't connected correctly. Working on the update now.

WIP in #160

Support GIFs

currently they work but are converted to some static form, guessing jpg

Adjust grid width/column count on rotate

Right now, the number of grid columns (3) is fixed. This looks strange when the device is rotated. We should compute the optimal column count and update this dynamically when the phone is rotated.

Fix SIGSEGV in 0x10e955000 + 11507321

Version 0.1(16)

Stacktrace

0x10e955000 + 11507321;TextilePhotos

0x10e955000 + 11501721;TextilePhotos

0x10e955000 + 11514780;TextilePhotos

0x10e955000 + 6270084;TextilePhotos

0x10e955000 + 6277360;TextilePhotos

0x10e955000 + 6281692;TextilePhotos

0x10e955000 + 6266017;TextilePhotos

0x10e955000 + 3310065;TextilePhotos

Reason

SIGSEGV

Link to App Center

Add Thread invite link to a native share dialog

Just thinking this through. Seems like we want,

  • a share link in every non-default thread
  • clicking the link will grab the URL from textile-go
  • toss the payload into the native share method and open it for the user

Later on we talked about adding a block to the Thread saying that a public invite was created, we can do that later.

Fix RCTFatalException: Unhandled JS Exception: Invariant Violation: Objects are not valid as a React child (found: object with keys {domain, message, code}). This error is located at: in RCTText in Text in RCTView in n in RCTView in e in RCTView in a in Connect(a) in t in RCTView in n in t in n in RCTView in RCTView in t in RCTView in e in r in Unknown in n in n in t in RCTView in n in t in n in RCTView in RCTView in t in RCTView in e in r in Unknown in n in n in t in t in withCachedChildNavigation(t) in Unknown in n in n in RCTView in t in Connect(t) in e in n in t in RCTView in RCTView in t in ReactNativeRenderer-prod.js line 2694

Version 0.1(44)

Stacktrace

Reason

RCTFatalException: Unhandled JS Exception: Invariant Violation: Objects are not valid as a React child (found: object with keys {domain, message, code}).

This error is located at:
in RCTText
in Text
in RCTView
in n
in RCTView
in e
in RCTView
in a
in Connect(a)
in t
in RCTView
in n
in t
in n
in RCTView
in RCTView
in t
in RCTView
in e
in r
in Unknown
in n
in n
in t
in RCTView
in n
in t
in n
in RCTView
in RCTView
in t
in RCTView
in e
in r
in Unknown
in n
in n
in t
in t
in withCachedChildNavigation(t)
in Unknown
in n
in n
in RCTView
in t
in Connect(t)
in e
in n
in t
in RCTView
in RCTView
in t

Link to App Center

Tries to add all photos

When upgrading from (probably) the app store version of the app, to what we're working on for thread invites, the app tries adding all sorts of old photos, probably all old photos. Need to look into this and see if there's a migration issue.

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.