diff --git a/public/assets/guides/report-a-bug/full-example.png b/public/assets/guides/report-a-bug/full-example.png new file mode 100644 index 0000000000000000000000000000000000000000..f6aae39bf310da694a31870d014f29246d19d686 --- /dev/null +++ b/public/assets/guides/report-a-bug/full-example.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72d22281b193180c121bd26e9096cf32750fdb8885aa13b63688dac211177fbd +size 56952 diff --git a/public/assets/guides/report-a-bug/log.png b/public/assets/guides/report-a-bug/log.png new file mode 100644 index 0000000000000000000000000000000000000000..eb4f307308525c621a3f4f48611effa390b676f7 --- /dev/null +++ b/public/assets/guides/report-a-bug/log.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:485b5001f6d51fe2d2104c6a8d1e0ea7087a98ab5ed4a0d1cf9cb2f36be1730b +size 11972 diff --git a/public/assets/guides/report-a-bug/template.png b/public/assets/guides/report-a-bug/template.png new file mode 100644 index 0000000000000000000000000000000000000000..20438ff1e22600e230e868032148fe0afd8e8d5f --- /dev/null +++ b/public/assets/guides/report-a-bug/template.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1dba61a1ac85eb3d104ec9e622e429c3ca7d6f79af636f659cdfaf0107b02ef2 +size 16141 diff --git a/src/data.js b/src/data.js index fe83b264a8fed6cc2e8e0b1a46a95dc79498f129..053ab2ec73b00b3113db3fec618e0cc22b28d016 100644 --- a/src/data.js +++ b/src/data.js @@ -353,8 +353,96 @@ export function getTasks (v) { { name: v.$pgettext('Task name', "Report a bug"), icon: "bug", + slug: 'report-a-bug', duration: 15, summary: v.$pgettext("Task summary", "Report typos, display issues, or other unexpected bebaviour, or fix it yourself."), + steps: [ + { + title: v.$pgettext("Guide step title", 'Search for similar bugs'), + content: [ + v.$pgettext("Guide step content", 'A quick search can yield similar bug and avoid opening duplicate. Take a minute or two to search our issue tracker for recent bug reports that could match yours.'), + v.$pgettext("Guide step content", "If you find a similar bug report, you can comment on this one instead of creating a new one."), + v.$pgettext("Guide step content", "If you are unsure about submitting a bug report or have other general tech questions, you can also start a thread in our Loomio support group, or ask us on our Fediverse account."), + ], + links: [ + { + icon: 'gitlab', + text: v.$pgettext("Text for link in guide step", 'Browse existing bugs'), + url: 'https://dev.funkwhale.audio/funkwhale/funkwhale/issues?label_name%5B%5D=Type%3A+Bug', + }, + { + icon: 'comment', + text: v.$pgettext("Text for link in guide step", 'Start a thread on our support forum'), + url: 'https://governance.funkwhale.audio/g/246YOJ1m/funkwhale-support', + }, + { + icon: 'mastodon', + text: v.$pgettext("Text for link in guide step", 'Get in touch on the Fediverse'), + url: 'https://mastodon.eliotberriot.com/@funkwhale', + } + ] + }, + { + title: v.$pgettext("Guide step title", 'Create your Contributor Account'), + content: [v.$pgettext("Guide step content", 'This account is needed to submit your bug report or comments.'),], + links: [ + { + icon: 'gitlab', + text: v.$pgettext("Text for link in guide step", 'Create your GitLab account'), + to: {name: 'guide', params: {slug: 'gitlab-account', locale: v.$language.current}}, + } + ] + }, + { + title: v.$pgettext("Guide step title", 'Write your bug report'), + content: [ + v.$pgettext("Guide step content", 'Select "Bug" in the issue template dropdown, then fill the title and content for your bug report.'), + v.$pgettext("Guide step content", 'Try to be as precise and specific as possible: the other contributors that will read your report may not know things that are obvious to you.'), + v.$pgettext("Guide step content", "We know writing an actionable bug report is hard. Do your best and give as much context as possible, but don't worry: other contributors will reach out to you if they need more details."), + ], + recommendations: [ + v.$pgettext("Advice content / recommendations", "Explain what you were trying to do"), + v.$pgettext("Advice content / recommendations", "Explain what you expected to happen"), + v.$pgettext("Advice content / recommendations", "Explain what actually happened"), + v.$pgettext("Advice content / recommendations", "Include logs, error messages, screenshots and information about your system (web browser, operating system…), if applicable"), + v.$pgettext("Advice content / recommendations", "Include the version number of the Funkwhale server on which the issue happens"), + ], + avoid: [ + v.$pgettext("Advice content / avoid", 'Use vague language such as "this is not working"'), + ], + links: [ + { + icon: 'pencil', + text: v.$pgettext("Text for link in guide step", 'Write your bug report'), + url: "https://dev.funkwhale.audio/funkwhale/funkwhale/issues/new?issue%5Bassignee_id%5D=&issue%5Bmilestone_id%5D=", + } + ], + media: [ + { + type: 'image', + url: '/assets/guides/report-a-bug/template.png', + caption: v.$pgettext("Task image caption", 'Choose "bug" in the issue template drowdown') + }, + { + type: 'image', + url: '/assets/guides/report-a-bug/log.png', + caption: v.$pgettext("Task image caption", 'Put logs between three ` (backticks)') + }, + { + type: 'image', + url: '/assets/guides/report-a-bug/full-example.png', + caption: v.$pgettext("Task image caption", "A complete exemple of a bug report") + }, + ] + }, + { + title: v.$pgettext("Guide step title", 'Review and submit your report'), + content: [ + v.$pgettext("Guide step content", 'Read your report one last time, then click on the "Submit" button.'), + v.$pgettext("Guide step content", 'A contributor will have a look at it within the next days!'), + ], + } + ] }, { name: v.$pgettext('Task name', "Review the documentation"), diff --git a/vue.config.js b/vue.config.js index c60071d3c6a155d17cceaf11a492501b7ce4942f..9de7d19ea177ea2bb90aaef3fd8e211c779209d4 100644 --- a/vue.config.js +++ b/vue.config.js @@ -17,6 +17,7 @@ module.exports = { '/guides/loomio-account', '/guides/translate', '/guides/gitlab-account', + '/guides/report-a-bug', ]; let finalRoutes = []; baseRoutes.forEach(p => {