Giter VIP home page Giter VIP logo

dsocial's People

Contributors

d4ryl00 avatar iuricmp avatar jefft0 avatar moul avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dsocial's Issues

In the Sign up screen, check if the account name already exists on the phone/blockchain

The Sign up screen creates an account on the phone and then calls onboarding to register with r/demo/users on the blockchain. But the account names in the keystore on the phone and the blockchain are linked. If the account name already exists in r/demo/users, then oboarding fails to register with r/demo/users. And the keystore on the phone may have an account with the same name but different addresses.

We need to keep the keystore in sync with r/demo/users when the user enters name N on the signup screen. The following table covers all cases and the action to take.

Request name N.

N in keystore? N in r/demo/users? same addr? action
yes yes yes Offer to do normal signin, or choose new N
yes yes no Bad case. Choose new N. (Delete N in keystore?)
yes no X Offer to onboard existing account (check if need faucet to add coins), replace it, or choose new N
no yes yes (keystore has same r/demo/users addr with different N2.) Offer to recreate as N in keystore, do signin.
no yes no (keystore doesn't have r/demo/users addr.) Name is unavailable. Choose new N
no no X Create name/addr in keystore, register in r/demo/users

Distinguish "quote" a post from "repost"

Currently, dSocial has one function where user A can repost the post of another user B, with a comment. In the other social apps, this behavior with a comment is called "quote", and there are separate buttons for "repost" and "quote". In the other apps, when you click "repost", it just does a repost without a comment. This difference is important for what happens when a third user C clicks the "react", "repost" and "quote" buttons while looking at the post in the feed of user A.

  • If it came from "repost", then the "react", "repost" and "quote" buttons work as if user C was looking at the original post in the feed of user B.
  • If it came from "quote" (with comment), then the "react", "repost" and "quote" buttons apply to the comment post of user A. (For example, a "gnod" reaction is added to the comment from user A, not the original post of user B.)

In the Sign up screen, check if the account name already exists on the phone

When creating a new account, gnoboard checks if the account name already exists on the phone. We need to do something similar in the dSocial "Sign up" screen. But there is a difference. gnoboard allows to overwrite the existing account. We can't do this in dSocial because we are linked to r/demo/users on the blockchain and we can't overwrite a user on the blockchain. So I think the "Sign up" screen should not allow to re-use an existing account name.

Identify Smart Contract Scalability Testing Approach

We need to choose an approach for the general smart contract scalability testing that we plan to do as part of the Gno Social v1 project. This issue is created to reflect the work of identifying the right approach for the different types of testing to follow.

In Post, check for blank text

If I forget to type any text, and click Post, then dSocial posts a blank message. This is probably not what the user wants and there should be a confirmation message (or a message to require adding text). Should check for a blank text for Post and for Reply.

(Low priority but easy to implement.)

Clicking "gnod" on a reposted message should add the gnod to the original post

In the screenshot, test_qemu6 has reposted a post from jeff_galaxy20, adding the repost comment "I like this kind of cat". A UX question: should clicking the "gnod" add the gnod to the original post from jeff_galaxy20 or to the repost comment?

Current behavior: The gnod is added to the repost comment from test_qemu6. But the feed only displays the number of gnod on the original post from jeff_galaxy20. My suggestion: the gnod should be added to the original post. (I'm not sure exactly where in the code to check if clicking "gnod" is a repost. Maybe here?)

image

Performance Benchmarking Tool

This is a benchmark tool that devs will be able to use for fixing performance issues related to various contracts stress tests around total number of messages, speed, users, memory usage.

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.