Generously salt the chicken thighs on all sides and let sit for about 1 hour at a room temperature.
In a tagine or a Dutch oven, heat the olive oil and cook the chicken on both sides (3-4 minutes per side) until well browned. Remove from the pot and set aside.
Preheat an oven to 350°F (175°C). Discard all but 2 tablespoons of the fat remaining in the pot and heat it. Add the onions and cook, stirring often, over medium heat for about 15 minutes, until golden brown.
Add the coriander, white pepper, ginger, saffron, turmeric, and a pinch of salt to the onions and stir constantly for a few minutes. Return the chicken to the pot. Add the chicken stock and bring to a boil. Cover the pot and cook in the oven for 40 minutes.
When done, remove the chicken thighs from the pot and return it to a burner. Simmer for about 6-8 minutes or even more if needed to reduce the sauce. Add the preserved lemons and olives. Heat them for a couple of minutes, then add the butter, parsley, and cilantro. Season with salt to taste.
Serve the chicken thighs with some sauce, lemons, and olives over them. Enjoy!
Notes
Adapted from Mourad: New Moroccan by Mourad Lahlou