-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Is there an existing issue that is already proposing this?
- I have searched the existing issues
Application
Outline Client
What are you trying to do? What is your use case?
Add a report button to the Error Details dialogue box so that the user can report the failure message they have received when trying to connect to the VPN server. The error message will be reported to a webhook address provided in the access key.
Is your feature request related to a problem? Please describe it.
Currently, the way that the user can report their connection issue is by taking a screenshot of the error message and sending it back to the VPN provider. However, it is a lengthy process and only very few of our users do this when they face a connection issue. Our service has tens of thousands of users and we barely receive more than a few screenshots in a month. However, we know that many users face connection issues. The error reporting problem needs to be way easier than that.
Describe the solution you'd like.
Add a REPORT
button next to the COPY
and DISMISS
buttons in the Outline Error Details dialogue box which is shown when the user hits the DETAILS
button after an access key connection fails.
The REPORT
button sends the following information to a webhook address added to the key by the VPN provider.
- Failure message
- Access Key
The following screenshot shows when the connection to an outline server is not successful. The user is first shown the message Failed to connect. Please check your internet connectivity, then screenshot the error details and send them to your access key provider.
and then when the user touches the DETAILS
button, the user is shown the Error Details dialogue box ProxyConnectionFailure: Failed to connect to server Singapore Server. Cause: ServerUnreachable
.
The following is a sample Outline access key with a webhook address added to it so that when the user touches the REPORT
button, the error information is sent to the webhook address.
ss://[email protected]:29423/?outline=1&webhook=webhook.site/ad6c8c36-35e5-4f0a-9eb0-d95c071ca3d1
The VPN provider is able to find the user based on the access key and help them based on the failure message that they received.
In case of the dynamic access keys, the webhook can either be part of the dynamic access key or can be stored inside its JSON content. Using the webhook at the end of the access key itself has the advantage of being able to send the error report when the key content cannot be fetched. The following shows the two samples:
ssconf://sarvar.s3.us-east-1.amazonaws.com/sw/FqxieR8q2PgyJ3ciPtWaVp?webhook=webhook.site/ad6c8c36-35e5-4f0a-9eb0-d95c071ca3d1#Poland
Please note that in the above dynamic key, the webhook part is separated from the key using a ?
character, and the key name is at the end after the #
character.
{
"server": "ol.server.com",
"server_port": 4006,
"method": "chacha20-ietf-poly1305",
"password": "FqxieR8q2PgyJ3ciPtWaVp",
"webhook": "webhook.site/ad6c8c36-35e5-4f0a-9eb0-d95c071ca3d1",
"prefix": "POST%20"
}
Describe alternatives you've considered
The alternative is the tedious process of taking a screenshot of the error message that was discussed earlier here.