How to get it working: - [X] Landsbankinn API client for arbitrary transaction lists - [X] Transform raw transactions into friendlier ones (i.e. date objects) - [X] Content script that can run all the time and puts a button somewhere (statements tab, and extension icon) - [X] Use config.ts to set TTL for state - [X] Background page that downloads all the shit and combines into CSV, then 'downloads' file. - [X] Build up communication message passing to background page for downloads - [X] Don't run level on client. - [-] Investigate persistent = false + setTimeout - [ ] Maybe can force clear state when page reloads itself? - [X] Change ready true/false to lock state, of not updated, updating, ready - [X] Graphql API client to get information about user, like listing accounts. - [X] Get working client - [X] Set API key - [X] Set bearer token - [X] Intercept bearer token by yoinking it out of a request - [ ] Deal with state disappearing after 15 sec (I think 15 sec was a test). - We should always reload state if it's not present. And we are doing this. - Why does state not re-build itself properly? It auths but does not set itself to "ready to request" mode. - [ ] Make the date picker and download button nice to use. - [ ] Validate date picker options when downloading. - [ ] Show a download status on the web page to indicate where it is in the download process. - [ ] Error handling: try-catch in various places, send messages back to content script that error occurred. - [ ] Txn download - [ ] CSV creation - [ ] Ensure auth state API calls