Good question. My best guess is that the buttons have become less important, because:
- they try to auto-detect where a signal comes,
- they have better defaults, so you don't really need to change settings, and
- even monitor brightness can partially be controlled by the OS.
But yeah, I got a new monitor at work, and instead of buttons, it has a joystick on the backside. Now the monitor's menu pops up every so often, I'm guessing because something shook the joystick just enough to trigger it.
When I saw that joystick for the first time, I wondered how long it'll take before it breaks, but it's broken on day 1, so that's great. 🫠
The thing to me is always that, yeah, you need a huge commit for a breaking change in an internal library inside a monorepo, but you will still need to do the same work in a polyrepo eventually, too.
Especially since "eventually" really means "ASAP" here. Without going through the breaking change, you can't benefit from non-breaking changes either and the complexity of your codebase increases the longer you defer the upgrade, because different parts of your application have different behavior then. So, even in a polyrepo, you ideally upgrade all library consumers right away, like you're forced to in a monorepo.