+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: add author filter to timeline
+
+@DPATCH@
+
+Index: trac/trac/timeline/web_ui.py
+===================================================================
+--- trac/trac/timeline/web_ui.py (revision 7937)
++++ trac/trac/timeline/web_ui.py (working copy)
+@@ -118,8 +118,12 @@
+ daysback = max(0, daysback)
+ if self.max_daysback >= 0:
+ daysback = min(self.max_daysback, daysback)
++ author = req.args.get('author',
++ req.session.get('timeline.author', ''))
++ author = author.strip()
+
+ data = {'fromdate': fromdate, 'daysback': daysback,
++ 'author': author,
+ 'today': format_date(today),
+ 'yesterday': format_date(today - timedelta(days=1)),
+ 'precisedate': precisedate, 'precision': precision,
+@@ -158,7 +162,9 @@
+ try:
+ for event in provider.get_timeline_events(req, start, stop,
+ filters):
+- events.append(self._event_data(provider, event))
++ author_index = len(event) < 6 and 2 or 4 # 0.10 events
++ if not author or event[author_index] == author:
++ events.append(self._event_data(provider, event))
+ except Exception, e: # cope with a failure of that provider
+ self._provider_failure(e, req, provider, filters,
+ [f[0] for f in available_filters])
+@@ -185,6 +191,7 @@
+ return 'timeline.rss', data, 'application/rss+xml'
+ else:
+ req.session['timeline.daysback'] = daysback
++ req.session['timeline.author'] = author
+ html_context = Context.from_request(req)
+ html_context.set_hints(wiki_flavor='oneliner',
+ shorten_lines=self.abbreviated_messages)
+@@ -192,7 +199,8 @@
+
+ add_stylesheet(req, 'common/css/timeline.css')
+ rss_href = req.href.timeline([(f, 'on') for f in filters],
+- daysback=90, max=50, format='rss')
++ daysback=90, max=50, author=author,
++ format='rss')
+ add_link(req, 'alternate', rss_href, _('RSS Feed'),
+ 'application/rss+xml', 'rss')
+
+Index: trac/trac/timeline/templates/timeline.html
+===================================================================
+--- trac/trac/timeline/templates/timeline.html (revision 7937)
++++ trac/trac/timeline/templates/timeline.html (working copy)
+@@ -18,7 +18,8 @@
+