Open joeesteves opened 8 years ago
I've been thinking about Inbox, but haven't committed to it yet. Help would be welcome!
I've been working on revamping a bunch of the extension to address a whole bunch of the outstanding issues. I will push up a branch when possible and ping you if you want to take a look. It will be quite a few changes, so probably makes sense to wait until then, or rebasing will be a nightmare.
Great! I'll take a look when new branch is ready
@ponyesteves, if you're still interested I have pushed the vast majority of this change up to a new branch: revamp-everything-clean. I have a little bit more cleanup to do and UX fixes before it makes it to master, but it should be a place you can start looking at.
The documentation is a bit rough around the edges, so feel free to reach out to me if something is not clear. The code is massively transformed, switching to using modules and webpack. The options page is now angular backed and a lot cleaner. Generally the code quality is significantly higher and should be more modular for adding new functionality.
Sorry this took a bit longer to get back to you than expected!
@seancolyer better late than never (here in Argentina there is a saying I've translate it literally so may be won't make any sense)
Great refactor what you've done so far. Do you have a clear idea of what is missing to be portable to Inbox. if not, I could start reading documentation to find it out. If you already know what to do, tell me were can I be more useful for the project?
Hi @seancolyer, today I make a quick read on the project to start familiarizing.
So far I deduct i works something like this (correct me if I'm wrong)
1) Maminifistes injects js and css to page you declare.. in this case mail.goole.com/*
2) The entry-point is whith the eventListener that listen to this event.. webkitAnimationStart
This add the buttons that then trigger other actions ?
I know I' m simplifying to match, but just want to know if I'm in the correct path
Sorry for the slow response (again!).
I think you're on the right path. General outline:
mymail-crypt-page-injected.js
, which injects content directly onto the page from the content script. This is needed because in a chrome extension, the Content Script has limited abilities (cannot intercept AJAX recalls on the base page). We need to be able to reject draft saving, so that is the purpose of this script. (I had previously prevented drafts in a different, hacky way).
mymail-crypt-options.js
and corresponding angular app are how people input keys. However, Content Scripts do not have access to background data like this. The solution there is to utilize mymail-crypt-background.js
which essentially listens for messages from the Content Script (mymail-crypt.js
) and then gets the necessary data that was input from the options page.
One thing to note, I think it would be really nice to start splitting the logic in mymail-crypt into gmail/inbox specific files. However, I realize that it may not be straightforward to do that for someone new to the project, so don't feel too pressured to.
Hope I haven't lost yet between the slow delay and long response @ponyesteves !
Hi @seancolyer, great job on this extension!
Have you study the posibility of adding support for Google Inbox ?
If so, I would be glad to help