Better tiddler relation handling question

The context has nothing to do with requiring JS and all about supporting most scenarios I deem reasonable (and talked about from the get go):

  • I have a plugin, for the sake of the argument let’s say it’s my Task List plugin
  • This plugin creates **Relation **tiddlers that are linked to User tiddlers.
  • I want to achieve:
    • Req 1: Relation is deleted when User tiddler is deleted
    • Req 2: Field linking Relation to User tiddler is updated with a new name when User tiddler is renamed
    • Req 3: It must work regardless of how user triggers the deletion or rename.
  • MessageCatcherWidget is ruled out by Req 3 because it won’t detect events triggered by global keyboard shortcuts
    • And there may be other edge cases where it wouldn’t trigger than I can’t think of at the moment
  • I don’t want to shadow core tiddlers to modify the UI:
    • Multiple plugins can’t combine their changes to the same core tiddler
      • Which rules out MessageCatcherWidget immediately
    • These changes can be overwritten by the user themself
    • Must be kept in sync with TW updates
    • This rules out any modifications to the UI to make it more difficult for user to do things accidentally
  • I don’t want to use cascades to have custom rendering for the tiddlers to block delete buttons
    • It’s not custom-layout friendly
    • Requires duplicating core wikitext and then maintaining if you want things to look the same
    • It doesn’t cover Req 3
  • Releasing the plugin as an edition with customized everything won’t work:
    • It no longer is a plugin and becomes useless to anyone who would like the functionality in their existing wiki
    • Still doesn’t cover Req 3 unless I also modify JS, in which case I can just have a JS hook in my plugin
  • I don’t want to include another plugin
    • Don’t want to bloat user’s wikis
    • Needs to be kept up to date
    • I don’t want to add dependencies when they are not needed
    • Relink plugin wouldn’t cover Req 1 and I am not aware of a plugin for that (which I could also write but see the 3 points above)
    • The included plugin would still need to use JS to satisfy Req 3 in which case I can just have a JS hook in my plugin

I talked about Req 1 and Req 2 right in my first reply in this thread.
I talked about my reasons to not want to customize the UI in a plugin in my second reply in this thread.
I even mentioned I already use cascades to some extent in another one.

I am very bad at translating thoughts from my head to text especially if it’s longer than a few sentences and get very easily lost following bigger conversations that I am part of. I apologize if all the misunderstanding came about because of my poor communication, I can’t really tell why this happened. This thread has spiralled out of control and I am out of it now.