GNOME Bugzilla – Bug 350990
Creating a note with a single character as the title and changing the title breaks other notes
Last modified: 2010-02-11 19:34:49 UTC
Steps to reproduce: 1. Create a new note 2. Make the title "This is note 1" 3. Make the content "I use the letter z in words in this note like zebra" 4. Create a new note 5. Make the title "z" 6. Make sure both notes are visible 7. Click on the description in note #2 8. Note 1 will automatically link the letter z (both occurrences) to the new note with the title z 9. Change the title of the second note from "z" to "tomboy" 10. Watch the first link in Note 1 get updated from "z" to "tomboy" which makes the original content not make any sense. Half of my notes got jacked up this way :-( Tomboy version is 0.3.5 Will attach screenshot shortly.
Created attachment 70761 [details] screenshot of the issue
Ya, this sucks terribly, and fixing this bug correctly will make me tackle a long-standing issue with Tomboy... The code in CVS will at least mitigate this by only creating links for whole words or phrases. Perhaps a guard against notes with very short titles (<4 characters say) would help as well. One way to fix this is to remove existing links to the old title after a rename, which makes it easy for notes to become unlinked. Or better yet, to create the idea of "soft" links between notes in the case of automatically created links -- these would just disappear if the title is renamed. But when is a "hard" link created whose content should change after a rename?
It is not needed to be an isolated word or letter. For instance, in a rush I wrote a quick note which I named as 'sd'. Which I didn't noticed as that every word in any which had 'sd' inside the word was linked to this new note. For instance, 'desde'(an spanish word for 'from'). So, one day I took some time to make some order/classification to my notes. So, I renamed 'sd' as 'Sistemas distribuidos' and automatically every note with such criteria was changed. Instead of saying 'desde' it was 'deSistemas distribuidose'. Well, it also happened with other words in a similar situation. As you said Alex, at least must match only whole words will help. I had some notes that were fixed correctly, but I also I had a bunch of notes that got broken (I mean, non sense notes) after the change. A dialog could want to the user about his or her action, but it should popup only if there are notes to be changed. Maybe a list of notes will change and ask the user to confirm that action (a checkbox for each note). If the name is too short, the user should be reported about that. One way is through a dialog (with the classical 'Don't ask me next time'). Other way is putting an icon over the title, something similar when a user add a note in a cell in gnumeric or OOo Calc. This icon is less invasive than a dialog.
Not sure what the best approach would be to fix this problem. Any additional thoughts Alex/Brent/Germán/others since the last activity on this bug? Since we're in bugfix mode for GNOME 2.18, that's where I've got time at the moment. Should I implement the following? - Prevent titles with < 4 chars from creating auto links? - When a note title is changed, pop open a checkbox list if there are other notes this change will affect - Other?
For a long time I did not know about the title-rename-updates-links feature, and I found the behavior confusing. I know it would cause my mom's head to explode, for example. It would be nice if we had some data as to how often people rename notes. If it is not that common an operation, we could put together a really nice dialog with a list of notes to be changed, along with a checkbox indicating whether or not to go through with the change, and a button labeled "See Changes" to show the original note and the modified note side by side, with changed lines highlighted. Some text in the dialog would explain to the user what was happening. It's unclear how much of this would be considered a new feature. At a minimum, I would like to see a dialog appear when the note is renamed, informing the user which notes are affected by the change. That way they won't be surprised and confused, at least. As to the "< 4 chars" issue: I'm confused. Isn't it sufficient that only whole words or phrases are auto-linked? How is it any worse for me to rename a note called "the" compared to renaming a note called "important"? In both cases many resulting changes won't make any sense.
So there's a simple solution to this that I've been meaning to implement for some time. That is to require that note titles contain at least two words, or one WikiWord. This should keep note titles much more unique and so less likely to be accidentally linked. Which means the link auto-update feature would be much less likely to accidentally alter people's notes. I suspect this would fix the need for a dialog explaining the updates, but we should experiment with it. A three word minimum would almost ensure no inadvertant linking, for instance. When a note is renamed, we should show a warning if it's title is just a single word and rehighlight the title. We do this today for name clashes or titles <4 characters.
This requires change to the UI (too late for 0.6.0). Let's address this one for 0.8.0.
Created attachment 85061 [details] [review] Implements the behavior described in comment #6. This patch 1) checks for an existing note title, 2) makes sure the length is greater than 3 characters long, and 3) makes sure there are at least two words (or allows one WikiWord) in the title. The wording of the error messages may not be the best, but this is a start. Thoughts anyone?
Patch comments: 1) Why not have IsNoteTitleValid return a NoteTitleError, and then check for NoteTitleError.None? Out parameters are a pain, and it would cut out some extra lines in this patch. So I name my note "git". First I get an error message telling me it doesn't have enough characters, so I rename it "git:notes". Then I get an error message telling me it doesn't have enough words, so I rename it "git notes". That sucks. 2) Maybe the delims in GetWordCount should include ":" and other normal separation characters? Maybe not "-" since lots of words have hyphens in them. Now what if I do "hen" -> error -> "hens" -> new error? Is this common enough to warrant modifying the error dialogs to explain *all* of the rules? Maybe not...just wanted to bring it up, though. 3) The error messages for NoteTitleError.NotEnoughWords should also suggest using a WikiWord. Personally, I'd like to be able to name my notes with one non-WikiWord, but I think the benefits of this patch outweigh the minor loss in functionality.
One last thing: how does this impact old notes that don't meet the rules? I have three or four, but I haven't tried out this patch yet. ;-)
(In reply to comment #9) > Patch comments: > > 1) Why not have IsNoteTitleValid return a NoteTitleError, and then check for > NoteTitleError.None? Out parameters are a pain, and it would cut out some > extra lines in this patch. Can be done. > So I name my note "git". First I get an error message telling me it doesn't > have enough characters, so I rename it "git:notes". Then I get an error > message telling me it doesn't have enough words, so I rename it "git notes". > That sucks. > 2) Maybe the delims in GetWordCount should include ":" and other normal > separation characters? Maybe not "-" since lots of words have hyphens in them. Agreed. Non-alphanumeric characters should be used as delimeters. > 3) The error messages for NoteTitleError.NotEnoughWords should also suggest > using a WikiWord. Good point. > Personally, I'd like to be able to name my notes with one non-WikiWord, but I > think the benefits of this patch outweigh the minor loss in functionality. Yeah, I actually think users will lash back at us if we actually prevent one word names because it's not going to work like they think it should. I just glanced through all of my notes, for example, and I have quite a few that have single words as the title. As far as affecting older notes, the patch in its current form does not work. One thing that would be nice when you end up with a duplicate note title would be that we just delete the new note and take you directly to the existing note. This happened to me today when I tried to create a Bugzilla Plugin note only to realize that I already had created one. It would have been nice to have it prompt me to take me right to it so I could add additional notes about it. I'll have to spend more time on this patch.
I know we probably don't have time to fix this this weekend, but I'm targetting for 0.9.4 anyway since it would be nice if it happened to be fix before feature freeze. :-)
*** Bug 513117 has been marked as a duplicate of this bug. ***
I stumbeled upon this by accident. I have over 100 tomboy notes, and in some of them I have word "linux" because I put a lot of linux related stuff in tomboy notes. I copy/pasted some linux survey I have found online, and as it began with the head line "Linux Journal 2008 Readesr Choice Survey" all of my notest that had word "linux" now have instead of that whole sentence. So what was previouly gnome is linux destktop now is: gnome is Linux Journal 2008 Readesr Choice Survey desktop this looks like a really serious - I don't know what to call it but a bug... please look at attachement that I posted on bug #513117 that is a duplicate of this bug: http://bugzilla.gnome.org/attachment.cgi?id=104019&action=view http://bugzilla.gnome.org/attachment.cgi?id=104020&action=view http://bugzilla.gnome.org/attachment.cgi?id=104021&action=view http://bugzilla.gnome.org/attachment.cgi?id=104022&action=view http://bugzilla.gnome.org/attachment.cgi?id=104023&action=view http://bugzilla.gnome.org/attachment.cgi?id=104024&action=view Cheers, Valent.
Setting the default assignee and QA Contact to "tomboy-maint@gnome.bugs".
*** Bug 532481 has been marked as a duplicate of this bug. ***
Good writeup from a recent dupe: Please describe the problem: When a new notes is created and a title is set, Tomboy will search through all other notes and create links to the new note from words matching the title. This has the undesirable effect of making totally unrelated links if you make the title a common word. Also if you then change the title of your new note, all of the links that were previously created are now changed to the new title. This means *all* words in *all* notes have now been found and replaced by the newer title. Steps to reproduce: 1. Create a note about my newest programming project. Write "TODO: Store to file, load from file". 2. Create a new note about things I have to buy at the store. Set the title to "Store". 3. Decide "Store" isn't a very good title. Change it to "Shopping". 4. Go back to my programming project note. It now says: "TODO: Shopping to file, load from file". You can see how unknowingly making a new note called "the" or "and" would quickly make all your previous notes almost impossible to understand. Actual results: Expected results: I would expect that automatic links would only apply to anything I type *after* the title has been set, not everything I typed before. If this was the case, I could create a note called "Store", and later when I typed "Store" in another note I would see it turn blue and instantly realize what happened. However because it applies to text I have already typed, I cannot see there is a problem until I open up all my previous notes. Does this happen every time? Other information:
I am the author of the above description, which I reported in a duplicate bug. I think my solution (see Expected Results above) is the best so far. Putting requirements on the number of words or length of the title will just annoy users. I think many users don't even make use of the linking feature (I don't) and putting a restriction on their titles seems unnecessary. Also preventing links for words with less than 4 characters will not help as my example above with the word "Store" shows. English, and most languages have words of many different lengths which are spelled the same and have totally different meanings. This is not something we can change. Even the proposal of having "soft links" which will not rename when the title is changed is not optimal because while preserving the text wouldn't be as annoying, having a link in "TODO: Store to file" to my "Store" list still doesn't make any sense. Even if it does preserve the original text, linking to something unrelated will still cause confusion. So, I think the best way is to only apply links to text typed afterwards, and I would like to add that there should be a way to quickly remove links which I didn't intend. If after creating my "Store" note, I type "store" somewhere else, I will see it turned blue and having a "Remove link" option in the context menu would allow me to correct the problem immediately. This solution should be easy to implement. Don't do any link searching when a title is created, but keep the title searching when typing regular text.
I still see this issue on Fedora 9 with Tomboy 0.10.1 Can you please tell me how can I fix that?
*** Bug 537034 has been marked as a duplicate of this bug. ***
Hello, I agree with Laslo, having a link in "TODO: Store to file" to my "Store" list doesn't make any sense. The root of the problem is that at note creation, tomboy links unrelated things. However, I don't like its idea of only applying links to text typed afterwards one note creation. I think what we need is - stop creating hard links automatically - display soft links in the notes. Something like underlining, meaning "There is a note whose title is matching these words, do you want to create an hardlink ?". Maybe an option to not display them would be great too. And maybe a button to hardink all the identical softlinks in one note would prove useful too. - a gui which finds all the back soft links linking to one note and propose to change them to hard links. This gui could be called upon note creation. Does it make sense ?
+1 for comment 21
Agreed, +1 for comment 21
*** Bug 554884 has been marked as a duplicate of this bug. ***
yes please +1
is there any progress with this bug? Can it be tested somehow so we can provide some more feedback?
After talking on IRC my vote would be #21 as well, that means: No automatic links. Suggest them on open notes/provide easy means to link words to notes with the same title but don't do it in the background/without the user's consent. I would add one exception though: Since Tomboy has quite a lot of wiki like features I would propose that WikiWords always create links, unless someone can come up with a scenario where this might be harmfull. So a note "ToDo" would always be linked to "ToDo" in my notes, a note named "Linux" wouldn't. Does that make sense?
I agree with comment #21, that's a good thinking ! yes +1 For comment #27, I doen't agree. I think this feature could be included in > #21 : > a gui which finds all the back soft links linking to one note and propose to > change them to hard links. This gui could be called upon note creation. And a option for a note like "always create hard link for the title of this note" This would keep things simpler for the user, not to have differents behaviour for WikiWords. (then the option above could be defaulted to "yes" for WikiWord and "no" for other)
*** Bug 574278 has been marked as a duplicate of this bug. ***
Comment from recent dupe: Say I create a note and give it a title, perhaps mistakenly, that is a very common word. Recently I created one called "test". Once I do that, Tomboy goes out into all my other notes and links every occurrence of the word "test" to this new note. This is great, and how I think tomboy should operate. What I don't like is if I now change the name of this note to something else, say "Bug Test", Tomboy goes out and replaces every occurrence of the word "test" with "Bug Test" thereby changing the textual content of my notes. "Bug Test" does not make sense in a note I've written about grading a "test". If I delete the note "Bug Test", Tomboy does not revert all of the new occurrences of "Bug Test" back to "test", it leaves them as greyed out "Bug Test". I realize this is part of the foundation of Tomboy, but you can see how it can create lots of problems. I propose that the first part is correct, always link all occurrences of the name of a note to the note, but do not allow changing the note name to change all of the occurrences of the note name. I think that changing the name of a note should disassociate that note with all of the old links and return them to normal text. It should then associate all occurrences of the new name.
Comment #30 is mine. Sorry, did not find this discussion before I posted.
I'm not really comfortable with placing a ton of restrictions on note titles. But I don't want to do away with automatic note linking. It is part of the magic of Tomboy, and can often help you rediscover old ideas. I do not want to do anything to slow down the note creation process. Putting restrictions on titles slows down note creation ("What do I call this note? Oh not this? Not this? Okay this title works...now what was I going to write again?"). Making the user think *at all* about link-related decisions while writing note content slows down note creation. The least common action is the actual note renaming. I will accept the idea of slowing down this action in order to resolve this bug. Therefore, I propose that we follow through with my idea in comment #5, which has now been filed as bug #574485. I believe we should prompt the user after a note rename if other notes already link to the renamed note, and allow them to decide whether or not to update the text in each linking note. This should not be hard. Ideas about manual linking are certainly relevant here, but they don't really solve the whole problem, they introduce complexity, and I'd rather see them in a separate enhancement bug (which may already exist).
I agree that automatic note linking is essential. But automatic link renaming could be removed entirely. The operating logic could be: If a group of words in note A match the title of note B, then that group of words in note A should become a link to note B. And that's it. That's how we operate all the time. Soft links only. Changing the name of A should not change the text in B, rather it should unlink to B and link to any other note that has the new title. On the other hand, I think that you are right to say that renaming notes is very uncommon. I've only done it a handful of times. So a dialog showing the proposed changes to linked notes would be ok. That would still cover the case where the user mistakenly creates a note called "the" and then renames it to something else, provided that you have the easy option of selecting "Change None". So, the first option is the simplest, but you're giving up a feature, and the second option is a little more complicated, but you get to keep the feature. I guess I'd go with the second option too. I wouldn't like to see any restrictions placed on note titles, that seems too complicated.
I agree with the main point that automatic linking is good, and automatic link renaming should be user monitored. I wonder which "undo" feature we could invent for the renaming step.
*** Bug 578283 has been marked as a duplicate of this bug. ***
I can find no use for note linking and I don't want it at all. Can we please have a setting to turn it off completely. I simply want to save notes and be able to search them. Nothing more. These automatic links and text being changed without my knowledge is a serious problem and is making me look for an alternative to Tomboy.
+1 and as for barry's comment #26 I have found the solution and it is called gnote! I'm using Fedora 11 beta and it is as easy as: yum install gnote -y to install it and start using it. It reads tomboy notes and the most important thing it doesn't have this bug! I tested it and it works as expected! If you have link and change the text the links breaks, as it should. If you change the title of the note, only then the text in link changes, as it should. Bonus; it starts much faster than tomboy, and it doesn't use Mono ;)
(In reply to comment #37) > +1 > > and as for barry's comment #26 I have found the solution and it is called > gnote! > > I'm using Fedora 11 beta and it is as easy as: > yum install gnote -y Thanks for that - I had to build it in Mandriva 2009.1. It runs OK but seg-faults here and there. I will report the bugs and see how it goes :-/
(In reply to comment #36) > I can find no use for note linking and I don't want it at all. > Can we please have a setting to turn it off completely. We will at least be adding a setting to turn off automatic link renaming, and will probably also add a setting to turn off linking completely. Expect this in an upcoming development release, as it's a blocker for Tomboy 1.0.
(In reply to comment #39) > We will at least be adding a setting to turn off automatic link renaming, and > will probably also add a setting to turn off linking completely. Excellent. I will look out for it. Seems to me that a simple note taking application is perhaps getting over-complicated. Maybe time for Tomboy-lite?
(In reply to comment #40) > (In reply to comment #39) > > We will at least be adding a setting to turn off automatic link renaming, and > > will probably also add a setting to turn off linking completely. > Excellent. I will look out for it. Seems to me that a simple note taking > application is perhaps getting over-complicated. Maybe time for Tomboy-lite? This has been the central feature of Tomboy since the first release, it is not some new development. After we've fixed this bug, I don't really understand what the point of "Tomboy-lite" would be. If you are finding Tomboy over-complicated in other ways, please file additional bugs so we can address those problems, too. :-)
(In reply to comment #37) > It reads tomboy notes and the most important thing it doesn't have this bug! > tested it and it works as expected! I find that it does have the same bug and I have filed a bug report. http://bugzilla.gnome.org/show_bug.cgi?id=584789 > If you have link and change the text the links breaks, as it should. > If you change the title of the note, only then the text in link changes, as it > should. Should it? Why? If the title of a note is linked and it changes then surely the link should just vanish. I really can't see why anyone would want all their notes corrupted just because they have changed one title that just happens to appear in other notes - how is this a feature? I must be missing something. It's even promoted as a feature in the "Using Links in Tomboy" note:- "Changing the title of a note will update links present in other notes. This prevents broken links from occurring when a note is renamed." > Bonus; it starts much faster than tomboy Yes it does - considerably faster.
*** Bug 606578 has been marked as a duplicate of this bug. ***
(In reply to comment #39) > (In reply to comment #36) > > I can find no use for note linking and I don't want it at all. > > Can we please have a setting to turn it off completely. > > We will at least be adding a setting to turn off automatic link renaming, and > will probably also add a setting to turn off linking completely. Expect this > in an upcoming development release, as it's a blocker for Tomboy 1.0. Did anything happen with this?
(In reply to comment #44) > (In reply to comment #39) > > We will at least be adding a setting to turn off automatic link renaming, and > > will probably also add a setting to turn off linking completely. Expect this > > in an upcoming development release, as it's a blocker for Tomboy 1.0. > > Did anything happen with this? Nope, sorry, ran out of time last cycle.
Barry tryout gnote, it is compatible with already created tomboy notes and doesn't have this bug. I still love Tomboy but find myself using gnote more than before.
Valent, gnote still has the auto-update of links referencing notes that are renamed, though, right?
(In reply to comment #46) > Barry tryout gnote, it is compatible with already created tomboy notes and > doesn't have this bug. I still love Tomboy but find myself using gnote more > than before. I actually do use Gnote and I have done since hitting this problem in Tomboy. (I prefer to stay mono free). This problem does also affect Gnote, but unlike the Tomboy developers, the people at Gnome do not consider it to be a bug. https://bugzilla.gnome.org/show_bug.cgi?id=584789 As far as I can tell what happens in Tomboy is mirrored in Gnote code unless I am mistaken, so maybe getting this fixed in Tomboy is the only way to eventually see a fix in Gnote ;-/
I think everyone CC'd on this bug will be very happy to hear that as of Tomboy 1.1.2, renaming notes is a *lot* safer. See details in bug #574485. I'm thinking about closing this bug. Does anyone think there are other issues in *this* bug that need to be resolved? I recommend filing enhancement bugs for the following features discussed here: * Being able to disable automatic linking * Being able to link any text to anything else (for example, linking "my favorite recipe" to a note called "PB and J", or to a HTTP URL) Am I forgetting anything?
Closing as OBSOLETE. Totally willing to hear arguments to re-open though, so please do speak up if you're not satisfied with the resolution of this bug.