OneBusAway / onebusaway-application-modules

The core OneBusAway application suite.
https://github.com/OneBusAway/onebusaway-application-modules/wiki
Other
205 stars 132 forks source link

Trip/stop problem reporting APIs broken in Puget Sound #126

Open barbeau opened 9 years ago

barbeau commented 9 years ago

@sheldonabrown We’ve gotten a number of reports from Android users in the past week that they are trying to submit trip/stop problem reports from within the Android app and getting error messages in Puget Sound.

Steps to replicate: • Open Arrivals screen on OBA Android • Tap “Menu->Report Stop Problem”, or tap on an arrival time and tap “Report problem with trip” • Fill out the form and try to send it

You should see an error message pop up that says “Unable to send report, please try again?”.

This works fine in Tampa (you get a success message when submitting the report).

There is a complicated history behind the trip/stop problem reporting APIs. See https://github.com/OneBusAway/onebusaway-application-modules/issues/18#issuecomment-14406232 for a detailed discussion of what we found a while back - apparently only the old, undocumented problem reporting API works. The new(er), documented problem reporting APIs (http://developer.onebusaway.org/modules/onebusaway-application-modules/current/api/where/methods/report-problem-with-trip.html and http://developer.onebusaway.org/modules/onebusaway-application-modules/current/api/where/methods/report-problem-with-stop.html) do not work (see #69), and are not used by OBA Android or iOS.

I'm guessing there was new code introduced at Puget Sound that broke the old, undocumented problem reporting APIs?

onebusawaybot commented 9 years ago

Sigh. We pushed some code to fix the stop reporting. It had been broken on the trunk for two years based on the commits I looked at.

I personally tested it on an iPhone, and re-verified it just now. I'll look through your links and see what I can find. I hope the android and iPhone aren't using separate APIs.

