You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, Weblate tracks pending state per unit - whether current state needs to be written out to the file. This causes performance issues in several places, as pending changes might have to be written out before doing other edits:
Accepting and editing suggestions triggers commit
Bulk edit triggers commit
Two users editing translation at the same time triggers a lot of commits
Add-ons working on a single translation can cause a lot of commits
Use Change for tracking pending changes, add any missing info to details there, Unit would need just pending_changes = models.ManyToManyField("Change").
Utilize this to commit pending changes
Drop written out relations
Describe alternatives you've considered
Dedicated model tracking pending changes (unit, target, state, author, timestamp) could be used instead of relying on Change
User user_commit_pending should be refactored to use the new model
Not sure what to do with the pending flag, it would still simplify the lookup, but it duplicates the information, leading to possible consistency issues. Dropping field on the table might be expensive during the migration (but we might be changing the Units table anyway to add relation to Change).
Enforced checks handling will have to be adjusted so that the final state is stored as pending change, not desired one.
The text was updated successfully, but these errors were encountered:
Describe the problem
Currently, Weblate tracks pending state per unit - whether current state needs to be written out to the file. This causes performance issues in several places, as pending changes might have to be written out before doing other edits:
Describe the solution you'd like
Change
for tracking pending changes, add any missing info todetails
there,Unit
would need justpending_changes = models.ManyToManyField("Change")
.Describe alternatives you've considered
Change
Screenshots
No response
Additional context
user_commit_pending
should be refactored to use the new modelThe text was updated successfully, but these errors were encountered: