Add butter and olive oil to a skillet over medium-low heat. Add the onion and shallot and season with a little salt and pepper and cook, stirring occasionally. Once the onions are soft and translucent, add the soy sauce. Cook, stirring occasionally, until the onions are deeply golden brown (about 30 minutes). Allow the onions to cool to room temperature.
Roughly chop the onions and then mix with the remaining ingredients in a mixing bowl. Season to taste with salt and pepper. Refrigerate until ready to serve. Best made 24 hours before serving.