Sent from my mobile device (I'll be brief)

On Mar 27, 2015, at 6:07 PM, Sean Barbeau notifications@github.com wrote:

@sheldonabrown We’ve gotten a number of reports from Android users in the past week that they are trying to submit trip/stop problem reports from within the Android app and getting error messages in Puget Sound. I believe its related to this issue, to some degree.

Steps to replicate: • Open Arrivals screen on OBA Android • Tap “Menu->Report Stop Problem”, or tap on an arrival time and tap “Report problem with trip” • Fill out the form and try to send it

You should see an error message pop up that says “Unable to send report, please try again?”.

This works fine in Tampa (you get a success message when submitting the report).

There is a complicated history behind the trip/stop problem reporting APIs. See #18 (comment) for a detailed discussion of what we found a while back - apparently only the old, undocumented problem reporting API works. The new(er), documented problem reporting APIs (http://developer.onebusaway.org/modules/onebusaway-application-modules/current/api/where/methods/report-problem-with-trip.html and http://developer.onebusaway.org/modules/onebusaway-application-modules/current/api/where/methods/report-problem-with-stop.html) do not work (see #69), and are not used by OBA Android or iOS.

I'm guessing there was new code introduce at Puget Sound that broke the old, undocumented problem reporting APIs?

— Reply to this email directly or view it on GitHub.

barbeau commented 9 years ago

Thanks, good to know. If I can help on the Android side let me know. It would be good in the long run to update both iOS and Android to new, fully documented and working APIs. On Mar 27, 2015 6:30 PM, "onebusaway builder bot" notifications@github.com wrote:

Sigh. We pushed some code to fix the stop reporting. It had been broken on the trunk for two years based on the commits I looked at.

I personally tested it on an iPhone, and re-verified it just now. I'll look through your links and see what I can find. I hope the android and iPhone aren't using separate APIs.

Sent from my mobile device (I'll be brief)

On Mar 27, 2015, at 6:07 PM, Sean Barbeau notifications@github.com wrote:

@sheldonabrown We’ve gotten a number of reports from Android users in the past week that they are trying to submit trip/stop problem reports from within the Android app and getting error messages in Puget Sound. I believe its related to this issue, to some degree.

Steps to replicate: • Open Arrivals screen on OBA Android • Tap “Menu->Report Stop Problem”, or tap on an arrival time and tap “Report problem with trip” • Fill out the form and try to send it

You should see an error message pop up that says “Unable to send report, please try again?”.

This works fine in Tampa (you get a success message when submitting the report).

There is a complicated history behind the trip/stop problem reporting APIs. See #18 (comment) for a detailed discussion of what we found a while back - apparently only the old, undocumented problem reporting API works. The new(er), documented problem reporting APIs ( http://developer.onebusaway.org/modules/onebusaway-application-modules/current/api/where/methods/report-problem-with-trip.html and http://developer.onebusaway.org/modules/onebusaway-application-modules/current/api/where/methods/report-problem-with-stop.html) do not work (see #69), and are not used by OBA Android or iOS.

I'm guessing there was new code introduce at Puget Sound that broke the old, undocumented problem reporting APIs?

— Reply to this email directly or view it on GitHub.

— Reply to this email directly or view it on GitHub https://github.com/OneBusAway/onebusaway-application-modules/issues/126#issuecomment-87108274 .

barbeau commented 9 years ago

Cc @aaronbrethorst for the iOS side of this

barbeau commented 9 years ago

@sheldonabrown Any idea of a timeline for a fix for this issue? I'm still getting reports from Android users that this is broken in Puget Sound.

sheldonabrown commented 9 years ago

Thanks for the reminder. I'll have a developer look at it on Monday.

On Thu, Apr 16, 2015 at 12:46 PM, Sean Barbeau notifications@github.com wrote:

@sheldonabrown https://github.com/sheldonabrown Any idea of a timeline for a fix for this issue? I'm still getting reports from Android users that this is broken in Puget Sound.

— Reply to this email directly or view it on GitHub https://github.com/OneBusAway/onebusaway-application-modules/issues/126#issuecomment-93782087 .

sheldonabrown commented 9 years ago

I found the issue. It was similar to an earlier issue but it appears the fix didn't get merged onto the sound branch -- I'll take responsibility for that. Essentially due to some refactoring 2 years back, api actions need to have the following method implemented to support form POSTs:

 public DefaultHttpHeaders create() throws IOException, ServiceException;

HTTP GETs work without needing the create() method, which is why the iPhone works.

I'll get that fix committed shortly, and it will roll out with the next Sound Transit release (likely in one month).

Not to pick on anybody or defer the blame, but its quirky and against the HTML spec how the form POSTs currently work on the android app; they post a query string AND form values:

/api/where/report-problem-with-trip.json 500 ?app_ver=41&app_uid=<uid>&version=2&key=<key>D POST /api/where/report-problem-with-trip.json?app_ver=41&app_uid=<uid>&version=2&key=<key> HTTP/1.1
barbeau commented 9 years ago

@sheldonabrown Thanks for working on this! I'll work on aligning OBA Android with OBA iOS. To summarize then, OBA trip/stop problem reporting should be working according to the documentation?

It's been a while since I looked at this, and I admittedly wasn't very familiar with OBA at the time, but I recall seeing some issues last time I tried the documented APIs (see https://github.com/OneBusAway/onebusaway-application-modules/issues/69).

sheldonabrown commented 9 years ago

The POST support seems undocumented (and what was broken), but the GET documentation looks right. I'll have it tested to make sure.

On Thu, Apr 23, 2015 at 1:00 AM, Sean Barbeau notifications@github.com wrote:

@sheldonabrown https://github.com/sheldonabrown Thanks for working on this! I'll work on aligning OBA Android with OBA iOS. To summarize then, OBA trip/stop problem reporting should be working according to the documentation?

http://developer.onebusaway.org/modules/onebusaway-application-modules/current/api/where/methods/report-problem-with-stop.html

http://developer.onebusaway.org/modules/onebusaway-application-modules/current/api/where/methods/report-problem-with-trip.html

It's been a while since I looked at this, and I admittedly wasn't very familiar with OBA at the time, but I recall seeing some issues last time I tried the documented APIs (see #69 https://github.com/OneBusAway/onebusaway-application-modules/issues/69).

— Reply to this email directly or view it on GitHub https://github.com/OneBusAway/onebusaway-application-modules/issues/126#issuecomment-95432798 .

barbeau commented 9 years ago

@sheldonabrown I think this is resolved now in Puget Sound?

Also, any word on verifying if the officially documented problem reporting APIs currently work?

sheldonabrown commented 9 years ago

Agreed, just last week I re-tested this on android and iPhone and it looks ok in Puget Sound. (Tampa still looks to have an issue sadly).

I did not get a chance to update the documentation yet. You can keep this open for documentation, or file another task -- your preference.

On Wed, Jun 17, 2015 at 1:06 PM, Sean Barbeau notifications@github.com wrote:

@sheldonabrown https://github.com/sheldonabrown I think this is resolved now in Puget Sound?

Also, any word on verifying if the officially documented problem reporting APIs currently work?

- http://developer.onebusaway.org/modules/onebusaway-application-modules/current/api/where/methods/report-problem-with-stop.html

http://developer.onebusaway.org/modules/onebusaway-application-modules/current/api/where/methods/report-problem-with-trip.html

— Reply to this email directly or view it on GitHub https://github.com/OneBusAway/onebusaway-application-modules/issues/126#issuecomment-112878639 .

barbeau commented 9 years ago

I'll go ahead and close this issue then - thanks for the fix in Puget Sound!

https://github.com/OneBusAway/onebusaway-application-modules/issues/69 currently exists for the trip/stop reporting documentation, so we can use that issue instead of opening a new one - I'll assign you on that issue so it doesn't get lost.

I'm going to contact you offline to talk through the Tampa issue reporting and make sure we're looking at the same thing - Tampa appears to be working for me using OBA Android.

barbeau commented 8 years ago

@sheldonabrown Looks like this broke again in Tampa - Trying to submit the stop/trip problem report via the API yields a java.io.FileNotFoundException.

cc @haneys

barbeau commented 8 years ago

Looks like stop/trip problem reporting is broken in Atlanta too - from user:

Incorrectly said MARTA 110 Southbound had arrived at Peachtree/Brighton Rd but never did. Link at top of app, to send problem reports, does not function.

I confirmed myself as well.