In a 10- to 12-inch nonstick skillet, saute the garlic and onions in 1 teaspoon of the olive oil on low heat for about 5 minutes. Add the mushrooms and thyme, cook for 5 minutes, and remove the skillet from the heat.
Meanwhile, in a separate pot, cover and cook the spinach on low heat with just the water that clings to it from rinsing, until the spinach is just wilted. Let cool in a colander, press to remove some liquid, and chop.
In a large bowl, beat the eggs, egg whites, dill, salt, and pepper until evenly colored. Stir the spinach, mushrooms, and feta, if using, into the eggs.
Coat the bottom of the skillet with the remaining teaspoon of oil and return it to medium heat. When the skillet is hot, pour in the egg mixture. Cover and cook for 5 to 8 minutes, until the edges are firm and the bottom is golden and just beginning to brown.
Place a large, flat plate over the skillet and flip the skillet over so that the frittata falls onto the plate. Slide the frittata back into the skillet and cook about 5 minutes more, until the eggs are fully cooked.