Historically, we used to rely on the JMdict internal ID to identify studied entries. This worked very well at the beginning, especially since the JMdict had annotations indicating where a deleted has been merged to so we could update the user database to point to the new entry and the user would not notice anything.
Sadly these annotations are not here anymore, and when updating the JMdict we are thus left with the task of figuring out what happened to deleted entries. Worse, when a new version of Tagaini is started for the first time, the database update process only has the entry ID of deleted entries to work with - without any context, reading or writing, since the ID is all that we stored in the user database.
This is a major problem that could affect users pretty significantly by removing some of their studied/annotated entries, and is the main reason preventing official releases. The JMdict has diverged quite a bit since the last release, so we need to find a way to prevent too many lost entries.
Holding on to the last JMdict entry is understandably frowned upon by the JMdict maintainers since users could make reports for invalid entries that have since been fixed.
Historically, we used to rely on the JMdict internal ID to identify studied entries. This worked very well at the beginning, especially since the JMdict had annotations indicating where a deleted has been merged to so we could update the user database to point to the new entry and the user would not notice anything.
Sadly these annotations are not here anymore, and when updating the JMdict we are thus left with the task of figuring out what happened to deleted entries. Worse, when a new version of Tagaini is started for the first time, the database update process only has the entry ID of deleted entries to work with - without any context, reading or writing, since the ID is all that we stored in the user database.
This is a major problem that could affect users pretty significantly by removing some of their studied/annotated entries, and is the main reason preventing official releases. The JMdict has diverged quite a bit since the last release, so we need to find a way to prevent too many lost entries.
Holding on to the last JMdict entry is understandably frowned upon by the JMdict maintainers since users could make reports for invalid entries that have since been fixed.