Giter Site home page Giter Site logo

community-points's People

Contributors

boolafish avatar deeintech avatar dependabot[bot] avatar jbunce avatar kevsul avatar nicholasmueller avatar pongch avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

community-points's Issues

extension: 1.0.2 update

  • include new assets in build
  • update listing icon/promo tiles/screenshots
  • final testing with new changes

extension: flushing tx history

problem: when user closes extension during a pending transaction, user loses that state when opening the extension again (we flush the history on boot as an easy fix to when the user switches accounts in metamask)

solution: only flush the tx history when the address has changed (keeping any pending states). requires logic for detecting this address change and flushing only when necessary.

another potential solution: key the tx history in global state by address, so when switching accounts we maintain pending states

Add metadata to txs

2 options:

  1. The fee relayer can add the same metadata field e.g. Community Point Transferto every tx
  2. The front end can specify the metadata, so allowing different metadata per subreddit

flairs: update script levelups

update flair script to accommodate flair levels (already implemented in extension)

  • flair levels are shown in the metadata as follows
    • level 1 = flair_rock
    • level 2 = flair_rock:2
    • level 3 = flair_rock:3
    • and so on...

This way we can level up any flair -> flair_wave:2, etc, and we don't have to modify existing metadata ids

Script should replace user flairs on reddit with upgraded flairs if they have been purchased

fee-relayer: auto increase utxos if necessary

The fee-relayer could have a desired number of utxos.

If the current number of utxos is below that level, on each relay tx it could split its change output into 2 or 3 outputs until it reaches the desired level

extension: 1.0.0 bugs

list of bugs discovered so far

  • error parser not picking up unexpected objects https://sentry.io/organizations/omisego/issues/1818062246/?project=5338840&referrer=slack
  • handle invalid extension context gracefully
  • support old.reddit
  • extension doesn't block user from trying to submit more than 4 input utxos. if there are more than 4 utxos needed to cover the transfer amount, the server responds with the error "Number of non-empty inputs should match signatures count. Remove redundant signatures." We should build in a way to create and submit a merge tx when this happens or prompt the user to merge them in webwallet
  • user-address parser not parsing comments with new lines correctly
  • show purchased flairs next to username
  • check behavior on brave when metamask not set as the default provider
  • handle "Permissions request already pending" gracefully https://sentry.io/organizations/omisego/issues/1801689554/?project=5338840&query=is%3Aunresolved
  • add "refresh page" to "restart extension" prompt
  • add support link in extension

extension: handle fee-relayer busy

If the fee-relayer is under heavy load it may not have an available utxo to pay the fee, but it should have one after the next block.

The extension should handle an error from create-relay-tx that starts the string Insufficient funds to cover fee amount and display something like "Server busy, try again later"

extension: metamask issues

  • better ux when metamask doesnt want to popup. how to recognize this event in the extension and add appropriate messaging
  • sometimes metamask is not ready when extension tries to access it, leaving it in a blank state unless restarted. investigate how to avoid this race condition

extension: 0.1.0 bugz

  • dont report 500's from extension, let feerelayer report them
  • prompt to login to metamask -> dont login -> restart extension -> "already processing eth_requestAccounts. Please wait." error
  • notification in lowest denomination
  • gray out extension icon unless on reddit.com/*

extension: 1.0.2 improvements

  • lazy load user avatars, currently they are fetched all at once which is getting heavier as user base grows
  • block merch screen when tx loading And calculating if flairs already purchased or not (delay in showing owned state)
  • fill inputs with utxos to reduce overall utxos
  • flair levels (extension)
  • transaction flush only when address changed, or key by address #117

Publish contract ABI as artifect

Have been thinking about possible solutions:

  1. use ethPM as the package management. Not sure how to get the ABI out though. Supposedly do-able
  2. use npm as the package management. However, limited to npm to get the ABI out
  3. use a artifact branch in this repo, whenever there is a new release, we publish the ABI with the semver in a folder the branch there. eg. abi/v0.0.1/ and abi/v0.0.2/ ...
  4. Just manual put the ABI under contracts/ as Pong suggested.

extension: updated extension behavior

scenario:

  • user uploads new version of extension
  • user doesnt do a full refresh of the page
  • certain scripts already loaded in the browser may not be updated leaving extension in a weird state and failing

to investigate:

  • what is the behavior when the extension is hosted from the store and auto-updating takes place
  • is it possible for the extension to recognize the inconsistent state and force the refresh or provide appropriate message
  • potential refactor around the re-injection of scripts in dom

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.