|  | @@ -1007,6 +1007,16 @@ class Content(DeclarativeBase):
 | 
	
		
			
			| 1007 | 1007 |          self._properties = json.dumps(properties_struct)
 | 
	
		
			
			| 1008 | 1008 |          ContentChecker.check_properties(self)
 | 
	
		
			
			| 1009 | 1009 |  
 | 
	
		
			
			|  | 1010 | +    @property
 | 
	
		
			
			|  | 1011 | +    def clean_revisions(self):
 | 
	
		
			
			|  | 1012 | +        """
 | 
	
		
			
			|  | 1013 | +        This property return revisions with really only one of each revisions:
 | 
	
		
			
			|  | 1014 | +        Actually, .revisions list give duplicated last revision,
 | 
	
		
			
			|  | 1015 | +        see https://github.com/tracim/tracim/issues/126
 | 
	
		
			
			|  | 1016 | +        :return: list of revisions
 | 
	
		
			
			|  | 1017 | +        """
 | 
	
		
			
			|  | 1018 | +        return list(set(self.revisions))
 | 
	
		
			
			|  | 1019 | +
 | 
	
		
			
			| 1010 | 1020 |      def created_as_delta(self, delta_from_datetime:datetime=None):
 | 
	
		
			
			| 1011 | 1021 |          if not delta_from_datetime:
 | 
	
		
			
			| 1012 | 1022 |              delta_from_datetime = datetime.utcnow()
 | 
	
	
		
			
			|  | @@ -1093,13 +1103,13 @@ class Content(DeclarativeBase):
 | 
	
		
			
			| 1093 | 1103 |          return last_comment
 | 
	
		
			
			| 1094 | 1104 |  
 | 
	
		
			
			| 1095 | 1105 |      def get_previous_revision(self) -> 'ContentRevisionRO':
 | 
	
		
			
			| 1096 |  | -        rev_ids = [revision.revision_id for revision in self.revisions]
 | 
	
		
			
			|  | 1106 | +        rev_ids = [revision.revision_id for revision in self.clean_revisions]
 | 
	
		
			
			| 1097 | 1107 |          rev_ids.sort()
 | 
	
		
			
			| 1098 | 1108 |  
 | 
	
		
			
			| 1099 | 1109 |          if len(rev_ids)>=2:
 | 
	
		
			
			| 1100 | 1110 |              revision_rev_id = rev_ids[-2]
 | 
	
		
			
			| 1101 | 1111 |  
 | 
	
		
			
			| 1102 |  | -            for revision in self.revisions:
 | 
	
		
			
			|  | 1112 | +            for revision in self.clean_revisions:
 | 
	
		
			
			| 1103 | 1113 |                  if revision.revision_id == revision_rev_id:
 | 
	
		
			
			| 1104 | 1114 |                      return revision
 | 
	
		
			
			| 1105 | 1115 |  
 | 
	
	
		
			
			|  | @@ -1128,7 +1138,7 @@ class Content(DeclarativeBase):
 | 
	
		
			
			| 1128 | 1138 |          events = []
 | 
	
		
			
			| 1129 | 1139 |          for comment in self.get_comments():
 | 
	
		
			
			| 1130 | 1140 |              events.append(VirtualEvent.create_from_content(comment))
 | 
	
		
			
			| 1131 |  | -        for revision in self.revisions:
 | 
	
		
			
			|  | 1141 | +        for revision in self.clean_revisions:
 | 
	
		
			
			| 1132 | 1142 |              events.append(VirtualEvent.create_from_content_revision(revision))
 | 
	
		
			
			| 1133 | 1143 |  
 | 
	
		
			
			| 1134 | 1144 |          sorted_events = sorted(events,
 |