Fix and modernize Asana integration.

Review Request #13991 — Created June 20, 2024 and submitted — Latest diff uploaded

Information

rbintegrations
release-4.x

Reviewers

Our Asana integration was broken because they completely rewrote their
Python API. This change fixes that up, and modernizes things a bit.
Here's the full scope of changes:

  • Pin the asana dependency version so this doesn't happen again.
  • Update our API calls for the new version.
  • Updated Python and JS code to add type hints and use spina where
    appropriate.
  • Updated the CSS to support dark mode for the field contents (when not
    in edit mode).
  • Overrode some CSS for the selectize field while editing to allow the
    contents to fill the available space, and wrap items within the field
    rather than showing everything in a single line.
  • Tweaked some of the sizes and spacing for task items to look nicer.

Once we end up creating our own autocomplete controls, I'd really like
to ditch selectize. For now, this is a big improvement on what we had.

  • Ran setup.py develop
  • Added an Asana integration. Verified that putting in a correct
    personal access token loaded the workspaces, and that an incorrect one
    showed an error.
  • Tested searching for and adding tasks.
  • Tested removing tasks.
  • Tested that wrapping worked correctly within the selectize field, and
    that moving the cursor and editing within the wrapped field worked
    correctly.
  • Verified the appearance in both light and dark modes.

Commits

Files