diff --git a/webui/src/bug/SetTitle.js b/webui/src/bug/SetTitle.js
new file mode 100644
index 0000000000000000000000000000000000000000..b6bb8b70a6eaaed779bb4db4318c7c4c49a9098c
--- /dev/null
+++ b/webui/src/bug/SetTitle.js
@@ -0,0 +1,43 @@
+import { withStyles } from '@material-ui/core/styles'
+import gql from 'graphql-tag'
+import React from 'react'
+import Author from '../Author'
+import Date from '../Date'
+
+const styles = theme => ({
+ main: {
+ ...theme.typography.body2
+ },
+ bold: {
+ fontWeight: 'bold'
+ }
+})
+
+const SetTitle = ({op, classes}) => {
+ return (
+
+
+
changed the title from
+
{op.was}
+
to
+
{op.title}
+
+
+ )
+}
+
+SetTitle.fragment = gql`
+ fragment SetTitle on Operation {
+ ... on SetTitleOperation {
+ date
+ author {
+ name
+ email
+ }
+ title
+ was
+ }
+ }
+`
+
+export default withStyles(styles)(SetTitle)
diff --git a/webui/src/bug/Timeline.js b/webui/src/bug/Timeline.js
index 72c0712137a883d1db1fe734e6d016844554ab73..2881a73b93db0c9c62e32d4f6f5265d7fe873724 100644
--- a/webui/src/bug/Timeline.js
+++ b/webui/src/bug/Timeline.js
@@ -2,6 +2,7 @@ import { withStyles } from '@material-ui/core/styles'
import React from 'react'
import LabelChange from './LabelChange'
import Message from './Message'
+import SetTitle from './SetTitle'
const styles = theme => ({
main: {
@@ -32,6 +33,8 @@ class Timeline extends React.Component {
return
case 'LabelChangeOperation':
return
+ case 'SetTitleOperation':
+ return
default:
console.log('unsupported operation type ' + op.__typename)
diff --git a/webui/src/bug/TimelineQuery.js b/webui/src/bug/TimelineQuery.js
index ad4d00b0dab0a11fd2b345b7e11f3a65c2c3570b..3d7db143c5f59887812fc40572af564f11e106bd 100644
--- a/webui/src/bug/TimelineQuery.js
+++ b/webui/src/bug/TimelineQuery.js
@@ -3,6 +3,7 @@ import gql from 'graphql-tag'
import React from 'react'
import { Query } from 'react-apollo'
import LabelChange from './LabelChange'
+import SetTitle from './SetTitle'
import Timeline from './Timeline'
import Message from './Message'
@@ -15,6 +16,7 @@ const QUERY = gql`
...Create
...Comment
...LabelChange
+ ...SetTitle
}
pageInfo {
hasNextPage
@@ -27,6 +29,7 @@ const QUERY = gql`
${Message.createFragment}
${Message.commentFragment}
${LabelChange.fragment}
+ ${SetTitle.fragment}
`
const TimelineQuery = ({id}) => (