GithubHelp home page GithubHelp logo

solana-mobile / minty-fresh Goto Github PK

View Code? Open in Web Editor NEW
43.0 43.0 18.0 9.24 MB

An open source mobile first implementation of NFT minting on solana

Home Page: https://solanamobile.com/

License: Apache License 2.0

Kotlin 99.28% Shell 0.72%
mobile-app mobile-first solana solana-nft solana-wallet-adapter

minty-fresh's People

Contributors

ankur2136 avatar creativedrewy avatar funkatronics avatar oliveeyay avatar sdlaver avatar transifex-integration[bot] 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

Watchers

 avatar  avatar  avatar  avatar

minty-fresh's Issues

Cleanup cache on force refresh

Scenario

  1. User has 10 Minty Fresh NFTs.
  2. User burns some or sends those to some other wallet.
  3. Open Minty Fresh and we still have 10 NFTs in cache.
  4. Now do a force refresh and we have the correct number of NFTs.
  5. Close the app and open My Mints page again and we are back to 10 NFTs.

The point is to remove old entries from room db when refreshing the myMints page.

MyMintsViewModel refactor

Viewstate and db fetches are mingled right now.

UI should observe the room db directly for changes. This would greatly simply the logic in loadMyMints method

Attribute input UI

On the minting screen, users should be able to input an arbitrary set of tilte/value attributes

My Mint Details page should display actual Metadata

Right now the page that shows your minted NFT details in the MyMints section is displaying the NFT mint address under a label that says "Metadata" - this section should load and display the actual metadata values (ie attributes)

Wait for confirmations

After minting a NFTs sometimes the MyMints screen still shows the old NFT count probably because the transaction is not yet complete when we fetch the details.

SocketTimeout exception

2023-01-13 12:02:12.381 521-521 AndroidRuntime com.nft.gallery E FATAL EXCEPTION: main
Process: com.nft.gallery, PID: 521
java.net.SocketTimeoutException: timeout
at okhttp3.internal.http2.Http2Stream$StreamTimeout.newTimeoutException(Http2Stream.kt:675)
at okhttp3.internal.http2.Http2Stream$StreamTimeout.exitAndThrowIfTimedOut(Http2Stream.kt:684)
at okhttp3.internal.http2.Http2Stream.takeHeaders(Http2Stream.kt:143)
at okhttp3.internal.http2.Http2ExchangeCodec.readResponseHeaders(Http2ExchangeCodec.kt:96)
at okhttp3.internal.connection.Exchange.readResponseHeaders(Exchange.kt:106)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.kt:79)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:34)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:517)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@8b7b541, Dispatchers.Main.immediate]

Add pagination on myMints

Once you hit 20 NFTs, the app might start feeling slow because there would be tons of concurrent RPCs ongoing to fetch metadata.

This needs to be improved with pagination on MyMints screen.

Stuck on requesting wallet signature.

Wait for MWA to connect to solflare.
On solflare press back to reject confirmation. The Mint screen is stuck on the loading progress which can never complete.

Enable user-initiated "stamping" or "watermarking" images

I'm thinking of the case where someone wants to demonstrate Minty Fresh, but include their branding on every generated image (an in-store setup comes to mind).

In this scenario we could have an option in the settings where users could provide a small badge/overlay which gets baked on to every image that is minted by the app. This would only be opt-in, and setup by whomever is managing the device.

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.