Skip to main content

Changelog

Version numbers come from the @version userscript header (mirrored in code as GAS_VERSION) and drive the managers' auto-update checks.

2.3.0 — current​

  • Added gist.github.com coverage: a second @match line, plus an isEditor fallback that detects a real formatting toolbar within a textarea's enclosing <form> for cases whose placeholder/aria-label/name wording doesn't match github.com's conventions. The button now shows up in gist comment forms too.

2.2.0​

Highlights of the 2.2.0 codebase:

  • Twelve bundled emoji (84, boo, bulleh, crine, fire, hmm, rose, skull, trollge, wet, woah, yeah) served from the repo's res/img/ directory.
  • Toolbar button injected into GitHub's formatting toolbar ([role="toolbar"]), with dedupe via data-gas-button / data-gas-processed.
  • Lazy singleton picker (.gas-picker) with viewport-clamped positioning and flip-upward fallback.
  • Dual editor support: textarea (React-safe native setter + input/change events) and contenteditable (Range insertion + InputEvent('insertElement')).
  • SPA-aware re-scanning via MutationObserver with a 100 ms debounce.
  • Dismissal: Esc, outside click, scroll, resize. Toast feedback on every insertion (1400 ms).
  • window.GAS debug API: version, gas(), scan(), editors(), buttons(), testButton(), close().

For the full prehistoric record, consult git log -- gas.userscript.js.

Upcoming / ideas​

Non-binding list of natural directions — contributions welcome:

  • more default emoji from the media library (the GIFs are sitting right there),
  • settings UI for user-managed emoji (would need a storage grant — trade-off vs @grant none).