Skip to main content

Open Source Contributions

A collection of my open source contributions to projects I use and appreciate. These range from bug fixes and features to documentation improvements across TypeScript, Ruby, Python, Go, Rust, and more.

C#

Ombi

Ombi-app

Self-hosted web application for managing media requests

Added ItemUrl template variable and email customization options for better email notifications

C# Email Typescript

Configuration

Unraid Plugin Repository

Squidly271

Plugin repository for Unraid server plugins

Update outdated forum links

Maintenance merged

Updated 14 outdated Unraid forum links across 13 plugin configuration files

Documentation Unraid

Documentation

LibreChat Documentation

LibreChat

Documentation site for LibreChat AI chat platform

Fix typo in dotenv.mdx

Documentation merged

Corrected a typo in the environment variable documentation for improved clarity

MDX Documentation

Lunch Money API Documentation

lunch-money

API documentation for Lunch Money personal finance app

Added new to_base attribute to Crypto object documentation and added nullable column to document which fields can be null

Documentation API MDX

Fix GET transaction group HTTP method

Documentation merged

Corrected HTTP method from POST to GET for the get transaction group endpoint

Documentation API

Removed leading and trailing pipes from table markdown to improve readability when editing

Documentation Markdown

Go

Stash

stashapp

An organizer for your media collection

Fixed a bug where Twitter and Instagram URL bases were duplicated when submitting to StashBox if the entry already had full URLs

Go GraphQL

Added StashID display to studio details page without requiring edit mode, improving usability

Go React TypeScript

PHP

Heimdall Apps

linuxserver

Application definitions for Heimdall dashboard

Update stash logo

Enhancement merged

Updated the Stash application logo to use the current branding

Design

Unraid Community Applications

Squidly271

Community Applications plugin for Unraid servers

Update old forum links

Maintenance merged

Updated outdated Unraid forum links to point to current forum locations

Documentation Unraid

Python

Unmanic

Unmanic

Library optimizer for media files

Fixed a bug where pathlib Path object was incorrectly joined with string, causing file operation failures

Python

Unmanic Plugins

Unmanic

Plugin repository for Unmanic media library automation

Switch to file_out=None for mkvpropedit

Enhancement merged

Changed MKVpropedit plugin to set file_out to None instead of creating hardlinked copies, improving efficiency

Python MKV Video Processing

Fixed tag handling and progress parsing in the MKVpropedit plugin

Python MKV Video Processing

Add new MKVpropedit plugin

Feature merged

Created a new plugin to manipulate MKV file properties using mkvpropedit without re-encoding, enabling fast metadata editing

Python MKV Video Processing

Unmanic Video Transcoder

Unmanic

Video transcoder plugin for Unmanic

Add scale_out_range setting

Feature merged

Added a new configuration option to control how out-of-range pixel values are handled during video scaling

Python FFmpeg

Ruby

Jekyll

jekyll

Transform plain text into static websites and blogs

Add csv to runtime dependency list

Bug Fix merged

Added CSV as an explicit runtime dependency to ensure Ruby 3.3+ compatibility, as it's no longer included in the standard library by default

Ruby Static Site Generator

RBI Central

Shopify

Central repository for Sorbet RBI files

Fixed ActiveJob RBI type definitions by fully qualifying the JITTER_DEFAULT constant for Sorbet compatibility

Ruby Sorbet

RuboCop

rubocop

A Ruby static code analyzer and formatter

Added IncludedMacroPatterns configuration to catch assertion methods via regex patterns for better cop customization

Ruby Static Analysis

RuboCop Sorbet

Shopify

RuboCop extension for Sorbet static typing

Fixed documentation formatting by adding missing code fence around example code

Ruby Sorbet RuboCop Documentation

Scryfall Rails

0-9194

Ruby on Rails API wrapper for Scryfall MTG card database

Added support for looking up Magic: The Gathering cards by their Multiverse and Cardmarket IDs

VCR

vcr

Record and replay HTTP interactions for testing

Fixed Ruby 3.5 compatibility by adding CGI as runtime dependency and replacing parse method to work with bundled gem

Rust

halloy

squidowl

IRC application written in Rust

Fix typo in installation docs

Documentation merged

Fixed a typo in the installation documentation that appeared to be a copy-paste issue

Rust Documentation

TypeScript

Homebridge BlueAir Purifier

kovapatrik

Homebridge plugin for Blueair air purifiers

Fixed regional labeling to properly indicate that the USA region also supports Canadian users

HTML Homebridge IoT

homebridge-sharkiq

homebridge-plugins

Homebridge plugin for SharkIQ robot vacuums

Large codebase cleanup to improve code quality and maintainability

TypeScript Homebridge IoT

added error logging and improved error handling for 500 server errors and consolidated error logging

TypeScript Homebridge IoT

Better handle the oauth vs basic auth login methods

TypeScript Homebridge IoT

Seerr

seerr-team

A fork of Overseerr for managing media requests

Refactored webhook notification system to use Handlebars templating instead of custom KeyMap system, adding 17 custom helpers for flexible template rendering

TypeScript Handlebars Node.js

Added exempt tags feature to allow filtering media during Sonarr/Radarr sync based on configured tags

TypeScript React API Integration

Implemented comprehensive custom email template system with 17 dynamic variables and live preview functionality for email notifications

TypeScript React Email

Signal Desktop

signalapp

Private messenger for Windows, Mac, and Linux

Added ability to click on the currently selected conversation to deselect it in the LeftPane

TypeScript React Electron

Stash-Box

stashapp

Metadata API and management interface for organizing media

Include bot edits in pending count

Bug Fix merged

Fixed pending edit count to include both bot and regular edits by allowing the is_bot field query parameter to return both types

TypeScript React GraphQL

Improved image display by scaling down vertical images to prevent excessive cropping and centering all images for balanced cropping

TypeScript React CSS

Fixed substudio sorting to be case-insensitive for more intuitive alphabetical ordering

TypeScript React