Gmail+Trello integration. Add Google mail to Trello cards with text, backlinks, and attachments.

Latest Version

Version
2.9.0.002
Update
June 11, 2023
Size
298KiB
Developer
g2t.support
Category
Users
6,000+
Rating
4.7 ★
Manifest Version
3
Web Store Status
Languages Support
English
See more
Permissions
BrowsingData
Tabs
Storage
See more

Gmail-2-Trello Extension

A free tool that provides an extra button on the Gmail UI to add the current Google mail you're reading to a Trello card with text, backlinks and attachments.

Was previously published as \"Gmail-to-Trello\" in the Chrome Web Store.
Was rated 4.8+ stars out of 5!
Had over 40,000+ daily active users!

This is the exact same codebase and support board—and we've been able to post some new features you've needed!

=== Development and Support Board here for feature/bug submitting and voting: https://g2t.support ===

=== New features! ===
* Now adds Gmail recipients (To/CC) to card data
* Now remembers 100 board, list, and cards you last added an email to!

=== Main features ===
* Add a button \"Add new card\" into Gmail's toolbar
* Handles uploading Images and Attachments!
* Detect email opening mode, also the most visible email in current thread
* Extract email's title, body, timestamp, also reduce text's complexity
* User can choose which list, board or organization will contain the new card
* User can assign him/herself to the new card
* Current email can be easily looked up later via a direct link, or searching (useful for group collaboration)
* Can set labels
* Can set due date
* Authorized via Trello account
* Support both simple and split layout (\"Preview Panel\" in lab/Outlook-like)
* User can pick up another emails in thread while popup is opening, or reopen popup again to detect and extract email's content again
* Popup is resizable, draggable
* \"Report\" button automates posting issues to community board at https://g2t.support

=== 2.9.0.002@2023-06-09 ===
* Update Google Analytics ID
* Fix Markdown checkbox not reflecting markdown in description correctly
* Update Trello API key to get rid of \"Can't have wildcard\" Trello API error
* Start using ?. for data array access
* Update manifest for content_security_policy

=== 2.8.7.001@2021-12-05 ===
* Got new API key with allowed origins.

=== 2.8.6.006@2021-06-15 ===
* mouseDown for main version getSelectedText works instead of click

=== 2.8.6.004@2021-05-11 ===
* G2T Main button not popping. Stricter adherence to styles required.

=== 2.8.6.004@2021-03-04 ===
* Doesn't respect crlfs in email

=== 2.8.6.003@2021-02-22 ===
* Extra logic to process \"me\" name (still won't work first time due to when we refresh Trello username on popup first reveal)
* Due date pull-down doesn't populate fields (need to use $(event.target) not $(this))

=== 2.8.6.002@2021-02-22 ===
* Update hover text
* Body in cards not coming over
* Updated selectors and selector logic to reference within context of code

=== 2.8.6.001@2021-02-08 ===
* Make spacebar also highlight/deselect Labels and Assign
* Automatically select attachments, when present (but not Images)
* Allow submitting to Trello with no Body (Title still required)
* Use off(\"change\") trick to keep script from getting called twice

=== 2.8.5.018@2021-01-29 ===
* User reports clicking markdown/Gmail-links/recipients clears body and doesn't return - confirmed, found really good bug, fixed

=== 2.8.5.017@2021-01-04 ===
* Update formatting of backlinks
* Iterate fields instead of setting directly
* Change To: me to Trello ID name

=== 2.8.5.016@2020-12-29 ===
* Return CCs from gmailView via body_raw, body_md
* CCs checkbox respected
* \"Recipients\" used instead of To/CC

=== 2.8.5.015@2020-12-02 ===
* Collect CCs
* Convert CCs to md

=== 2.8.5.014@2020-11-18 ===
* Use more calculated .ui-autocomplete value
* Fix highlighting of labels with mouseover--typo: g2tLabel ≠ g2tLabels

=== 2.8.5.013@2020-10-25 ===
* Where/List/Card overflow: auto to show scrollbar when long list set .ui-autocomplete max-height to 60% screen

=== 2.8.5.012@2020-10-18 ===
* Gmail changed class for mail body from '.a3s.aXjCH' to '.a3s.aiL'

=== 2.8.5.011@2020-09-04 ===
* Add 33px margin to the popupMsg so it will not appear over the popup titlebar.

=== 2.8.5.010@2020-09-03 ===
* Fix for buttons highlighting outward instead of inward from @KS-CleverCopter

=== 2.8.5.009@2020-08-12 ===
* Add base64 default image if avatarUrl is missing
* Add avatar_generic_30x30.png if avatarUrl is missing
* Updates to minimizing and resizing from @KS-CleverCopter

=== 2.8.5.008@2020-07-18 ===
* Make due shortcuts reset when picking \"--\" even when it's selected
* Change manifest to '*.trello.com' to support api.trello.com, api-gateway.trello.com
* Add '*.gstatic.com' to manifest for googleusercontent

=== 2.8.5.007@2020-07-15 ===
* @KS-CleverCopter fix for images hover clipping, Where: a few pixels misaligned
* Change \"+Trello!\" to \"-> Trello\"
* Notice that Labels and Assign draw off to the right and then snap to the left

=== 2.8.5.006@2020-06-30 ===
* Add icon files
* Remove unused files from main bundle
* Remove dependency on old datejs.com code
* Bump version and notes

=== 2.8.5.005@2020-06-27 ===
* Update description
* Call ForceSetVersion if periodicChecks proves different versions or unset

=== 2.8.5.004@2020-06-27 ===
* Accessibility improvements: tabbing and enter key from @KS-CleverCopter

=== 2.8.5.003@2020-06-18 ===
* More UI cleanup from @KS-CleverCopter
* Fix for bug where on Windows 10, Boards popup appears behind

=== 2.8.5.002@2020-05-25 ===
* Ton of UI work from @KS-CleverCopter
* Change board alphabetization formatting

=== 2.8.5.001@2020-05-24 ===
* First cut at remembering what message was stored with what card
* Move to safer \"g2t_\" instead of \"g2t:\" for variable names stored in hashes
* Reduce log lines circular queue to 100 lines
* Set \"remembered\" to 100 emails
* First version of restoring settings based on email, had to add ability to cache list updates til list refreshed
* This history available at: https://g2t.pub/changes

=== 2.8.0.013@2020-05-22 ===
* Fix validHash to work correctly - was always taking the req = [] path. This was causing empty data to be sent to Trello, causing a 400 error

=== 2.8.0.012@2020-05-15 ===
* Update icons for correct classes for Gmail with highlighting css

=== 2.8.0.011@2020-05-07 ===
* Use avatarUrl instead of id + '/' + avatarHash in case it moves in the future
* Update http:// to https://
* Remove unused chrome.identity

=== 2.8.0.009@2020-05-03 ===
* Update text-only from \"GtT\" to \"G2T\"
* Update these notes references from \"GtT\" to \"G2T\"
* More trials for better resizing (failed)
* Replace 403'ing \"https://trello-avatars.s3.amazonaws.com/{avatarHash}/30.png\" with \"https://trello-members.s3.amazonaws.com/{id}/{avatarHash}/30.png\"

=== 2.8.0.007@2020-04-21 ===
* Update links from Trello to http://g2t.support
* Update name to include \"Gmail-to-Trello\"

=== 2.8.0.006@2020-04-20 ===
* Had to publish as new Extension \"Gmail-2-Trello\" due to old extension updates being disallowed.
* Change \"Arrows\" to a pop-up for \"Add below:\" and \"Add to:\"
* Try AspectRatio on for more reasonable resize experience [nope, doesn't work for what we'd want]
* Posted in new github repo: https://github.com/appliedmedia/gmail-2-trello

=== 2.8.0.003@2020-03-04 ===
* Now uses background script for retrieval and upload of all attachments/images/embedded images, should resolve CORS/CORB new higher level of Chrome Security.
* Standardize on selectors for embedded titles
* Reduce scopes of domains in manifest
* Update descriptive text in manifest
* Update to jQuery 3.4.1.slim
* Add option/shift-click to \"Attach\" or \"Images\" will select-all/deselect-all based on first checkbox's state
* Remove in-app purchases
* Output jQuery object when body can't be found

=== [email protected] ===
* Try some changes to grow boxes (unsuccessfully)
* Update file naming upload code to gleen filename from aria-label text
* Gmail UI class names changed again, in gmailView we now use a single viewport: '.aia:first'. It was '.aeJ:first'. We no longer explicitly try to detect splitlayout, which may or may not work. Will need to test with folks.
* Initial error message when retrieving attachment content fails with 0 length. Probably CORS/CORB new Chrome security model, need to retrieve data from background script. Fix in progress but will take a while to refactor uploading code.
* Deeper highlighting for Labels and Assign, use gradient to indicate selected
* Remove trash can from GtT pull down
* Move popup location of GtT pull down to under icon
* Use new === of Trello Client.js
* Make sure UI, Sign-out works (enough) when Trello Authenticate fails.
* Look for old legacy classname m{UNIQUEID} only if other emailId tags aren't present
* Iterate differently
* Use data-thread-id if present
* Get Legacy Gmail Thread ID for backlink on new Gmail
* Find new Gmail views
* Make getManifest === check more robust error-handling-wise
* Fix calculation for pop-up when button position has changed
* New HD toolbar icon & sketch version
* Attachment image previews are now scale-to-fit
* Attachment file and image sections are hidden when there is no attachment
* [dev] Change form markups from dl/dt/dd to regular divs
* Fix bug on the new Gmail that cause toolbar buttons failed to work properly
* Remove overlapping intervals, thanks to Travis Hardman.
* Up debug log
* Silence logging of button positioner [still need to fix]
* Gmails coming up blank content in GtT - Change .adP:first to use more deterministic tag
* Check for ASL or ASF div for Refresh icon.
* Only call detach if more than one button/popup
* Use '0' for unknown === in === check
* More debugging logs for adding button / popup
* Only show === update if previous === > 0
* Remove toolBarHolder
* Debug Multiple Inboxes - more to do
* Circular log wasn't - hogged memory
* inline image now should upload to Trello correctly
* Restrict log from 1000 to 100 lines.
* Call browsingData from background to clear extension data.
* Show message to reload when === changes.
* Fix $button[0] -> $button.first().
* Fix missing views/options.html.
* detectToolbar return true if detected.
* .detach button and popup and then only append one.
* Make sign out an explicit button on the page.
* Fix resize via jQuery UI, needed clearfix at popup level for jQuery UI added elements
* Call pre-init after button disappear
* Semi-final jQuery UI resizing (not quite right for normal state, works okay for list state)
* Show === number in options panel (prep for noticing === change and prompting to reload)
* Remove G-Ni from GtT icon
* Add timer to check every 2 seconds for GtT button showing
* Use gh='mtb' to find toolbar
* Add G-Ni to GtT icon
* Remove :first from G-atb
* Additional debugging code in toolbar and labels code
* Report of GtT button not appearing when Streak and RightInbox, some tweaks to button positioning code to hopefully circumvent problem.
* Add info message to options screen
* Initial cut at button for chrome.browsingData.remove
* Update manifest with 64 and 128 icons
* Icon not showing up in toolbar due to other extension icons in toolbar
* Update gtt_log to have timestamp
* Move email search hyperlinks to top of content
* Parse \"29. Mai 2017 um 15:18\" correctly
* (Until I have a better idea, have to decode the dateTime by hand and do some month comparisons)
* And then after doing that ton of work and realizing this will be horrific to maintain, I ripped it all out
* Check for 401 more leniently, add target to error
* Lists without organizations were being filtered out! Fixed.
* Change Features/Bugs to 'Help'
* Created 'Report' feature, which will put latest error and last 1000 log items into card to post to GtT Trello board
* 400 invalid id on attachment upload: Use pos === 'at' to indicate path to attach
* Track mouseUp and mouseDown in same external-to-window container
* Make positioning logic more robust for Upload to combat Trello POST pos 404 error
* Click outside window closes window
* Focus outside window closes window
* Error in attachments processing fixed to produce correct filename
* Install keyboard trap to Show Popup, Remove keyboard trap on Hide Popup
* Clean up consts for keyboard trap
* First cut at image with larger tooltip on hover
* Load jQuery UI CSS before our CSS so we can override it
* Add named function gtt_keydown to prevent duplicate listeners
* Bump === to work around Google problem
* Remove Gmail load wait timer now that GtT button is more robust on no-data
* Move keyboard trap to bindEvents
* Dirty centering when no data so popup will move as appropriate
* Fix error with \"bottom\" should be \"below\"
* Refactor upload code to pull it all into model work, add model.Uploader class
* Move attach code back into our code since Trello doesn't want it
* Fix error where attachment URL was click link instead of updated card
* Fixed long untruncated image/attachment string
* First cut at having GtT button always show, even when there is no data to populate - this may reduce the \"where's my button?\" support issues
* Have images bottom grow when you grab the window grow handle in the lower right corner
* Fix bug in creating new card
* Simplify UI for adding to a card vs. adding new card below
* Add to an existing card!
* Had to change UI a little to account for card selection and \"where\" to put the card

=== 2.6.0.0...2.5.0.1 ===
* Make minimum width bigger for popup
* Create shortcut dropdown for due date
* Create option entry to add more to shortcut dropdown
* Persist previous due date and time
* Attachments and Images now are transferred completely to Trello instead of lodging as links back to Gmail
* Attachments downloaded to memory and uploaded to Trello instead of just providing links
* Support keyboard shortcuts: Alt/Opt+Shift+G is the default to show the popup (once in Gmail and the button is visible)
* While the Popup is showing, hitting ESCAPE or CTRL+. or CMD+. will dismiss the popup.
* CTRL/CMD+ENTER will Add to Trello.
* Change stray bullets to asterisks but not stray hyphens
* Fix member assignment buttons to persist across board changes
* Shift-click \"Labels:\" or \"Members:\" to clear
* Fix typos GMail -> Gmail
* Layout changes to accomodate smaller screens
* Can now assign other users
* Your id should always be first in Assign list
* Remove \"Assign to me\" button
* Move signout and error to chrome extension loaded html files
* Make label and member msg boxes same height as label and member chicklets so things don't \"jump\" up and down when picking new boards
* Fix pInterest loads with white overlay on top of first 20 pinned items -- was conflicting with jQuery UI CSS
* Moved jQuery-ui-css loading to top of popup
* Changed matches to mail.google.com instead of all urls.
* Fix problem of email with no body
* Try to fix parseData to always return a valid data block (even if empty data)
* Update board changed to clear out list/labels when settings boardId is different than boardId
* Gray box around imgs in image list to show \"spacer\" images
* Use window.location.pathname to provide \"/mail/u/0/\" or \"/mail/u/1/\" etc. for different gmail accounts
* Add support to attach images from Gmail
* Fix typo with missing brace for uriForDisplay
* To handle jQuery UI looking to Gmail for UI icons, must replace url(\"images... with url(\"chrome-extension://__MSG_@@extension_id__/images...

...read entire history at https://g2t.pub/changes and interact with this community at https://g2t.support.
Read more

Source Manifest.json

{"update_url": "https://clients2.google.com/service/update2/crx", "name": "Gmail-2-Trello", "short_name": "G2T", "version": "2.9.0.002", "manifest_version": 3, "description": "Gmail+Trello integration. Add Google mail to Trello cards with text, backlinks, and attachments.", "icons": { "16": "images/icon-16.png", "48": "images/icon-48.png", "64": "images/icon-64.png", "128": "images/icon-128.png" }, "commands": { "g2t_keyboard_shortcut": { "suggested_key": { "default": "Alt+Shift+G" }, "description": "Show the Gmail-2-Trello popup" } }, "homepage_url": "https://g2t.support", "background": { "service_worker": "service_worker.js" }, "web_accessible_resources": [ { "resources": [ "images/avatar_generic_profile_gry_30x30.png", "images/chevron-down.png", "images/doc-question-mark-512.png", "images/icon-16.jpg", "images/icon-48.png", "images/new_icon.gif", "images/ui-icons_444444_256x240.png", "images/ui-icons_555555_256x240.png", "images/ui-icons_777777_256x240.png", "images/ui-icons_ffffff_256x240.png", "inject.js", "lib/jquery-3.4.1.min.map", "views/error.html", "views/popupView.html", "views/signOut.html", "views/subscribe.html", "views/versionUpdate.html" ], "matches": [ "" ] } ], "content_scripts": [ { "matches": [ "https://mail.google.com/*" ], "js": [ "lib/jquery-3.4.1.min.js", "lib/jquery-ui-1.12.1.min.js", "lib/trello.min.js", "lib/combo.js", "lib/google-analytics-bundle.min.js", "lib/eventTarget.js", "lib/menuControl.js", "lib/waitCounter.js", "views/gmailView.js", "views/popupView.js", "model.js", "app.js", "content-script.js" ], "css": [ "lib/jquery-ui-1.12.1.min.css", "style.css" ] } ], "offline_enabled": false, "permissions": [ "browsingData", "tabs", "storage" ], "options_page": "views/options.html", "oauth2": { "client_id": "931090930005-ma9ieb9t6i4i1lndtgsc57opm6r3u728.apps.googleusercontent.com", "scopes": [ "https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/chromewebstore.readonly" ] }, "action": { "default_icon": "images/icon-16.png", "default_title": "Gmail-2-Trello options", "default_popup": "views/options.html" }, "content_security_policy": {\t"extension_pages": "script-src 'self'; object-src 'self';",\t"sandbox": "sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';" }, "host_permissions": [ "https://trello.com/", "https://*.trello.com/", "https://mail.google.com/", "https://googleapis.com/", "https://*.googleapis.com/", "https://google-analytics.com/", "https://*.google-analytics.com/", "https://googleusercontent.com/", "https://*.googleusercontent.com/", "https://gstatic.com/", "https://*.gstatic.com/" ]}
Read more