Feature #8620

Edit of mark make it unconfirmed

Added by Alexey Khoroshilov 4 months ago. Updated 2 months ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
Published in build:


If I create a mark and then edit it (fix comment or add a tag), it becames unconfirmed. That is quite unexpected behaviour.


#1 Updated by Evgeny Novikov 4 months ago

  • Tracker changed from Bug to Feature
  • Category set to Bridge
  • Assignee set to Vladimir Gratinskiy
  • Priority changed from Normal to Urgent
  • Target version set to 2.0

Indeed this is correct behavior by design. If an expert changes a mark somehow, he/she should confirm that all its associations still match changes made.

Nevertheless, I agree that sometimes it seems to be redundant, especially in a real production where experts need to analyze very many warnings. The expert can confirm that all associations will be valid in advance, e.g. when he/she fixes a grammar mistake in a mark description. Ditto, adding some tags can be considered as safe. For such the cases there should be an option to automatically reconfirm all associations confirmed before. Although, I suggest to disable this option by default, so that experts will think prior to enabling it.

There still should be changes preventing such automatic reconfirmation. Namely, I suggest to disable it when associations themselves can change. As far as I understand this is the case just in two scenarios, when the expert changes comparison attributes somehow (I think that nobody used this ever) and when the expert changes a comparison algorithm (this also seems to be done very-very seldom after recent improvements).

#2 Updated by Vladimir Gratinskiy 3 months ago

Associations "likes" would also be preserved if "autoconfirm" option is enabled.

#3 Updated by Vladimir Gratinskiy 3 months ago

  • % Done changed from 0 to 100
  • Status changed from New to Resolved
  • Due date set to 12/19/2017

Implemented in branch "marks-imrovements".

#4 Updated by Evgeny Novikov 3 months ago

Vladimir Gratinskiy wrote:

Associations "likes" would also be preserved if "autoconfirm" option is enabled.

This is definitely well.

#5 Updated by Evgeny Novikov 2 months ago

  • Target version changed from 2.0 to 1.0

As far as we postpone Klever version:0.3, let's include this issue there.

#6 Updated by Ilja Zakharov 2 months ago

Currently cannot edit unknown marks in the branch. Got the following exception:
Error while saving/creating mark: Cannot parse keyword query as dict
Traceback (most recent call last):
File "/work/zakharov/src/klever/bridge/marks/", line 208, in save_mark
res = mutils.NewMark(request.user, savedata)
File "/work/zakharov/src/klever/bridge/marks/", line 200, in init
self.mark = self.__new_mark()
File "/work/zakharov/src/klever/bridge/marks/", line 246, in new_mark
mark = res.change_mark(self._inst)
File "/work/zakharov/src/klever/bridge/marks/", line 128, in change_mark
self.changes = self.__create_changes(mark)
File "/work/zakharov/src/klever/bridge/marks/", line 165, in __create_changes
for mr in MarkUnknownReport.objects.filter(changes):
File "/home/zakharov/.local/lib/python3.5/site-packages/django/db/models/", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/db/models/", line 796, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/db/models/", line 814, in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "/home/zakharov/.local/lib/python3.5/site-packages/django/db/models/sql/", line 1227, in add_q
clause, _ = self._add_q(q_object, self.used_aliases)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/db/models/sql/", line 1253, in _add_q
allow_joins=allow_joins, split_subq=split_subq,
File "/home/zakharov/.local/lib/python3.5/site-packages/django/db/models/sql/", line 1129, in build_filter
raise FieldError("Cannot parse keyword query as dict")
django.core.exceptions.FieldError: Cannot parse keyword query as dict
Stack (most recent call last):
File "/usr/lib/python3.5/", line 882, in _bootstrap
File "/usr/lib/python3.5/", line 914, in _bootstrap_inner
File "/usr/lib/python3.5/", line 862, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python3.5/", line 625, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python3.5/", line 354, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python3.5/", line 681, in __init

File "/home/zakharov/.local/lib/python3.5/site-packages/django/core/servers/", line 174, in handle
File "/usr/lib/python3.5/wsgiref/", line 137, in run
self.result = application(self.environ, self.start_response)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/contrib/staticfiles/", line 63, in call
return self.application(environ, start_response)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/core/handlers/", line 170, in call
response = self.get_response(request)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/core/handlers/", line 124, in get_response
response = self._middleware_chain(request)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/core/handlers/", line 39, in inner
response = get_response(request)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/core/handlers/", line 249, in _legacy_get_response
response = self._get_response(request)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/core/handlers/", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/zakharov/.local/lib/python3.5/site-packages/django/contrib/auth/", line 23, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/work/zakharov/src/klever/bridge/tools/", line 133, in wait
res = f(*args, **kwargs)
File "/work/zakharov/src/klever/bridge/marks/", line 212, in save_mark
logger.exception("Error while saving/creating mark: %s" % e, stack_info=True)

#7 Updated by Ilja Zakharov 2 months ago

  • Status changed from Resolved to Open

#8 Updated by Vladimir Gratinskiy 2 months ago

  • Status changed from Open to Resolved

The bug was fixed.

#9 Updated by Ilja Zakharov 2 months ago

  • Status changed from Resolved to Closed

Available since cfc84c84.

Also available in: Atom PDF