Coder Social home page Coder Social logo

likecoin / likecoin-app Goto Github PK

View Code? Open in Web Editor NEW
40.0 5.0 19.0 68.92 MB

Liker Land App - https://liker.land/getapp

Home Page: https://liker.land

License: GNU General Public License v3.0

Ruby 0.74% Java 1.80% TypeScript 94.98% JavaScript 0.19% Shell 0.36% Objective-C 0.25% Starlark 0.19% Makefile 0.15% C++ 0.69% Objective-C++ 0.65%
likecoin likerland react react-native typescript

likecoin-app's Issues

Fail to login if default browser is not chrome in android

(need more details, haven't reproduced yet)
Android user with both firefox and chrome installed and default set to firefox reports authcore popup shows a blank page, no matter which browser he selects.

Device: android 10, sony

Support setting amount and memo remark in QR code

Currently our QR code only contains user wallet address

In our future design, we want the app to prefill LIKE amount and memo after scanning a QR code generated by an eshop. Maybe the QR code should contain something expandable, like JSON instead?

Stats view

  • Civic Liker report
  • Creator rewards report

Loading time is long when reopening app

Description: I am already logged in into the app once. I switched away from the app and it was killed in background. After I open it again, I am stuck in the loading screen for ~ 5 to 10 seconds

Expected: After it was killed, relaunching the app again should be quick for user that already has already logged in.

TODO:

  1. We should profile and investigate what is causing the long load time, esp if the app loading is casued by waiting by some http async calls. (Should be easy using reactotron)
  2. After proper profile and listing out blocking calls in the app launch timeline, we can determine whether we should defer, not await, or Promise.all() some async calls.

Fetch infinite loop if `/users/${id}/min` returns 404

Description: I am running a development build by setting build number to 167, I have reactron open and after logging in, I observed that user profile and details API call starts an infinite loop that eats up my CPU. It seems that the app is loading some non-exist user profile from /users/${id}/min endpoint, which causes infinite loop due to missing error handling.

Reproduce:

  1. Build app with testnet config
  2. Login to app with any account
  3. Switch to feature list, observe API calls run into infinite 404 loop

Expect:
Handle 404 and do not infinite loop

Add analytics event on which session expired

Current on App launch/resume we will try to resume user's sessions in authcore, like.co and liker.land. However since the any failed check would call logout and void all session, we cannot properly analysis the actual statistic of which session expired most. Sam could apply to 401/403 errors

Expected: Add analytics event stating which specific session/cookie expired on session resume or 401/403 http error

(Feature draft) Sending LIKE via deeplink to unregistered users

LIKE Sender (APP):

  1. Click some new button to trigger this feature
  2. GET request to get personal purse address
  3. Set LIKE amount, number of recipient, and randomize of not in UI
  4. Sign a tx with LIKE amount to purse address
  5. POST to create temp tx, payload: { amount, number_of_recipients, txHash }
  6. Receive a deep-link that can be shared via mobile share panel or clipboard
    (7. view status of purse in a new UI)
    (8. if > 24 hours temp tx is not claimed, expire the temp tx and trigger jedi to return fund to user wallet)

LIKE Recipient (without APP):

  1. Click deeplink to install and register likerland app
  2. new UI to claim tx, click claim LIKE, POST to claim temp tx endpoint
  3. API trigger jedi to sign the tx to send the LIKE in purse to recipient, reduce remaining like of that temp tx if more than 1 recipient.
  4. Recipient receive (randomized) LIKE.

LIKE Recipient (APP)

  1. Click deep-link to open app, directly go to claim tx UI.
    same as above from 2.

TODO:

  1. GET API which creates purse wallet for user if not exists.
  2. Mobile UI to create temp tx and claim temp tx. Maybe one to view sent tx status.
  3. POST API to handle temp tx creation and claim logic. claim API should trigger jedi to send LIKE to recipient.
  4. Deep-link generation and open support at correct timing
  5. Proper share panel and payload for above deep-link

Only update access token if its expired

Currently we store the refresh token into keychain, and refresh the token everytime the app was killed/launched. We should also store access token into keychain, and only refresh it when it expires.

Support deeplink/app protocol for mobile website to call transfer screen

Currently we support scanning and displaying a QR code for users to tranfer LIKE, which fits desktop use case ( desktop website display QR code, users scans their desktop monitor in our app). However in mobile website it is not possible to scan QR code on a same phone.

We should support either an app protocol or deeplink in mobile. When users click such link, they should be redirected from a mobile website/app to liker land app transfer screen. The deep link should support transfer params like target wallet address/amount/memo.

We could also use deeplink on current existing https://like.co/{likerId}/{amount} website, which is currently not used anyway. When user with our app lands on the page, we could just redirect them to app's transfer screen.

無法登入的問題

使用的是iOS系統,不管是用google 還是FB登入都有同樣問題,登入帳號後開始讀取,會進入頁面(但是只有Logo圖案和轉動的圈圈),幾秒後就又自動跳回Sign in的畫面,無限迴圈,無法登入。

iOS version 11.3.1

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.