Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-2025

Handle Malformed URL on Submit App Page

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:

      Description

      Currently when a user enters a malformed URL the submit app page accepts the URL without validating and throws an Internal Server Error.

      We need to handle this Exception and Let the user know that they have typed a malformed URL

        Attachments

        1. IGBF-2025-1.PNG
          IGBF-2025-1.PNG
          114 kB
        2. IGBF-2025-2.PNG
          IGBF-2025-2.PNG
          108 kB
        3. scenario-1.PNG
          scenario-1.PNG
          108 kB
        4. scenario-2.PNG
          scenario-2.PNG
          109 kB
        5. scenario-3.PNG
          scenario-3.PNG
          114 kB

          Issue Links

            Activity

            sameer Sameer Shanbhag (Inactive) created issue -
            sameer Sameer Shanbhag (Inactive) made changes -
            Field Original Value New Value
            Epic Link IGBF-1388 [ 17463 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Link This issue relates to IGBF-2014 [ IGBF-2014 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Description Currently when a user enters a malformed URL the submit app page accepts the URL without validating and throws an Internal Server Error.

            We need to handle this Exception and Let the user know that they have typed a malformed url
            Currently when a user enters a malformed URL the submit app page accepts the URL without validating and throws an Internal Server Error.

            We need to handle this Exception and Let the user know that they have typed a malformed URL
            Hide
            ann.loraine Ann Loraine added a comment -

            Good testing catch.

            Show
            ann.loraine Ann Loraine added a comment - Good testing catch.
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Status Open [ 1 ] To-Do [ 10305 ]
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Assignee Sameer Shanbhag [ sameer ] Riddhi Jagdish Patil [ rpatil14 ]
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Attachment IGBF-2025-1.PNG [ 14419 ]
            Attachment IGBF-2025-2.PNG [ 14420 ]
            Hide
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment -

            For the malformed url, proper error message is displayed to the user. Please check the attached screenshots.

            Show
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - For the malformed url, proper error message is displayed to the user. Please check the attached screenshots.
            Show
            sameer Sameer Shanbhag (Inactive) added a comment - Riddhi Jagdish Patil Can you try entering: https://bitbucket/lorainelab/merge-annotation-operator/downloads/merge-annotation-operator-9.1.0.jar
            Hide
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment -

            Sameer Shanbhag, The above url throws "Internal Server error" instead of error message. This is the case when domain name is incorrect and cannot be reached even after max retries. I will handle this scenario. Thanks for highlighting it.

            Show
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - Sameer Shanbhag , The above url throws "Internal Server error" instead of error message. This is the case when domain name is incorrect and cannot be reached even after max retries. I will handle this scenario. Thanks for highlighting it.
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Attachment scenario-1.PNG [ 14421 ]
            Attachment scenario-2.PNG [ 14422 ]
            Attachment scenario-3.PNG [ 14423 ]
            Hide
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment -

            Issue:
            Handle Malformed URL on Submit App Page

            Solution:
            In case of incorrect domain name for URL while submitting the app, display a proper error message to the user.

            Files changed:
            submit_app/processjar.py
            https://bitbucket.org/rpatil14/appstore_riddhi/branch/IGBF-2025#diff

            Testing steps:
            Code changes deployed to https://dev-appstore-6.bioviz.org

            • Scenario 1:
            • Click on Submit your App button on AppStore home page.
            • In Upload from URL just enter jar name without proper url path. ex. "fake-app.jar"
            • Proper error message will be displayed on the UI. Refer scenario-1.png
            • Scenario 2:
            • Click on Submit your App button on AppStore home page.
            • In Upload from URL enter incorrect url path to the jar
            • Proper error message will be displayed on the UI. Refer scenario-2.png
            • Scenario 3:
            • Click on Submit your App button on AppStore home page.
            • In Upload from URL enter incorrect domain name for the path to the jar
            • Proper error message will be displayed on the UI. Refer scenario-3.png

            Testing results:
            Attached testing results to the ticket

            Show
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - Issue: Handle Malformed URL on Submit App Page Solution: In case of incorrect domain name for URL while submitting the app, display a proper error message to the user. Files changed: submit_app/processjar.py https://bitbucket.org/rpatil14/appstore_riddhi/branch/IGBF-2025#diff Testing steps: Code changes deployed to https://dev-appstore-6.bioviz.org Scenario 1: Click on Submit your App button on AppStore home page. In Upload from URL just enter jar name without proper url path. ex. "fake-app.jar" Proper error message will be displayed on the UI. Refer scenario-1.png Scenario 2: Click on Submit your App button on AppStore home page. In Upload from URL enter incorrect url path to the jar Proper error message will be displayed on the UI. Refer scenario-2.png Scenario 3: Click on Submit your App button on AppStore home page. In Upload from URL enter incorrect domain name for the path to the jar Proper error message will be displayed on the UI. Refer scenario-3.png Testing results: Attached testing results to the ticket
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Assignee Riddhi Jagdish Patil [ rpatil14 ]
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Attachment scenario-1.PNG [ 14421 ]
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Attachment scenario-2.PNG [ 14422 ]
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Attachment scenario-3.PNG [ 14423 ]
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Attachment scenario-1.PNG [ 14425 ]
            Attachment scenario-2.PNG [ 14426 ]
            Attachment scenario-3.PNG [ 14427 ]
            Hide
            sameer Sameer Shanbhag (Inactive) added a comment - - edited

            Riddhi Jagdish Patil Can you please fix the Trash Icon as a part of this ticket? or should I make a new one?

            Issue:
            Trash Icon for URL is not activated when the field has some content.

            Show
            sameer Sameer Shanbhag (Inactive) added a comment - - edited Riddhi Jagdish Patil Can you please fix the Trash Icon as a part of this ticket? or should I make a new one? Issue: Trash Icon for URL is not activated when the field has some content.
            sameer Sameer Shanbhag (Inactive) made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Assignee Sameer Shanbhag [ sameer ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status First Level Review in Progress [ 10301 ] To-Do [ 10305 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Assignee Sameer Shanbhag [ sameer ] Riddhi Jagdish Patil [ rpatil14 ]
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            We need to provide more user-friendly error messages.

            scenario 2:

            • "The file you submitted [file name] cannot be read as a zip" file is a bit weird. The user needs to upload a "jar" (java archive) file. The tooling used behind the scenes works for jar files and for "zip" files more generally, so the error message is technically correct! However, the user might get confused by this error message and think we require the file to end with "zip" not "jar".

            Let's write this instead:

            • "There was a problem with the file you entered - [file name]. It does not appear to be a proper "jar" (java archive) file. Try uncompressing it on your local computer to check it."

            Riddhi Jagdish Patil
            Sameer Shanbhag

            Show
            ann.loraine Ann Loraine added a comment - - edited We need to provide more user-friendly error messages. scenario 2: "The file you submitted [file name] cannot be read as a zip" file is a bit weird. The user needs to upload a "jar" (java archive) file. The tooling used behind the scenes works for jar files and for "zip" files more generally, so the error message is technically correct! However, the user might get confused by this error message and think we require the file to end with "zip" not "jar". Let's write this instead: "There was a problem with the file you entered - [file name] . It does not appear to be a proper "jar" (java archive) file. Try uncompressing it on your local computer to check it." Riddhi Jagdish Patil Sameer Shanbhag
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            scenario 1:

            The error message for malformed URL is also a bit confusing:

            • The file you submitted "Invalid URL 'fake-app.jar'. No schema supplied. Perhaps you meant http://fake-app.jar?

            The term "schema" may not make sense to some people. A developer not familiar with Web programming may not realize that "schema" refers the protocol being used to transfer the data, e.g., ftp, file, http, or https. (I'm not actually sure what "schema: means here!)

            Anyway, let's come up with a better error message that uses plainer language.

            How about:

            • There is a problem with the Web address (URL) you entered: [fill in what they entered here]. Try checking it in a Web browser to make sure it is available on-line.
            Show
            ann.loraine Ann Loraine added a comment - - edited scenario 1: The error message for malformed URL is also a bit confusing: The file you submitted "Invalid URL 'fake-app.jar'. No schema supplied. Perhaps you meant http://fake-app.jar? The term "schema" may not make sense to some people. A developer not familiar with Web programming may not realize that "schema" refers the protocol being used to transfer the data, e.g., ftp, file, http, or https. (I'm not actually sure what "schema: means here!) Anyway, let's come up with a better error message that uses plainer language. How about: There is a problem with the Web address (URL) you entered: [fill in what they entered here] . Try checking it in a Web browser to make sure it is available on-line.
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Usability issues/question regarding scenario1:

            • It is not clear from the screen whether the App Store has uploaded the file and tried to parse it already. Can we preserve the user's previous entries so that they can recall what they tried to enter?

            Edit: Regarding my question above. This request is out of scope for this ticket and should be addressed in a new ticket.

            Show
            ann.loraine Ann Loraine added a comment - - edited Usability issues/question regarding scenario1: It is not clear from the screen whether the App Store has uploaded the file and tried to parse it already. Can we preserve the user's previous entries so that they can recall what they tried to enter? Edit: Regarding my question above. This request is out of scope for this ticket and should be addressed in a new ticket.
            Hide
            ann.loraine Ann Loraine added a comment - - edited

            Regarding above usability concerns:

            If these can be quickly fixed with a few quick and low-risk changes, please go for it.

            Otherwise, I think we should do it later - we can address these usability concerns as part IGBF-2026 or other future related ticket.

            Riddhi Jagdish Patil Sameer Shanbhag - it is your call since you are closest to the code.

            Show
            ann.loraine Ann Loraine added a comment - - edited Regarding above usability concerns: If these can be quickly fixed with a few quick and low-risk changes, please go for it. Otherwise, I think we should do it later - we can address these usability concerns as part IGBF-2026 or other future related ticket. Riddhi Jagdish Patil Sameer Shanbhag - it is your call since you are closest to the code.
            ann.loraine Ann Loraine made changes -
            Sprint Fall 2019 Sprint 3 [ 74 ] Fall 2019 Sprint 3, Fall 2019 Sprint 4 [ 74, 75 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            sameer Sameer Shanbhag (Inactive) made changes -
            Assignee Riddhi Jagdish Patil [ rpatil14 ] Sameer Shanbhag [ sameer ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            Show
            sameer Sameer Shanbhag (Inactive) added a comment - Pull Request Updated: https://bitbucket.org/lorainelab/appstore/pull-requests/122/igbf-2025/diff
            ann.loraine Ann Loraine made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            ann.loraine Ann Loraine made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            ann.loraine Ann Loraine made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            ann.loraine Ann Loraine made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            ann.loraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            ann.loraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Merged but not yet deployed on dev-appstore-2 (master)

            Show
            ann.loraine Ann Loraine added a comment - Merged but not yet deployed on dev-appstore-2 (master)
            Hide
            sameer Sameer Shanbhag (Inactive) added a comment - - edited

            Deployed on dev-appstore-1 for testing.

            For testing please Refer the Scenarios mentioned by Riddhi Jagdish Patil

            Show
            sameer Sameer Shanbhag (Inactive) added a comment - - edited Deployed on dev-appstore-1 for testing. For testing please Refer the Scenarios mentioned by Riddhi Jagdish Patil
            sameer Sameer Shanbhag (Inactive) made changes -
            Assignee Sameer Shanbhag [ sameer ]
            Hide
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment -

            The upload from URL functionality failing when trying to upload a new app using URL for the master branch code. It throws following error
            "TypeError: a bytes-like object is required, not 'str'"

            Show
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - The upload from URL functionality failing when trying to upload a new app using URL for the master branch code. It throws following error "TypeError: a bytes-like object is required, not 'str'"
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Assignee Sameer Shanbhag [ sameer ]
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Status Post-merge Testing In Progress [ 10003 ] To-Do [ 10305 ]
            Show
            sameer Sameer Shanbhag (Inactive) added a comment - Pull Request Submitted: https://bitbucket.org/lorainelab/appstore/pull-requests/124/igbf-2025-fix-type-handling-issue/diff
            sameer Sameer Shanbhag (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Assignee Sameer Shanbhag [ sameer ]
            ann.loraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ]
            ann.loraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            ann.loraine Ann Loraine made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            ann.loraine Ann Loraine made changes -
            Status Post-merge Testing In Progress [ 10003 ] Merged Needs Testing [ 10002 ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ]
            noor91zahara Noor Zahara (Inactive) made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            noor91zahara Noor Zahara (Inactive) made changes -
            Assignee Noor Zahara [ noor91zahara ]
            Hide
            noor91zahara Noor Zahara (Inactive) added a comment -

            Issue Observed - Once delete button is clicked and again valid jar url is entered, the same error ( "Please upload a file or Enter a URL " ) occurs.

            Steps to reproduce -
            1. Enter a url
            2. Delete the url using the trask icon
            3.Enter a valid url
            4. Click on Next

            Show
            noor91zahara Noor Zahara (Inactive) added a comment - Issue Observed - Once delete button is clicked and again valid jar url is entered, the same error ( "Please upload a file or Enter a URL " ) occurs. Steps to reproduce - 1. Enter a url 2. Delete the url using the trask icon 3.Enter a valid url 4. Click on Next
            noor91zahara Noor Zahara (Inactive) made changes -
            Status Post-merge Testing In Progress [ 10003 ] To-Do [ 10305 ]
            noor91zahara Noor Zahara (Inactive) made changes -
            Assignee Noor Zahara [ noor91zahara ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Assignee Sameer Shanbhag [ sameer ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            Show
            sameer Sameer Shanbhag (Inactive) added a comment - Fixed and Pull Request Raised: https://bitbucket.org/lorainelab/appstore/pull-requests/130/igbf-2025-1/diff
            sameer Sameer Shanbhag (Inactive) made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            sameer Sameer Shanbhag (Inactive) made changes -
            Assignee Sameer Shanbhag [ sameer ]
            ann.loraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            ann.loraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Merged to master. Deployed to https://dev-appstore-2.bioviz.org

            Show
            ann.loraine Ann Loraine added a comment - Merged to master. Deployed to https://dev-appstore-2.bioviz.org
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Assignee Riddhi Jagdish Patil [ rpatil14 ]
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            Hide
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment -

            Successfully tested following scenarios:
            1) In Upload from URL just enter jar name without proper url path. ex. "fake-app.jar"
            2) In Upload from URL enter incorrect url path to the jar ex. https://bitbucket.org/super-simple-igb-app-0.0.3.jar
            3) In Upload from URL enter incorrect domain name for the path to the jar ex. https://fakebucket.org/lorainelab/super-simple-igb-app/downloads/super-simple-igb-app-0.0.3.jar
            4) In Upload from URL enter incorrect, click Next, delete url using thrash icon, enter valid url and click Next

            Marking this ticket done
            cc. [~aloraine]

            Show
            rpatil14 Riddhi Jagdish Patil (Inactive) added a comment - Successfully tested following scenarios: 1) In Upload from URL just enter jar name without proper url path. ex. "fake-app.jar" 2) In Upload from URL enter incorrect url path to the jar ex. https://bitbucket.org/super-simple-igb-app-0.0.3.jar 3) In Upload from URL enter incorrect domain name for the path to the jar ex. https://fakebucket.org/lorainelab/super-simple-igb-app/downloads/super-simple-igb-app-0.0.3.jar 4) In Upload from URL enter incorrect, click Next, delete url using thrash icon, enter valid url and click Next Marking this ticket done cc. [~aloraine]
            rpatil14 Riddhi Jagdish Patil (Inactive) made changes -
            Resolution Done [ 10000 ]
            Status Post-merge Testing In Progress [ 10003 ] Closed [ 6 ]
            ann.loraine Ann Loraine made changes -
            Workflow Fall 2019 Workflow Update [ 20782 ] Revised Fall 2019 Workflow Update [ 22522 ]

              People

              • Assignee:
                rpatil14 Riddhi Jagdish Patil (Inactive)
                Reporter:
                sameer Sameer Shanbhag (Inactive)
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: