BugActivity stores copies of display names
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Triaged
|
High
|
Unassigned |
Bug Description
BugActivity's "oldvalue" and "newvalue" columns are strings; there's no way to record a change other than by effectively pre-rendering a string version of it. This means that bug activity doesn't track changes to the display names of linked objects: most critically, if a user changes their name or display name then assignee and subscriber changes in bug activity logs still show their previous (display) name; less obviously, a similar issue also applies to linked branches, linked merge proposals, bug targets, bug watches, and arguably even bug statuses.
I think we should refactor this so that new bug activity entries are stored using integers that refer to the appropriate objects, and have the view do the necessary rendering (with appropriate care given to performance).