pebble-dev/rebble-store

Search results are all for non-round pebble (round app exists)

JVimes opened this issue · 6 comments

If I use the app store search feature (in the Pebble Android app), then try to install a resulting app, I get a pop-up saying "Sorry! This app is not compatible with your Pebble smartwatch" and it shows pictures of square screen watches (I have Time Round). However, if I manually browse to the same app (e.g. Timer, or Timer+) not using the search feature, then it installs fine.

Maybe the search feature is returning the wrong edition of the results for Time Round watches?

Just for help debugging "chalk" is the hardware name for the pebble round.

So... there is a settings page where you can specify your pebble version (this is only available in dev mode though). Setting the pebble version here will cause the search results to be correct.

Is the bug that this setting just isn't carried over from the app correctly?

I don't see any other way this could be set other than from the settings page so I'm not really convinced this is a bug vs just missing functionality.

For reference: the OG store sends the platform during the POST to agolia. Here is the search request from the beta store:

image

and from the OG store:

image

Note the extra field in the OG store request analyticsTags, this is what tells the search engine what platform the user is using.

Thats not the issue, you can see in here

build_filter_list: function () {
that the filter is getting set

image

And the results are Chalk apps http://store-beta.rebble.io/faces/search?hardware=chalk

image

Probably more testing would be useful to see if there could be something else causing issues, but atleast on the current version it seems to be working.

Right, the search works as long as the localstore has the right hardware type set but... the hardware type doesn't get set by the Pebble app and it seems like the only way to set it is through the settings page.

Just trying to figure out the real issue and it doesn't seem like a "bug". More like missing functionality in that the Pebble app passing Pebble data to the appstore on index so that localstore has the right info.

I'm not sure about Android but atleast on iOS with the updated boot settings it does get set by the Pebble app.

{
    "config": {
        "webviews": {
            "appstore/search": "https://store-beta.rebble.io/faces/search?&accessToken={access_token}&platform={platform}&releaseId=207&appVersion=4.4&pebbleColor=$$pebbleColor$$&hardware=$$hardware$$&jsv=200&uid=$$user_id$$&mid=$$phone_id$$&pid=$$pebble_id$$&inApp=true&$$extras$$",
            "appstore/watchapps": "https://store-beta.rebble.io/apps?&accessToken={access_token}&platform={platform}&releaseId=207&appVersion=4.4&pebbleColor=$$pebbleColor$$&hardware=$$hardware$$&jsv=200&uid=$$user_id$$&mid=$$phone_id$$&pid=$$pebble_id$$&inApp=true&$$extras$$",
            "appstore/watchfaces": "https://store-beta.rebble.io/faces?&accessToken={access_token}&platform={platform}&releaseId=207&appVersion=4.4&pebbleColor=$$pebbleColor$$&hardware=$$hardware$$&jsv=200&uid=$$user_id$$&mid=$$phone_id$$&pid=$$pebble_id$$&inApp=true&$$extras$$",
            "appstore/application": "https://store-beta.rebble.io/app/$$id$$?&accessToken={access_token}&platform={platform}&releaseId=207&appVersion=4.4&pebbleColor=$$pebbleColor$$&hardware=$$hardware$$&jsv=200&uid=$$user_id$$&mid=$$phone_id$$&pid=$$pebble_id$$&inApp=true&$$extras$$",
            "appstore/search/query": "https://store-beta.rebble.io/faces/$$search_type$$/search?accessToken={access_token}&native=true&query=$$query$$&platform={platform}&releaseId=207&appVersion=4.4&pebbleColor=$$pebbleColor$$&hardware=$$hardware$$&jsv=200&uid=$$user_id$$&mid=$$phone_id$$&pid=$$pebble_id$$&inApp=true&$$extras$$",
            "appstore/developer_apps": "https://store-beta.rebble.io/author/$$id$$?&accessToken={access_token}&platform={platform}&releaseId=207&appVersion=4.4&pebbleColor=$$pebbleColor$$&hardware=$$hardware$$&jsv=200&uid=$$user_id$$&mid=$$phone_id$$&pid=$$pebble_id$$&inApp=true&$$extras$$",
            "appstore/application_share": "https://store-beta.rebble.io/app/$$id$$",
            "appstore/application_changelog": "https://store-beta.rebble.io/app/$$id$$/versions?&accessToken={access_token}&platform={platform}&releaseId=207&appVersion=4.4&pebbleColor=$$pebbleColor$$&hardware=$$hardware$$&jsv=200&uid=$$user_id$$&mid=$$phone_id$$&pid=$$pebble_id$$&inApp=true&$$extras$$"
        }
    }
}

There are some url parameters that should be getting replaced by the app.