Skip to content

Android: the Notifications settings card is not rendered at all, so there is no way to learn that push doesn't exist #7824

Description

@mewc

Describe the bug

On Android, Settings shows no Notifications section — not the toggle, not the "Unavailable in this build" row, nothing. Android has no push transport yet (#6092, #7482 both open), which is fine and expected; the bug is that the app is silent about it. An Android user's only way to find out that a locked phone will never alert is to wait a day and notice.

The iOS branch of the same widget already has the right behaviour for this case — it renders a disabled row reading "Push notifications — Unavailable in this build" when the gateway define is empty. Android never reaches that code.

Cause

mobile/lib/features/settings/settings_page/notifications_section.dart:7-10:

Widget build(BuildContext context, WidgetRef ref) {
  if (defaultTargetPlatform != TargetPlatform.iOS) {
    return const SizedBox.shrink();
  }

_NotificationsSection is the only notifications UI in mobile settings (mobile/lib/features/settings/settings_page.dart:219 is its sole use site), so the early return removes the entire surface on Android rather than degrading it.

Steps to reproduce

  1. Build and run the Flutter app on Android.
  2. Join or create a community.
  3. Open Settings.
  4. There is no Notifications card between the sections above it and "Remove community".

Expected behavior

The card renders on every platform. On Android it shows a non-interactive row stating that push notifications are not yet supported on Android, ideally linking #6092 so a user can follow or thumbs-up the work rather than filing a duplicate.

Actual behavior

Nothing renders. The absence is indistinguishable from "notifications are on and working".

Suggested fix

Replace the platform early-return with a platform branch that reuses the existing unavailable-row pattern:

if (defaultTargetPlatform != TargetPlatform.iOS) {
  return AppListCard(
    label: 'Notifications',
    verticalPadding: Grid.twelve,
    children: [
      AppListRow(
        key: const ValueKey('push-notifications-unsupported-platform'),
        icon: LucideIcons.bell,
        title: 'Push notifications',
        subtitle: 'Not yet supported on Android',
      ),
    ],
  );
}

Happy to open a PR if the copy is agreed.

Version and platform

  • Buzz version: 0.5.23
  • OS: Android
  • Relay: hosted twelfth-ai.communities.buzz.xyz, relay software 0.2.1
  • Verified at block/buzz@312cf67

Related: #6092, #7482

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions