- JavaScript 71.7%
- CSS 13.9%
- HTML 9.2%
- Shell 5.2%
| background | ||
| content | ||
| icons | ||
| pages | ||
| popup | ||
| screenshots | ||
| scripts | ||
| styles | ||
| .gitignore | ||
| .web-ext-ignore | ||
| AGENTS.md | ||
| CHANGELOG.md | ||
| LICENSE | ||
| manifest.json | ||
| README.md | ||
| release-and-sign.fish | ||
| repeat-release.fish | ||
| updates.json | ||
Maikel's Mastodon Improvements
A Firefox extension that personalises your Mastodon experience. Replace relative time displays with absolute local time, display private user notes, search and insert GIFs, customise date/time formats, and improve edit indicators.
Screenshots
Web Interface
GIFs
|
Config Screen
|
Search Notes
|
Settings Window Popup
|
Quick Actions
|
Disclaimer
If your computer explode is not my fault, this softtware comes as it is and it is the dirtiest code I've ever written. It's been like this
Maikel had idea
|> Maikel codes idea
|> Maikel monkey-tests the idea
|> Maikel gives no fuck about what idea might break that previously worked
|> Maikel moves on
|> Go back to line 1
I call it recursive technical debt. Do I care there are no tests? Not really. This project isn't paying my bills, it was an afternoon of coding with haste and spite-driven passion for decent UX.
Note: This extension has only been tested with the official vanilla Mastodon ADVANCED web interface in Firefox desktop browser. Compatibility with other Mastodon interfaces or browsers is not guaranteed.
Features
- Absolute Time: Replace relative time (like "20m", "2h") with actual local time
- Move Edit Indicator: Replace asterisk (*) with "Edited" text below the date
- GIF Button: Search and insert GIFs from GIPHY directly into your toots
- User Notes: Display private notes about users below their toots (requires authentication)
- Notes Search: Search through your saved user notes
- Extension Configuration Page: Full-featured settings page with authentication, API key management, and extension information
- Custom Locale: Support for multiple languages and custom locale selection
- Dynamic Content: Works with infinite scroll and dynamically loaded content
Installation
From Release (Recommended)
- Download the latest signed
.xpifile from the releases page- These are Mozilla-signed versions ready for installation
- Open Firefox and go to
about:addons - Click the gear icon (⚙️) → "Install Add-on From File..."
- Select the downloaded
.xpifile
You can set it to auto-update if you see fit and at the latest every 24 hours it'll check for new versions and automaticaly update them. Mozilla does check them too since every release in git.maikel.dev I put is a signed version reviewed from them.
From Source
Note: To build from source and install permanently, you need a signing key from Mozilla. For development/testing, use temporary installation instead.
-
Build the extension:
web-ext build web-ext sign -
Install the signed
.xpifile fromweb-ext-artifacts/directory
For temporary installation (development/testing only):
- Open Firefox and go to
about:debugging - Click "This Firefox" → "Load Temporary Add-on"
- Select the
manifest.jsonfile
Usage
- Click the extension icon in Firefox toolbar to access the popup menu
- Toggle features on/off as desired
- Right-click the extension icon and select "Extension Options" (or go to
about:addons→ MMI → Options) to access the full configuration page - For user notes: authenticate with your Mastodon instance first (via the configuration page)
- For GIFs: click the "GIF" button in the compose window to search and insert GIFs (optional: add your GIPHY API key in settings for better rate limits)
- Search your notes: use the search functionality in the configuration page to find specific user notes
Links
- Project: git.maikel.dev
- Support: Liberapay
Changelog
See CHANGELOG.md for version history.