3meters / proxibase

Patchr web service
1 stars 0 forks source link

Updates for clientMinVersions for iOS #400

Closed Jaymassena closed 8 years ago

Jaymassena commented 8 years ago

Update so calls from iOS client return only "com.3meters.patchr.ios": 108. This shouldn't effect any current installs because hammer feature was first enabled in 108.

georgesnelling commented 8 years ago

As discussed, this will be tucked inside the clientMinVersions map, which will also include the version stamp for catalina.

georgesnelling commented 8 years ago

Mongo really hates storing fieldnames with dots in them. I'd like to return something like this on all requests:

clientMinVersions: {
  com_aircandi_catalina: 1,
  com_patchr_android: 1,
  com_3meters_patchr_ios: 108,
}

And then change the numbers as appropriate when we want to force kill catalina.

Is that ok by you? If not please let me know which you prefer...

georgesnelling commented 8 years ago

Sorry, never mind. I'm already converting the _ to . on the way out, so the signature on the responses would be:

clientMinVersions: {
  "com.aircandi.catalina": 1,
  "com.patchr.android": 1,
  "com.3meters.patchr.ios": 108,
},

If you wanted to lose the "3meters" namespace from the last item, I would be fine with that.

Jaymassena commented 8 years ago

I'd like to perform a straight string comparison with the app package identifier so I appreciate the periods. What you have above is perfect.

georgesnelling commented 8 years ago

Fixed with 5d3b7d588f7f57e2fd947226ce61af8f6383dc7c Deployed to production with 3.5.8.

Client versions are set in config/config.js. If updating, make sure to save word splitters as underscores rather than periods. The service will convert the underscores back to periods on the way out. If you set the splitters to periods the server will fail to save them to the db on init, and it will fail to start. This was the cause of the 10 minute outage on on 1/9/16.