aboutsummaryrefslogtreecommitdiffstats
path: root/dashboard/app
Commit message (Collapse)AuthorAgeFilesLines
* pkg/aflow: make LLM model per-agent rather than per-flowDmitry Vyukov2026-01-2010-27/+27
| | | | | | Having LLM model per-agent is even more flexible than per-flow. We can have some more complex tasks during patch generation with the most elaborate model, but also some simpler ones with less elaborate models.
* pkg/subsystem: regenerate Linux subsystemsAleksandr Nogikh2026-01-201-0/+1
|
* dashboard/app: don't treat memcache.ErrNotStored as an errorDmitry Vyukov2026-01-191-1/+1
| | | | | We have a bunch of "failed to throttle: memcache: item not stored" errors in logs. It seems that the cache item is evicted before we do CompareAndSwap.
* dashboard/app: filter out few more problems in errors logsDmitry Vyukov2026-01-161-1/+9
|
* dashboard: fix manuallyUpstreamedAleksandr Nogikh2026-01-153-0/+22
| | | | | The function returned incorrect result when the reporting stage of interest was completely skipped and never reported.
* dashboard/app: slightly improve coverage report wordingDmitry Vyukov2026-01-153-5/+6
| | | | | Use the proper namespace name to show. +few minor tweaks
* dashboard: add a manuallyUpstreamed helperAleksandr Nogikh2026-01-153-0/+98
| | | | | | | | | | This helper function can be used in the reporting filtering rules to skip certain reporting stages depending on whether the previous stage(s) have been manually upstreamed. Add tests that it does have the intended effect. Cc #6554.
* dashboard/app: show crash report on AI job pageDmitry Vyukov2026-01-152-6/+26
|
* dashboard/app: improve AI UIDmitry Vyukov2026-01-154-25/+51
| | | | | A bag of minor assorted improvements to data formatting. + show job results in the jobs table
* pkg/aflow: allow to specify model per-flowDmitry Vyukov2026-01-143-26/+27
| | | | | We may want to use a weaker model for some workflows. Allow to use different models for different workflows.
* dashboard/app: add race harmfullness labelDmitry Vyukov2026-01-136-11/+173
| | | | | Add race:harmful/benign label. Set it automatically by confirmed AI jobs.
* dashboard/app: add manual AI job triageDmitry Vyukov2026-01-133-2/+59
| | | | Allow to set the Correct flag for completed AI jobs.
* dashboard/app: make bug lists collapsibleDmitry Vyukov2026-01-132-11/+7
| | | | | | The bug lists on the main page are extremely long, it's very hard to navigate between them. Make bug lists collapsible.
* dashboard/app: fix rendering of dup bugs captionDmitry Vyukov2026-01-131-1/+0
| | | | | | | | After addition of collapsible sections on the bug page, we show 2 captions for the duplicate bugs table. One for the collapsible span "Duplicate bugs (2)", and another inside for the table "duplicates (2):". Remove the inner duplicate caption.
* dashboard/app: add spanner Jobs.Correct fieldDmitry Vyukov2026-01-135-8/+36
| | | | | | Lay down foundation for spanner DB migrations by adding Jobs.Correct field. This will allow us to test deployment of such changes. The field will be used to record results of manual assessment of AI job results.
* dashboard/app: prepare for spanner migrationsDmitry Vyukov2026-01-131-6/+27
| | | | | | | | If the code uses "select *", it's not possible to update spanner schema. Adding a field to spanner first leads to "missing field in Go struct" errors, adding a field to Go struct first leads to "missing field in spanner" errors. Replace "select *" with concrete set of fields the code knowns about. This should allow adding fields to spanner first.
* pkg/aflow/flow/assessment: add UAF moderation workflowDmitry Vyukov2026-01-122-1/+14
| | | | | | Add workflow that can be used for moderation of UAF bugs (consistent/actionable reports), such UAF bugs can be upstreammed automatically, even if they happened only once and don't have a reproducer.
* pkg/report: move TitleToCrashType to crash packageDmitry Vyukov2026-01-091-2/+1
| | | | | | | | | TitleToCrashType is a simple function with no heavy dependencies that is used by the dashboard app. Currnetly we have to import pkg/report into dashboard/app, and this package has lots of heavy deps (symbolizer, demangler, coverage report generation, etc). Move TitleToCrashType to pkg/report/crash (where it arguably belongs anyway).
* dashboard/app: fix format in cron.yamlTaras Madan2026-01-051-1/+1
| | | | It fixes the deployment error.
* dashboard/app: split handleBug functionDmitry Vyukov2026-01-051-56/+64
| | | | Linter points it become too long.
* dashboard/app: add support for AI workflowsDmitry Vyukov2026-01-0518-4/+1244
| | | | | | | | Support for: - polling for AI jobs - handling completion of AI jobs - submitting job trajectory logs - basic visualization for AI jobs
* all: remove unused nolint directivesDmitry Vyukov2026-01-028-16/+2
|
* dashboard/app: make it possible to test code that uses spannerDmitry Vyukov2025-12-315-0/+96
| | | | | | Start spanner emulator for tests. Create isolated per-test instance+database. Test that DDL migration scripts are work.
* dashboard/app: filter out some entries from the error logDmitry Vyukov2025-12-301-20/+19
| | | | | Don't show package update errors, they happen in hundreds every day. Don't show internal datastore bugs (these are not our bugs).
* dashboard/app: wire more admin handlersDmitry Vyukov2025-12-292-31/+6
| | | | | | | Make it possible 3 more admin handlers that look useful for future and safe. Now that we don't deploy the app from local machines, it's problematic to call them without this wiring. Remove one old handler that we don't need anymore.
* dashboard: extend bug's JSON representationAleksandr Nogikh2025-12-293-10/+55
| | | | Add status, crash, fix, close and commit dates.
* dashboard: factor out uiBugDetails and loadBugDetailsAleksandr Nogikh2025-12-293-121/+138
| | | | | | | Separate the code that loads all details about a particular bug from the code that is only necessary for rendering a bug page on Web UI. These can be used in mass bug exports.
* dashboard/app: make static resources work for dev_appserver.pyDmitry Vyukov2025-12-232-0/+7
| | | | | | | | The production app sets CWD to the root of the syzkaller repository, so paths that refer to static resources in app.yaml look like dashboard/app/static/*. However, dev_appserver.py sets CWD to dashboard/app, so these paths do not work. Add soft link dashboard/app/dashboard/app/static that point to dashboard/app/static, so that dashboard/app/static/* paths work from both locations.
* dashboard/app: fix admin checks for dev_appserverDmitry Vyukov2025-12-221-2/+9
| | | | | | Admin checks broke at some point for local app runs (the auth domain is overriden only in tests). Restore proper checking for dev_appserver.
* dashboard/app: improve test names in TestUserAccessLevelDmitry Vyukov2025-12-221-15/+15
| | | | | | The test uses test names with spaces, testing package replaces spaces with _. As the result, it's impossible to search for failed tests, and they all look very similar. Replace space with _, so that it's possible to search for failed tests.
* dashboard/app: fix up pprof handlers accessDmitry Vyukov2025-12-221-1/+1
| | | | The url pattern needs to include all debug/.* subpaths, not just debug page itself.
* dashboard/app: fix up top menuDmitry Vyukov2025-12-221-4/+4
| | | | | Colors do not affect 🐞, so extend the color to text as well. Remove navigation_right style, it does not exist.
* dashboard/app: add pprof handlersDmitry Vyukov2025-12-222-1/+3
| | | | | | | These are useful for debugging of deadlocks, hangs (slowness), and memory consumption issues. Can be used on a local instance during development. On the production system pprof handlers are restricted to admins only.
* all: use any instead of interface{}Dmitry Vyukov2025-12-2212-53/+53
| | | | Any is the preferred over interface{} now in Go.
* dashboard/app: add typed handler middlewareDmitry Vyukov2025-12-222-150/+59
| | | | Remove duplicated code related to request deserialization using middleware.
* dashboard/app: fix comment reference to ExternalConfig structAndrew Donnellan2025-12-111-1/+1
| | | | | | | | | | | Commit b190f060619b ("dashboard/app: fix testing for go1.11 runtime") removed the unused ExternalConfig struct. However, config.go still refers to ExternalConfig in a comment explaining how it can be used to attach to external reporting systems. Change this to say the user can implement their own type if they need. Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
* dashboard/app: set aetest startup timeoutPimyn Girgis2025-11-031-0/+1
| | | | | Set aetest startup timeout to 120 seconds to prevent flaky tests from failing due to timeouts. This is especially helpful on slower machines or when the system is under heavy load.
* dashboard/app: provide better reply when receiving an incorrect syz test commandPimyn Girgis2025-11-032-3/+10
| | | | Syzbot is now more clear on what constitutes a correct syz test command.
* kcidb: convert from Google PubSub to plain REST interfaceDenys Fedoryshchenko2025-10-062-14/+13
| | | | | | | | KCIDB removing Google PubSub and start to accept REST submissions. This will require new configuration options, such as REST URL and token. Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com>
* dashboard/app: change regressions email titleTaras Madan2025-09-262-2/+2
| | | | Closes #6380.
* dashboard/app/templates: fix to display repro type incorrectlyname29652025-08-191-1/+1
| | | Fix the problem where syz repro was displayed as C repro when defining test_result html.
* pkg/coveragedb: update file to subsystem info periodicallyTaras Madan2025-08-074-6/+26
| | | | | | #6070 explains the problem of data propagation. 1. Add weekly /cron/update_coverdb_subsystems. 2. Stop updating subsystems from coverage receiver API.
* all: simplify subsystem revision updatesAleksandr Nogikh2025-07-235-19/+11
| | | | | | Don't specify the subsystem revision in the dashboard config and instead let it be nested in the registered subsystems. This reduces the amount of the manual work needed to switch syzbot to a newer subsystem list.
* dashboard: fix In-Reply-To for send_emailAleksandr Nogikh2025-07-231-1/+6
| | | | | | | For some reason, the default ReplyTo field is converted to a Reply-To header that's not well understood by the mailing lists. Set an In-Reply-To header explicitly.
* all: manual linter fixesTaras Madan2025-07-171-1/+4
| | | | | | | | 1. recover the removed comment 2. unnecessary leading newline 3. unnecessary brackets 4. restore dropped "..." 5. use bytes.Equal instead of conversion to string
* all: apply linter auto fixesTaras Madan2025-07-175-16/+14
| | | | ./tools/syz-env bin/golangci-lint run ./... --fix
* dashboard/app: date parsing error is a bad requestTaras Madan2025-07-162-1/+15
|
* dashboard/app: switch to go124Taras Madan2025-07-141-1/+1
|
* dashboard: never react to forwarded emailsAleksandr Nogikh2025-07-102-7/+13
| | | | | | | 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-102-4/+6
| | | | This will allow us to easily identify them.