# NFT M3
## Current Phase
### Priority Tasks
- [x] Download and serve media
- Download Images and store them in file system
- As part of login function, ensure nfts are cached, if not download them in background
- check-fetch once we write an nft to our NFT store
- Serve images from file system + check security policy
- [x] Implement a “clear NFT cache” button in the settings (also makes development easier)
- [x] Reach out to UI and start conversations about NFT / caching related settings
- [x] Controls for image/gif media type
- [x] Don't display placeholder icons before cached nfts.
- [x] Implement compress function for images parent task
- Choose compression function
- Which sizes
- Download original file
- Compress into different thumbnail sizes
- [small] activity list, activity summary, nft input
- [medium] profile picture
- [large] gallery
- [file size] details (ask ui: max size depending on vh vw and responsiveness)
- Which filetype
- jpg or webp
- [x] Video parent task
- Implement compress function for video
- Investigate which filetype
- Calculate thumbnail for video. What sizes do we generate? Display play video icon over top thumbnails.
### Low Priority Tasks
- [x] Error handling for each fetch response
- [x] Create persisted store in localStorage (persistent<>) to store the “HEAD” call for invalid images, so that we dont call it everytime
- [x] Set profile picture
## Save for later phase
- Implement improved nft, node, caching settings
- Implement audio nft support
- ...