decentraland / decentraland/godot-explorer
Notification Settings Panel - Category toggles
- Dominant language
- Rust
- Stars
- 18
- Forks
- 19
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 43
Description
## **⚠️ Problem:**
Users can only mute Decentraland at the OS level — all or nothing. Once campaigns beyond D1 ship, the only exit from an unwanted category is killing notifications entirely, or uninstalling. Protects the opt-in rate every Retention target on #2585 depends on.
## **🏁 Scope:**
4 toggles — all notifications (master), top events, scene reminders, social. Ships in the developer tools panel first; production placement waits on design. State persisted locally and synced to #2838 so muted categories are dropped server-side.
## **📝 Deliverables:**
- [ ] 4 toggles — master, top events, scene reminders, social
- [ ] Master off disables the other 3
- [ ] Ship inside developer tools panel
- [ ] Persist locally + sync to push service (#2838) on change and on login
- [ ] OS permission state surfaced; route to OS settings when denied
- [ ] Default state per category documented in this issue before implementation
- [ ] Android channels (#2836) map 1:1 to these categories
- [ ] `NOTIFICATION_SETTING_CHANGED` Segment event — category + new value
- [ ] File the design request for production placement, link it here
## Metrics
Rolls up to #2585. Own signal: per-category opt-out rate vs full-mute rate — category opt-outs should absorb most opt-outs while full mutes stay flat.
## **Notes**
- Defaults per category — all on, or social off by default?
- Production placement — design owner and ETA?
## **🔗 References:**
- [#2664](https://github.com/decentraland/godot-explorer/issues/2664) — PRD; per-category settings + global mute are specified there
- [#1651](https://github.com/decentraland/godot-explorer/issues/1651) — existing local notification honours OS permission only; no in-app control exists today
- [decentraland/unity-explorer#2159](https://github.com/decentraland/unity-explorer/issues/2159) — notification state bled across accounts; settings scoped per wallet, not per device
Contributor guide
Assessment
This issue has not been assessed yet.