github.com/google/syzkaller@v0.0.0-20251211124644-a066d2bc4b02/syz-cluster/dashboard/templates/series.html (about)

     1  {{define "content"}}
     2      <!-- Modal -->
     3      <div class="modal fade" tabindex="-1" id="contentModal" role="dialog" aria-labelledby="contentModalLabel" aria-hidden="true">
     4        <div class="modal-dialog modal-lg" role="document">
     5          <div class="modal-content">
     6            <div class="modal-header">
     7              <h5 class="modal-title" id="contentModalLabel">Content</h5>&nbsp;
     8              <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
     9                <span aria-hidden="true">&times;</span>
    10              </button>
    11            </div>
    12            <div class="modal-body">
    13              <!-- will be set dynamically -->
    14            </div>
    15            <div class="modal-footer">
    16              <button type="button" class="btn btn-default" data-bs-dismiss="modal">Close</button>
    17            </div>
    18          </div>
    19        </div>
    20      </div>
    21      <script>
    22        $(document).ready(function() {
    23            $('a.modal-link-raw').click(function(event) {
    24                event.preventDefault();
    25                var body = $('#contentModal .modal-body')
    26                var url = $(this).attr('href');
    27                body.html("")
    28                body.load(url, function(response, status, xhr){
    29                    if (status == "success") {
    30                        body.html($('<pre></pre>').text(response))
    31                    }
    32                    $('#contentModal').modal('show');
    33                });
    34            })
    35        });
    36      </script>
    37  
    38      <div class="container">
    39          <h2>Patch Series</h2>
    40          <table class="table table-bordered table-sm">
    41              <tbody>
    42                  <tr>
    43                      <th>Subject</th>
    44                      <td><a href="{{.Link}}">{{.Title}}</a></td>
    45                  </tr>
    46                  <tr>
    47                      <th>Author</th>
    48                      <td>{{.AuthorEmail}}</td>
    49                  </tr>
    50                  <tr>
    51                      <th>Date</th>
    52                      <td>{{.PublishedAt}}</td>
    53                  </tr>
    54                  <tr>
    55                      <th>Version</th>
    56                      <td>{{.Version}}</td>
    57                  </tr>
    58                  <tr>
    59                      <th>Cc</th>
    60                      <td>
    61                          {{range .Cc}}
    62                              <a href="/?cc={{.}}">{{.}}</a>
    63                          {{end}}
    64                      </td>
    65                  </tr>
    66              </tbody>
    67          </table>
    68  
    69          <h3>Patches ({{.TotalPatches}})</h3>
    70          <table class="table table-striped">
    71              <thead>
    72                  <tr>
    73                      <th>Name</th>
    74                      <th>Content <a href="/series/{{.ID}}/all_patches">[All]</a></th>
    75                  </tr>
    76              </thead>
    77              <tbody>
    78                  {{$data := .}} 
    79                  {{range .Patches}}
    80                  <tr>
    81                      <td><a href="{{.Link}}">{{.Title}}</a></td>
    82                      <td><a href="/patches/{{.ID}}" class="modal-link-raw">[Body]</a></td>
    83                  </tr>
    84                  {{end}}
    85             </tbody>
    86          </table>
    87          {{range .Sessions}}
    88          <h3>Session {{.CreatedAt.Format "2006-01-02"}}</h3>
    89          <table class="table table-bordered table-sm">
    90              <tbody>
    91                  <tr>
    92                      <th><i>ID (for dev)</i></th>
    93                      <td>{{.ID}}</td>
    94                  </tr>
    95                  <tr>
    96                      <th>Status</th>
    97                      <td>{{.Status}}</td>
    98                  </tr>
    99                  {{if or (not .SkipReason.IsNull) .TriageLogURI}}
   100                  <tr>
   101                      <th>Triaged</th>
   102                      <td>
   103                          {{if not .SkipReason.IsNull}}Skipped: {{.SkipReason.StringVal}}{{else}}OK{{end}}
   104                          {{if .TriageLogURI}}
   105                              <a href="/sessions/{{.ID}}/triage_log">[Log]</a>
   106                          {{end}}
   107                      </td>
   108                  </tr>
   109                  {{end}}
   110                  {{if .LogURI}}
   111                  <tr>
   112                      <th><i>Execution Log</i></th>
   113                      <td><a href="/sessions/{{.ID}}/log">[Link]</a></td>
   114                  </tr>
   115                  {{end}}
   116              </tbody>
   117          </table>
   118          <table class="table table-striped">
   119              <thead>
   120                  <tr>
   121                      <th>Test</th>
   122                      <th>Base</th>
   123                      <th>Patched</th>
   124                      <th>Verdict</th>
   125                  </tr>
   126              </thead>
   127              <tbody>
   128              {{range .Tests}}
   129                  <tr>
   130                      <td>{{.TestName}}</td>
   131                      <td>{{if .BaseBuild}}{{template "build_info" .BaseBuild}}{{end}}</td>
   132                      <td>{{if .PatchedBuild}}{{template "build_info" .PatchedBuild}}[patched]{{end}}</td>
   133                      <th>
   134                          {{.Result}}
   135                          {{if .LogURI}}
   136                              <a href="/sessions/{{.SessionID}}/test_logs?name={{.TestName}}" class="modal-link-raw">[Log]</a>
   137                          {{end}}
   138                          {{if .ArtifactsArchiveURI}}
   139                              <a href="/sessions/{{.SessionID}}/test_artifacts?name={{.TestName}}">[Artifacts]</a>
   140                          {{end}}
   141                      </th>
   142                  </tr>
   143                  {{if .Findings}}
   144                  <tr>
   145                    <td colspan="4">
   146                      <table class="table mb-0">
   147                        <tbody>
   148                        {{range .Findings}}
   149                        <tr>
   150                          <td>
   151                            {{if not .InvalidatedAt.IsNull}}<b>[invalidated]</b>{{end}}
   152                            {{if .ReportURI}}
   153                              <a href="/findings/{{.ID}}/report" class="modal-link-raw">{{.Title}}</a>
   154                            {{else}}
   155                              {{.Title}}
   156                            {{end}}
   157                          </td>
   158                          <td>
   159                            {{if .LogURI}}<a href="/findings/{{.ID}}/log" class="modal-link-raw">[Log]</a>{{end}}
   160                            {{if .SyzReproURI}}<a href="/findings/{{.ID}}/syz_repro" class="modal-link-raw">[Syz Repro]</a>{{end}}
   161                            {{if .CReproURI}}<a href="/findings/{{.ID}}/c_repro" class="modal-link-raw">[C Repro]</a>{{end}}
   162                          </td>
   163                        </tr>
   164                        {{end}}
   165                        </tbody>
   166                      </table>
   167                    </td>
   168                  </tr>
   169                  {{end}}
   170              {{end}}
   171              </tbody>
   172          </table>
   173          {{end}}
   174      </div>
   175  {{end}}