Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

プッシュ通知の処理をもう少しまともにする #230

Open
rinsuki opened this issue Nov 26, 2022 · 0 comments
Open

プッシュ通知の処理をもう少しまともにする #230

rinsuki opened this issue Nov 26, 2022 · 0 comments

Comments

@rinsuki
Copy link
Member

rinsuki commented Nov 26, 2022

現状…

  • imast-backend 側で WebPush を受け取ると /api/v1/notifications/:id を叩く
    • この情報は端末アカウントを超えて共有されないので、回数はユーザーが登録した回数分になる
    • ので、例えば押し入れにしまったままだったり下取りに出したりした iPhone 5s 分のプッシュ通知の取得が一生走っている可能性がある
  • iMast 側でもプッシュ通知を受け取ると /api/v1/notifications/:id を叩く
    • これは実際に受け取れた端末分

これだとバズった時とかSidekiq全再試行とかした時にレートリミットで死ぬ (1通知あたり2*端末分取得が走る) ことがわかったのでなんとかしたい

  • imast-backend で情報取るのをやめる
    • 特にメモリが少ない古い端末だと Notification Service Extension が発火しない可能性があったはず
    • なので imast-backend で情報入れないとのっぺらぼうな通知になる可能性がある…
    • オプトインが丸いか?
  • iMast が imast-backend が取った情報を imast-backend から貰うようにする
    • とはいえ APNs のペイロードに乗る大きさでは恐らくないので、一時トークンを発行してそれを渡して取るみたいな感じになりそう?
    • でもあんまり一時的にでも機密かもしれないデータを自分で保存するのは微妙
      • 適当に暗号化したデータだけ持っておいて APNs で鍵も送ればいい?
    • いつまで持てばいいんですか?という問題もあるし
  • more...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant