fix request-url limit for error reports
This commit is contained in:
parent
d58a6478a9
commit
ba405393ac
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- AlreadyDisposedException on FileChangeListener after project dispose
|
- AlreadyDisposedException on FileChangeListener after project dispose
|
||||||
|
- Request-URL limit for error reports
|
||||||
|
|
||||||
## [3.2.0]
|
## [3.2.0]
|
||||||
### Added
|
### Added
|
||||||
|
@ -2,12 +2,15 @@ package de.marhali.easyi18n.service;
|
|||||||
|
|
||||||
import com.intellij.ide.BrowserUtil;
|
import com.intellij.ide.BrowserUtil;
|
||||||
import com.intellij.ide.DataManager;
|
import com.intellij.ide.DataManager;
|
||||||
|
import com.intellij.ide.plugins.IdeaPluginDescriptor;
|
||||||
|
import com.intellij.ide.plugins.PluginManagerCore;
|
||||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||||
import com.intellij.openapi.actionSystem.DataContext;
|
import com.intellij.openapi.actionSystem.DataContext;
|
||||||
import com.intellij.openapi.application.ApplicationManager;
|
import com.intellij.openapi.application.ApplicationManager;
|
||||||
import com.intellij.openapi.diagnostic.ErrorReportSubmitter;
|
import com.intellij.openapi.diagnostic.ErrorReportSubmitter;
|
||||||
import com.intellij.openapi.diagnostic.IdeaLoggingEvent;
|
import com.intellij.openapi.diagnostic.IdeaLoggingEvent;
|
||||||
import com.intellij.openapi.diagnostic.SubmittedReportInfo;
|
import com.intellij.openapi.diagnostic.SubmittedReportInfo;
|
||||||
|
import com.intellij.openapi.extensions.PluginId;
|
||||||
import com.intellij.openapi.progress.ProgressIndicator;
|
import com.intellij.openapi.progress.ProgressIndicator;
|
||||||
import com.intellij.openapi.progress.Task;
|
import com.intellij.openapi.progress.Task;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
@ -45,7 +48,14 @@ public class ErrorReportHandler extends ErrorReportSubmitter {
|
|||||||
DataContext context = mgr.getDataContext(parentComponent);
|
DataContext context = mgr.getDataContext(parentComponent);
|
||||||
Project project = CommonDataKeys.PROJECT.getData(context);
|
Project project = CommonDataKeys.PROJECT.getData(context);
|
||||||
|
|
||||||
String title = "IDE Error Report";
|
if(additionalInfo == null) {
|
||||||
|
additionalInfo = "/";
|
||||||
|
}
|
||||||
|
|
||||||
|
IdeaPluginDescriptor plugin = PluginManagerCore.getPlugin(PluginId.getId("de.marhali.easyi18n"));
|
||||||
|
String version = plugin != null ? plugin.getVersion() : "???";
|
||||||
|
|
||||||
|
String title = "IDE Error Report (v" + version + ")";
|
||||||
String labels = "ide report";
|
String labels = "ide report";
|
||||||
String body = "# Additional information\n"
|
String body = "# Additional information\n"
|
||||||
+ additionalInfo + "\n"
|
+ additionalInfo + "\n"
|
||||||
@ -58,10 +68,16 @@ public class ErrorReportHandler extends ErrorReportSubmitter {
|
|||||||
String url = "https://github.com/marhali/easy-i18n/issues/new?title="
|
String url = "https://github.com/marhali/easy-i18n/issues/new?title="
|
||||||
+ encodeParam(title) + "&labels=" + encodeParam(labels) + "&body=" + encodeParam(body);
|
+ encodeParam(title) + "&labels=" + encodeParam(labels) + "&body=" + encodeParam(body);
|
||||||
|
|
||||||
|
if(url.length() > 8201) { // Consider github request url limit
|
||||||
|
url = url.substring(0, 8201);
|
||||||
|
}
|
||||||
|
|
||||||
|
String finalUrl = url;
|
||||||
|
|
||||||
new Task.Backgroundable(project, "Sending error report") {
|
new Task.Backgroundable(project, "Sending error report") {
|
||||||
@Override
|
@Override
|
||||||
public void run(@NotNull ProgressIndicator indicator) {
|
public void run(@NotNull ProgressIndicator indicator) {
|
||||||
BrowserUtil.browse(url);
|
BrowserUtil.browse(finalUrl);
|
||||||
|
|
||||||
ApplicationManager.getApplication().invokeLater(() ->
|
ApplicationManager.getApplication().invokeLater(() ->
|
||||||
consumer.consume(new SubmittedReportInfo(SubmittedReportInfo.SubmissionStatus.NEW_ISSUE)));
|
consumer.consume(new SubmittedReportInfo(SubmittedReportInfo.SubmissionStatus.NEW_ISSUE)));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user