issue 5747 refactor content scripts for Thunderbird#5748
Merged
Conversation
tomholub
commented
May 28, 2024
Collaborator
Author
tomholub
left a comment
There was a problem hiding this comment.
It's a pure refactor, moving code around. I still find it messy but I think it's an improvement, and it's clearer now how another UI implementation may be added.
Collaborator
Author
|
After this PR, Thunderbird could be added like so: Catch.try(async () => {
+if(this is thunderbird) {
+ await new ThunderbirdWebmailStartup().asyncConstructor();
+} else {
await new GmailWebmailStartup().asyncConstructor();
+}
})();// content_scripts/webmail/thunderbird/thunderbird-webmail-startup.ts
export class ThunderbirdWebmailStartup {
private replacePgpElsInterval: number;
private replacer: GmailElementReplacer;
public asyncConstructor = async () => {
await contentScriptSetupIfVacant({
name: 'thunderbird',
variant: undefined,
getUserAccountEmail: () => undefined, // todo, but can start with undefined
getUserFullName: () => undefined // todo, but can start with undefined
getReplacer: () => new ThunderbirdElementReplacer(), // todo - add this class empty, methods do nothing
start: this.start
});
}
private start = async (
acctEmail: string,
clientConfiguration: ClientConfiguration,
injector: Injector,
notifications: Notifications,
factory: XssSafeFactory,
relayManager: RelayManager
) => {
// injector.btns(); // todo in another issue - add compose button
this.replacer.runIntervalFunctionsPeriodically();
await notifications.showInitial(acctEmail);
await notifications.show('FlowCrypt Thunderbird support is still in early development, and not expected to function properly yet. Support will be gradually added in upcoming versions.');
}
};
}; |
…t/flowcrypt-browser into issue-5747-thunderbird-refactor
sosnovsky
reviewed
May 28, 2024
extension/js/content_scripts/webmail/gmail/gmail-webmail-startup.ts
Outdated
Show resolved
Hide resolved
5 tasks
tomholub
commented
May 29, 2024
Collaborator
Author
tomholub
left a comment
There was a problem hiding this comment.
just checking - looks okay. The artifact update untested, since test started passing again
sosnovsky
approved these changes
May 29, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR attempts to clean up content script code and make it easier to add another environment (like another webmail, or Thunderbird)
Further, test logging output was cleaned up a bit, and debug html files are uploaded to artifacts again.
close #5747
issue #5396
Tests (delete all except exactly one):
To be filled by reviewers
I have reviewed that this PR... (tick whichever items you personally focused on during this review):