Cook 1 diced red onion in 1 tablespoon canola oil in a saucepan over high heat until soft. Stir in 1 grated peeled 2-inch piece of ginger and 1 diced serrano chile; cook 30 seconds. Add 1 cup water and 1/2 cup sugar; cook until the sugar dissolves. Add half a 12-ounce bag cranberries; cook until the berries pop and the sauce thickens, about 10 minutes. Add the rest of the cranberries; cook 1 minute. Off the heat, stir in 2 tablespoons honey, the grated zest of 1 lime, and salt and pepper. Let cool slightly, then stir in 1/4 cup chopped cilantro.