aboutsummaryrefslogtreecommitdiffstats
path: root/dashboard/app/reporting_email.go
Commit message (Collapse)AuthorAgeFilesLines
* dashboard/app: slightly improve coverage report wordingDmitry Vyukov2026-01-151-2/+3
| | | | | Use the proper namespace name to show. +few minor tweaks
* dashboard/app: add race harmfullness labelDmitry Vyukov2026-01-131-1/+1
| | | | | Add race:harmful/benign label. Set it automatically by confirmed AI jobs.
* all: remove unused nolint directivesDmitry Vyukov2026-01-021-1/+0
|
* dashboard/app: provide better reply when receiving an incorrect syz test commandPimyn Girgis2025-11-031-1/+7
| | | | Syzbot is now more clear on what constitutes a correct syz test command.
* dashboard/app: change regressions email titleTaras Madan2025-09-261-1/+1
| | | | Closes #6380.
* dashboard: never react to forwarded emailsAleksandr Nogikh2025-07-101-4/+10
| | | | | | | Adjust the tests to emulate user reply to the forwarded email. To prevent syzbot from reacting to the email, look for the inbox pattern in the raw from/cc/to email lists.
* dashboard: prefix forwarded email subjectsAleksandr Nogikh2025-07-101-1/+1
| | | | This will allow us to easily identify them.
* dashboard: keep bug ID in Cc of forwarded emailsAleksandr Nogikh2025-07-101-9/+14
| | | | | | | | When we forward an email that matched an inbox regexp, make sure the author and the original report email are Cc'd. Otherwise the automation cannot determine the original bug report. Improve tests.
* dashboard: forward emails from designated inboxesAleksandr Nogikh2025-07-031-24/+82
| | | | | | For some specified inboxes, forward the emails that contain syz commands. Add tests to verify the behavior.
* dashboard/app: email regressions in files onlyTaras Madan2025-05-191-2/+4
| | | | The lines about folders don't look actionable.
* dashboard/app: allow to set spanner context only from testsTaras Madan2025-05-051-4/+1
| | | | getSpannerClient returns prod client as a default.
* dashboard/app: fix bugs in handleCoverageReportsTaras Madan2025-05-021-4/+6
| | | | | 1. Set coverage db. 2. Use appUrl instead of r[.URL].Host.
* dashboard/app: send coverage report to ns-defined emailTaras Madan2025-04-301-0/+113
| | | | We periodically send coverage reports for the regressions detection.
* all: fix up context import after go fixDmitry Vyukov2024-04-261-1/+1
|
* all: go fix everythingDmitry Vyukov2024-04-261-1/+1
|
* dashboard: introduce an emergency stop modeAleksandr Nogikh2024-01-091-0/+16
| | | | | | | | Add an emergency stop button that can be used by any admin. After it's clicked two times, syzbot stops all reporting and recoding of new bugs. It's assumed that the stop mode is revoked by manually deleting an entry from the database.
* dashboard: forward incoming commands emailsAleksandr Nogikh2023-11-021-17/+45
| | | | | | | Instead of reminding users to mention our mailing lists, forward their emails there automatically. Closes #4260.
* dashboard: cleanup unnecessary accessLevelsAleksandr Nogikh2023-10-311-1/+1
| | | | | Managers themselves do not have access level controls, so let's clean up the cases when we passed unnecessary arguments.
* dashboard: introduce a getNsConfig() helperAleksandr Nogikh2023-10-121-3/+3
| | | | | In many cases we want to just access the namespaces's config. Introduce a special helper function to keep code shorter and more conscise.
* dashboard: access config through contextAleksandr Nogikh2023-10-121-42/+54
| | | | | | | | | | | | | | | | | | | | | We used to have a single global `config` variable and access it throughout the whole dashboard application. However, this approach has been more and more complicated test writing -- sometimes we want the config to be only slightly different, so that it's not worth it adding new namespaces, sometimes we have to test how dashboard handles config changes over time. This has already led to a number of hacky contextWithXXX methods that mocked various parts of the global variable. The rest of the code had to sometimes still use `config` directly and sometimes invoke getXXX(c) methods. This is very inconsistent and prone to errors. With more and more situations where we need to patch the config appearing (see #4118), let's refactor the application to always access config via the getConfig(c) method. This allows us to uniformly patch the config and be sure that the non-patched copy is not accessible from anywhere else.
* dashboard: auto-guess kernel and repo for #syz testAleksandr Nogikh2023-09-061-4/+8
| | | | | We used to support this only for external reportings, but let's auto-guess these parameters for all incoming patch testing commands.
* dashboard: support subsystems in titles for #syz dupAleksandr Nogikh2023-09-041-18/+19
| | | | | Use the existing email title parsing mechanism that supports a much wider range of title prefixes. Add a test.
* dashboard: report fix candidate commits per emailAleksandr Nogikh2023-08-041-1/+10
| | | | | | | Enable reporting of the results of cross-tree bisections. Adjust email reporting to differentiate between normal fix bisections and fix candidate reporting.
* all: use errors.As instead of .(type)Taras Madan2023-07-241-6/+8
|
* all: use special placeholder for errorsTaras Madan2023-07-241-14/+14
|
* dashboard: always return full UserSpaceArchAleksandr Nogikh2023-07-131-0/+5
| | | | | | Currently we return an empty value for amd64, so that it's not reported. Let's make the API more flexible -- return the value as is and let specific reporters decide whether to mention amd64 or not.
* dashboard: include label message into bug reportsAleksandr Nogikh2023-05-251-1/+6
|
* dashboard: send per-label notificationsAleksandr Nogikh2023-05-251-1/+7
| | | | | | | | If the label is not user-set and the config specifies a message for it, send a bug notification. If the label is related to bug origin testing, attach the list of tested trees.
* dashboard: adjust processDiscussionEmail loggingAleksandr Nogikh2023-05-121-2/+2
| | | | There's no sense to dump the whole incoming email to the logs.
* dashboard: drop duplicate logging in handleSetCommandAleksandr Nogikh2023-05-121-3/+1
|
* dashboard: refactor currentReporting invocationsAleksandr Nogikh2023-05-121-1/+1
| | | | The method doesn't need context.Context.
* dashboard: list sample commands at the bottom of bug reportsAleksandr Nogikh2023-04-271-0/+8
| | | | | | | | This should make commands more visible to the users and help those who don't remember the exact syntax and don't want to always visit the documentation page. Ignore sample commands during incoming message parsing.
* dashboard: support bug labelsAleksandr Nogikh2023-04-271-54/+166
| | | | | | | | | | | | | | | | Let bug labels come in three flavours: 1) Bug labels with multiple values (e.g. `subsystems`). 2) Bug labels with only one value (e.g. `prio`). 3) Flags. Let users configure bug labels via email by issuing the following commands: #syz set subsystems: abc, def #syz set no-reminders #syz unset no-reminders Also let users set tags for invididual bugs in reported bug lists: #syz set <1> some-tag
* dashboard: add Ref column to bug remindersAleksandr Nogikh2023-04-271-4/+4
| | | | | This will facilitate receiving commands for individual bugs from the bug reminder list.
* pkg/email: support multiple commandsAleksandr Nogikh2023-04-271-89/+145
| | | | | | | | | | It's not always convenient that we can receive only one command per email. Update pkg/email parsing code to extract everything which there is. Update reporting_email.go to handle multiple email commands. Set different limits for bug email commands and bug list commands.
* dashboard: include month into monthly reportsAleksandr Nogikh2023-04-261-3/+4
| | | | | To make reports better distinguishable, include the month and the year when the report was generated. E.g. "Monthly ext4 report (Jan 2000)".
* dashboard: always track discussion repliesAleksandr Nogikh2023-04-121-4/+0
| | | | | | It could be the case that the discussion replies do not mention syzbot bugs in any way. But if bugs were mentioned somewhere above, we must still record everything.
* dashboard: separate DiscussionReport and DiscussionMentionAleksandr Nogikh2023-04-121-1/+1
| | | | | | DiscussionReport are the discussions started by syzbot. All other discussions that Cc syzbot or mention its bugs are DiscussionMention.
* all: refactor discussion processing codeAleksandr Nogikh2023-04-121-13/+5
| | | | | | | | | | | Now that too much logic seems to be duplicated in tools/syz-lore and dahsboard/app/discussion.go, it's time to refactor the code. Factor out the code that decides whether an incoming email message should start a new thread or be appended to the previous one. Restructure pkg/email/lore so that email processing matches the one-by-one approach of reporting_email.go.
* dashboard: introduce DiscussionReminder typeAleksandr Nogikh2023-04-121-0/+4
| | | | | | | | Bugs are also mentioned in mass reminders, treat it as a separate discussion type. Later we'll want to limit the number of DiscussionReminder discussions we show on a bug page, so this information will be very useful.
* pkg/email: expose OwnEmail flagAleksandr Nogikh2023-04-121-1/+1
| | | | | We anyway already extract this information, there's no sense in extracting it again in other places.
* dashboard: log incoming discussion messagesAleksandr Nogikh2023-04-061-0/+1
|
* dashboard: collect and display bug-related discussionsAleksandr Nogikh2023-04-061-7/+70
| | | | | | | | | Collect the information about the discussions under bug reports and patches that target the reported bugs. For now only Lore discussions are supported. Display the discussion list on the bug info page.
* pkg/email: extract more informationAleksandr Nogikh2023-04-061-12/+24
| | | | | | | | | Extract Date and InReplyTo. Extract not just one, but multiple BugIDs from multiple sources: 1) Email addresses in From/To/Cc. 2) Email addresses in Body. 3) Dashboard links in Body.
* dashboard: support `#syz regenerate` commandAleksandr Nogikh2023-03-281-0/+2
| | | | | | If the `#syz regenerate` command is sent in response to a bug list, dashboard will schedule its regeneration the next time the corresponding cron job is run.
* dashboard: change the title for subsystem reportsAleksandr Nogikh2023-03-271-1/+1
| | | | | | | | Google groups do not seem to adequately parse the existing `[syzbot] [subsystemName] Monthly Report` format. Instead, the service just combines all such email threads into one big thread. Use the `[syzbot] Monthly subsystemName report` format.
* dashboard: ignore duplicate bug list commandsAleksandr Nogikh2023-03-271-20/+38
| | | | | | | | Put bug list serving logic under the code that eliminates duplicate messages. Add the lists from the email reminder config to the list of recognized mailing lists in reporting_email.go.
* dashboard: introduce per-subsystem reminders about open bugsAleksandr Nogikh2023-03-241-17/+167
| | | | | | | | | Once in a month, collect for each subsystem the list of bugs that are still open on the syzbot dashboard and send an email to the corresponding mailing list. Support manual moderation of such reminders, we'll need that at least for the time being.
* dashboard/app: differentiate user-set tags in the subjectAleksandr Nogikh2023-02-241-1/+6
| | | | | | Only include the question mark sign for automatically inferred subsystems. For user-set subsystems, just put tags in the brackets: [net] [fs].
* dashboard: support manual bug subsystem assignmentAleksandr Nogikh2023-02-241-0/+65
| | | | Support the #syz set subsystems: A, B, C command.