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

Unread messages never goes away #3

Open
esmasui opened this issue Feb 28, 2014 · 4 comments
Open

Unread messages never goes away #3

esmasui opened this issue Feb 28, 2014 · 4 comments
Labels

Comments

@esmasui
Copy link
Member

esmasui commented Feb 28, 2014

Reproduce:

  1. Read messages on a room.
  2. Relaunch the application.

Expected:

  • No unread messages shown.

Actual:

  • Unread messages still shown.
@esmasui esmasui added the bug label Feb 28, 2014
@esmasui
Copy link
Member Author

esmasui commented Mar 3, 2014

WEB本家の挙動

前提

  1. ある部屋Aを開いた状態で別の部屋Bに別のクライアントから発言する。
  2. (1)により、部屋Bに新着マークがつく
  3. 別のクライアントで部屋Bをtouchすると、部屋Aを開いているクライアントの部屋Bの新着マークが消える
  4. (3)からtouchで発生するroom_touchedイベント(=touchが成功)を既読化のトリガーとしていると考えられる

IdobataAndroidではサービスがネットワークに接続したときにseedのunreadMessageを読み取ってnotificationを発行している。

notificationからWebViewで部屋を開くと、該当の部屋にtouchし、room_touchedイベントが発生していることも確認している。つまり、既読化は成功しているはずである。

にも関わらず、再度ネットワークに接続しなおすとseedを取得すると同内容のunreadMessageを再度受信してしまう。

@esmasui
Copy link
Member Author

esmasui commented Mar 3, 2014

ということは、、、っ!

@esmasui
Copy link
Member Author

esmasui commented Mar 3, 2014

Seedをサービスのインスタンスにキャッシュしちゃってるんじゃないかね...

@esmasui
Copy link
Member Author

esmasui commented Mar 3, 2014

ちがったねぇ。WebSocketのopen毎にSeedをクエリしてるねぇ。うーん。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant