Skip to content

Draft: v4.0.0 - Migrate to MV3 and WXT framework, and migrate to event driven downloads

Anton Smith requested to merge v4.x-dev into main

This MR is a major change and will require a major version release.

Implementation

The extension no longer scrapes for ticket metadata via the mutator observer. An event handler is added to the document on load that overrides any clicks on attachments - the ticket metadata is scraped on demand. As a result, the codebase is significantly smaller/simplified and will be much more reliable.

The mutator observer has been rewritten and is only used to prepend the multi downloads button.

Other enhancements:

  1. Migrated to WXT framework https://wxt.dev/ so we can utilize TypeScript, Vite and Vitest (tests to be added in the future)
  2. A base Playwright test https://playwright.dev/ has been added (to be properly implemented later)
  3. Some errors are now shown to the user in the native Zendesk alert box
  4. If the extension is upgraded, the user is alerted to refresh the page (so weird errors don't happen).
  5. An action menu has been added which gives the user the option to show downloads or download all attachments in the ticket.

Removed functionality:

  1. Support for Zendesk Legacy mode
  2. Support for downloading attachments using browser commands

Issues addressed

The following issues are resolved by this MR:

  1. Closes #57 - the multi download button is no longer shown if all attachments have been redacted
  2. Closes #56 - TypeScript is now implemented
  3. Closes #47 - since the extension no longer supports legacy mode, this is no longer an issue.
  4. Closes #43 - since downloads are now event driven, the attachment metadata is sent when the download is initiated, not before.
  5. Closes #36 - since we have upgraded to MV3.
Edited by Anton Smith

Merge request reports