All is apparently forgiven in the House Republican caucus … or at least almost all. Paul Ryan easily won re-election this afternoon to a full term as Speaker of the House, losing only one Republican along the way. Thomas Massie (R-KY) voted for Daniel Webster, Ryan’s 2015 challenger for the post. In fact, Nancy Pelosi lost more Democrats than Ryan lost Republicans, but not by much:

Conservative Rep. Thomas Massie (R-Ky.), a frequent thorn in leadership’s side, was the sole Republican to defect from Ryan. Massie cast his vote for Rep. Daniel Webster (R-Fla.), who challenged Ryan for the Speaker’s gavel in 2015 but not this year.

The final vote totals were 239 votes for Paul Ryan, 189 votes for Rep. Nancy Pelosi (D-Calif.), two votes for Rep. Tim Ryan (D-Ohio) and one vote each for Reps. Jim Cooper (D-Tenn.), John Lewis (D-Ga.) and Daniel Webster (R-Fla.). …

Before Donald Trump’s win in the presidential election, members of Ryan’s own conference were at least talking about voting against him. That talk completely died down after the election, and only Rep. Thomas Massie cast a GOP ballot against Ryan on Tuesday.

Pelosi lost only four votes, which suggests that she retains an iron grip on her caucus — despite terrible results in last year’s election for Democrats up and down the ballot.

Both of these contests were settled weeks ago in caucus votes, so no one expected a different outcome, but perhaps Democrats should have. Pelosi and her leadership team have lost four straight elections and have turned the Democratic Party into an entity consisting almost entirely of coastal enclaves and Academia. A more dramatic revolt today might have made a clear statement about a lack of confidence that Democrats should feel, but apparently do not.

Still, the main story is about the winner of the Speaker contest. Not all that long ago, the portents swirled for yet another revolt against Ryan. A year earlier, Ryan had 45 votes against him in the caucus, and ten of them defected in the House floor vote to replace John Boehner. His contentious relationship with Donald Trump not only had some in the party demanding he relinquish the honorary gavel at the GOP convention but also stoked calls to kick him out of leadership. An effort to preclude his return through a primary challenge attracted support among Trump’s ranks, but fell laughably short. As recently as October, though, the grassroots held Ryan as their focal point for anger against the “establishment” when Ryan carefully parsed his way through endorsing and criticizing Trump.

Less than two months later, the House Republican caucus looks like a love feast in comparison, and Ryan appears firmly seated at its head table. That’s quite a turnaround, and it has portents of its own for coordinated effort between both ends of Pennsylvania Avenue. “No matter how long you’ve been here,” Ryan said in his opening remarks before his election, “you haven’t seen it all.” Perhaps that might be more true than we know in this new session of Congress.