Unread message notifications not appearing in StreetComplete

That changeset was made with StreetComplete. The fact that the timings are like that doesn’t mean that the user waited until the block expired and then uploaded; it might just be StreetComplete doing that. Perhaps @Mateusz_Konieczny (who has commented on one of these changesets, and is a contributor to StreetComplete, might know)?

I have blocked both users again for a short period and sent personal OSM messages to both accounts.

Edit: I’ve just sent a message to the account that I use in StreetComplete myself and no message in the app appeared, even after uploading some data. Maybe it will pop up at some point in the future.

1 Like

Unread message pop up definitely should appear (uses basically the same interface and API as I suggested to be used in JOSM).

Maybe it is not marked as unread as you send it from the same account? Can you try sending it from different one? Or have you tried it already, with SC account being different?

StreetComplete will retry uploads on errors. It may include being blocked from editing.

I will recheck what happens when user is blocked (is there a special error code allowing app to handle it in a special way?).
Maybe in case of block user should be logged out in SC? Or get special message directing them to their block listing?
Maybe user should be stopped from using app at all while blocked?

BTW, maybe edits from that account should be reverted?

1 Like

Can you restart app? PMs are queried at app startup.

Maybe you have phone with so much memory that SC is never restarted? (Usually problem is in an opposite direction)

Yeah, I agree. I will try to look into it.

Just tried that - no messages.

I’ve tried blocking the user that I used for StreetComplete. A toast was displayed at the first attempted edit - “Authorisation Error, Please try logging in again”. No message was displayed at the second attempted edit. The things I’d “edited” were not changed in OSM but were in SC’s upload queue.

I then manually logged into OSM in a PC browser and saw the block message.

After making another change in SC (after the block is cleared) results in a different message:

You need to authorize with your OSM user account to publish your answers. Authorize now?
You can do this later on the profile screen.
Later OK

That state persists across app closure. In this state SC incorrectly thinks that it has an invalid access token, but it does not.

After reauthorisation the edits are uploaded.

The summary of all of this is that there are a bunch of changes within StreetComplete that would be hugely beneficial:

  • allow ordinary OSM messages to be shown in a timely manner
  • allow block messages to be shown in a timely manner
  • recognise that a “failure to upload” might be a block and not an invalid token

Also, we cannot be sure that the user in this case has ever seen an email, a block message, or an OSM message :slight_smile:

Edit: SC version on my phone was v60.0 from Google Play. Android 14, 1st Sep updates. SC not listed in app notifications, so I guess it has neither requested nor been denied permissions there.

This is accurate and reproducable behavior in StreetComplete. There’s a big chance that a user’s not going to notice a block that doesn’t force them to log in to the website.

PM notification is shown as popup within app, it does not generate phone-wide notification and if app is sleeping it will not check for unread private messages

+1, I am looking into code that handles this

EDIT: see note about blocks · streetcomplete/StreetComplete@a557a05 · GitHub if anyone is interested in gory details

right now I am trying figure what is the proper way to distinguish different meanings sharing 403 error code :frowning:

1 Like

(this is repeat of Is this the same person? - #31 by Mateusz_Konieczny - posting also here as it was split for some reason)

Bad news: PM notifications was completely broken

Good news: fix message notification not being shown · streetcomplete/StreetComplete@1a97dfc · GitHub fixes it

Bad news: it needs to be released, fixing code in repo is not magically updating all deployed apps

Thanks for testing to @SomeoneElse

(debugging this and block messages took multiple hours, even if this change is tiny. I fixed a related bug concerning HTTP codes while doing this. Block message not being shown loook more and more like osm.org bug and responsibility, expecting every editor app to include complex hacky workarounds seems like a poor idea.)

2 Likes