The server logged that it pushed to one device. FCM accepted the message. The notification permission was granted, the channel sat at maximum importance, and the phone was awake. No card appeared — not in the foreground, not in the background, not after a force-stop and relaunch.
The desktop build still showed notifications, which turned out to be the most misleading clue of the week: on Linux they never take this path at all.
This is the story of a complete, silent notification outage in a Flutter app, the one line in adb logcat that explained it, and the three separate problems that had to be fixed before a push actually became a card on screen.
Four things that were all true
When a notification does not appear, the usual checklist is short: did the server send it, does the device have permission, is the channel enabled, is the app allowed to run?…