Coder Social home page Coder Social logo

textileio / photos Goto Github PK

View Code? Open in Web Editor NEW
241.0 241.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%
backup decentralized encryption ipfs mobile-app personal-data photos react-native social-network

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.

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.

'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.

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

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.

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.

Signup broken

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

WIP in #160

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

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

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

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.

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.

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.

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.

Support GIFs

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

"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

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

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

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.

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.

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

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.