Skip to content

fix(notification): resolve duplicate cards, focus-mode auto-dismissal, and local hide behavior#244

Closed
Mudit200408 wants to merge 1 commit into
sameerasw:developfrom
Mudit200408:notification-fix
Closed

fix(notification): resolve duplicate cards, focus-mode auto-dismissal, and local hide behavior#244
Mudit200408 wants to merge 1 commit into
sameerasw:developfrom
Mudit200408:notification-fix

Conversation

@Mudit200408
Copy link
Copy Markdown
Contributor

Verify Duplicate Card Prevention:
1 - Send a notification from Android (e.g., ID 123).
2 - Send the exact same notification again. Confirm no duplicate card is added and no new sound/banner triggers.
3 - Send an updated version (same ID 123, modified text). Confirm the card updates in-place and triggers a native alert.
For example, if a background process or music player keeps sending the exact same notification state (same ID, same title, same body) to the Mac repeatedly, the Mac app will now update the existing card in place instead of piling up identical duplicate cards in your list, and it won't keep playing alert sounds for unchanged content.

Verify Focus Mode / DND Sync Behavior:
1 - Turn on Do Not Disturb or disable notifications for the app in macOS System Settings.
2 - Send a notification.
3 - Confirm that notifications persist in the Mac UI and are not incorrectly auto-deleted by the sync process.

Verify Local Dismissal (Hide):
1 - Click Hide on a notification card in the Mac app.
2 - Confirm the card is dismissed only on Mac and remains active on Android.

…, and local hide behavior

- Update addNotification to check for existing nids and update the notification array rather than appending duplicates blindly.
- Query UNUserNotificationCenter authorization settings in syncWithSystemNotifications to skip manual dismissal checks if notification permission is not granted (prevents auto-dismissal in Focus/DND mode or when notifications are disabled).
- Modify hideNotification to only dismiss the notification locally on Mac without sending the dismissal action back to Android.
@sameerasw
Copy link
Copy Markdown
Owner

@Mudit200408 Hi! I don't think the changes are properly applied. Probably because of the conflict fixes.

To help avoiding this issue, can you make sure to open individual PRs for each feature or change domain? Like separate DND stuff, dismissal and the other changes into separate PRs. so in that way even if there are conflicts, I can help to rebase it easily... Try to keep changes per PR to very minimum :)

And most importantly try to commit often than 1 containing all changes... Will help a lot when rebase :)

@Mudit200408
Copy link
Copy Markdown
Contributor Author

@Mudit200408 Hi! I don't think the changes are properly applied. Probably because of the conflict fixes.

To help avoiding this issue, can you make sure to open individual PRs for each feature or change domain? Like separate DND stuff, dismissal and the other changes into separate PRs. so in that way even if there are conflicts, I can help to rebase it easily... Try to keep changes per PR to very minimum :)

And most importantly try to commit often than 1 containing all changes... Will help a lot when rebase :)

sure

@Mudit200408
Copy link
Copy Markdown
Contributor Author

@Mudit200408 Hi! I don't think the changes are properly applied. Probably because of the conflict fixes.

To help avoiding this issue, can you make sure to open individual PRs for each feature or change domain? Like separate DND stuff, dismissal and the other changes into separate PRs. so in that way even if there are conflicts, I can help to rebase it easily... Try to keep changes per PR to very minimum :)

And most importantly try to commit often than 1 containing all changes... Will help a lot when rebase :)

Should i open another pr? with the changes properly done?

@github-project-automation github-project-automation Bot moved this from Backlog to Done in AirSync Features and Bugs May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants