Ticket #366 (closed defect: fixed)
Tiddlers lose all fields when they are renamed
| Reported by: | alansliu | Owned by: | |
|---|---|---|---|
| Priority: | undefined | Milestone: | 2.2.5 |
| Component: | core | Version: | 2.2.05 |
| Severity: | undefined | Keywords: | |
| Cc: |
Description
In 2.2.0 beta 5, when saving a tiddler, the Story.prototype.saveTiddler method does this:
var extendedFields = store.tiddlerExists(newTitle) ? store.fetchTiddler(newTitle).fields : {};
I propose that this should be:
var extendedFields = store.tiddlerExists(newTitle) ? store.fetchTiddler(newTitle).fields : (newTitle!=title && store.tiddlerExists(title) ? store.fetchTiddler(title).fields : {});
This only matters if the tiddler is being renamed. If it is renamed, with the original code, all extended fields are lost. This means that if the tiddler is being sync'ed to a server, the server loses all of the tiddler's field data, so it can't do things like track renamings. Besides that it just means that you lose field data if you rename, which doesn't seem right.
