Put the potatoes in a large pot and cover with cold water by 2 inches. Add 2 tablespoons salt and bring to a boil. Cook until a skewer inserted into the center of each potato meets with no resistance, about 20 minutes. Drain well and let them cool slightly while you prepare the mushrooms.
Heat 2 tablespoons each of the butter and canola oil in a large cast-iron pan over high heat until the mixture begins to shimmer. Add the mushrooms, garlic and shallots. Cook until the mushrooms are golden brown and all of the liquid has evaporated, and the shallots are tender. Transfer to a bowl.
Cut the potatoes into 1/2-inch dice, keeping the skin on. Heat the remaining 2 tablespoons butter and oil in the same pan over medium-high heat, and heat until the mixture begins to shimmer. Add the potatoes and season with salt and pepper. Spread in one layer and cook, pressing with a spatula, until crisp and deep golden brown on the bottom, about 5 minutes. Stir in the mushrooms, parsley, thyme and vinegar. Toss to warm through, 1 to 2 minutes. Season with salt and pepper. Transfer to a platter and drizzle with olive oil. Serve hot or at room temperature.