KanbanMail

A Kanban board for your emails! ✨💌

Made new email polling even more efficient by not loading emails if their IDs are already on the board

Polling for new emails is now at least 2x faster, and much less memory/cpu intensive!! 🎉 I'll test it for 24h then push to prod.

Don't fire getUserInfo, getContacts, getStripeMetadata, initLabels or updateColumnsInfo when polling for new emails

Created emailsSortedByReceivedDateTime, emailsSortedBySentEpoch, and emailsSortedByPinned functions

Removed Updates tab because Twitter makes a ton of requests which slow things down

Created dev.web.kanbanmail.app! So I can let people test new stuff (at their own risk of course)

Added content security policy as a variable in build.js so I can insert into the Netlify _headers file and into a meta tag in the HTML

Went from a C to an A+ on securityheaders.com! Report: https://securityheaders.com/?q=https%3A%2F%2Fweb.kanbanmail.app&hide=on&followRedirects=on

Created a very basic content security policy that blocks all insecure requests. Will make a more comprehensive and specific one soon!

Added "X-Content-Type-Options: nosniff" header to web.kanbanmail.app for security

Added "X-XSS-Protection: 1; mode=block" header to web.kanbanmail.app for security

Asked Eric D. Kennedy for design feedback twitter.com/Booligoosh/status/1105410902919004160

Don’t trigger keyboard shortcut if shift is pressed but it’s not specified in the keyboard shortcut object (eg. Shift ⌘ F doesn’t trigger Forward anymore, only ⌘F — the actual specified shortcut — does.)

Added ⌘ Backspace keyboard shortcut for moving to Trash because it’s easier to press and makes sense.

FIXED DOUBLE SENDING!!!!! 😬 Luckily this bug was only present for a very short amount of time, and I was able to catch and fix it very quickly.

Removed opacity on the done column, it makes the overall design much less clean