Feature Request: Allow dynamic Notification Grouping via message 'extras' (Topic-based grouping)
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 42/100
調査の方向性
まず、Android 通知の構築エントリーポイントと、message extras の解析方法を追跡します。既存のデフォルトのグループ化動作を確認し、その後、提案された client::notification::group の値と、それが存在しない場合のフォールバックを検証します。グループ化された通知が指定された値を使用し、現在のデフォルト動作を変更しなければ完了です。
索引モデルが issue の本文から書いたものです。
説明
Is your feature request related to a problem? Please describe.
Currently, all notifications from Gotify are bundled into a single "Gotify" group in the Android notification shade, regardless of which "Application" (Token) sent them.
While issue #187 mentions that native notification grouping is supported, it appears to rely on Android's default behavior, which merges all messages from the app into a single list.
As shown in the screenshot below, I have "Dryer" alerts and "TrueNAS" alerts. Even though they come from separate Applications (different tokens, different priorities, different sounds), they are flat-listed under one main "Gotify" group. There is no way to distinguish or dismiss just the "Dryer" group without expanding the entire list.
Describe the solution you'd like
I would like to support Topic/Channel-based Grouping by passing a group ID via the message extras.
If the Android client sees a group key in the payload, it should use that string as the setGroup() key when building the notification.
Proposed Payload:
{
"message": "Cycle Complete",
"title": "Dryer",
"priority": 5,
"extras": {
"client::notification": {
"group": "laundry"
}
}
}
Proposed Logic:
Check extras for client::notification::group.
If present, use that value for notificationBuilder.setGroup("laundry").
If absent, fallback to current behavior (default app grouping).
Additional Context This logic is similar to how the Home Assistant companion app allows users to specify a group tag to keep "Security" alerts separate from "Laundry" alerts in the notification shade. This would make Gotify significantly more powerful for users monitoring multiple distinct systems without relying on the default app-wide bundle.
- 主要言語
- Java
- スター
- 1.5k
- フォーク
- 218
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
gotify/android のほかの issue
-
a:feature
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
-
Faster deleteオープンa:feature
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
-
a:feature
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 60/100
メンテナーはふだん 1 日以内に返信
-
[BUG] S3 CORS responses omit Access-Control-Allow-Credentials for matched origins対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
floci-io/floci#5369 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
securityHeaders replaces a route's own Content-Security-Policy (0.9.9; weakens embedders' pages)オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
sqlcipher/sqlcipher-android#97 · コメント 1 件 ·
-
area-integrations
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信