onebusaway-application-modules icon indicating copy to clipboard operation
onebusaway-application-modules copied to clipboard

Trip/stop problem reporting APIs broken in Puget Sound

Open barbeau opened this issue 10 years ago • 13 comments

@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?

barbeau avatar Mar 27 '15 22:03 barbeau

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 [email protected] 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.

onebusawaybot avatar Mar 27 '15 22:03 onebusawaybot

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" [email protected] 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 [email protected] 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 avatar Mar 27 '15 22:03 barbeau

Cc @aaronbrethorst for the iOS side of this

barbeau avatar Mar 27 '15 22:03 barbeau

@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.

barbeau avatar Apr 16 '15 16:04 barbeau

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 [email protected] 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 avatar Apr 17 '15 14:04 sheldonabrown

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

sheldonabrown avatar Apr 20 '15 19:04 sheldonabrown

@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 https://github.com/OneBusAway/onebusaway-application-modules/issues/69).

barbeau avatar Apr 23 '15 05:04 barbeau

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 [email protected] 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 .

sheldonabrown avatar Apr 23 '15 09:04 sheldonabrown

@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

barbeau avatar Jun 17 '15 17:06 barbeau

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 [email protected] 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 .

sheldonabrown avatar Jun 17 '15 17:06 sheldonabrown

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 avatar Jun 17 '15 20:06 barbeau

@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 avatar Jan 22 '16 22:01 barbeau

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.

barbeau avatar Feb 18 '16 14:02 barbeau