# 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 - ...