Kanban Plugin Weekly Report

You need to use dev version of the plugin, i.e. check out the sources, run npm i from there, and point Joplin to that dir. And if you have previously installed the plugin from .jpl, you'll need to remove it first.

Thank you for the detailed feedback!

Yeah these seem like serious bugs, I'll look into them ASAP.

Yes, notes in the same notebook should keep the board open, but I'm working on the auto reload.

This will be solved when I add support for the completedTag rule, so very soon.

I guess it's related to the WIP tag not existing. For some reason I thought tags are created automatically by Joplin if they don't exist yet, but it seems that's not the case. I'll add the check for that.

That's the intended behavior, unless they're in sub-notebooks of the board notebook, in which case it's a bug.

I figured most people would have one notebook for the board, and would want to leave all other notes out. But I could surely add an option to include all notebooks. What do you think?

I fixed all the bugs you discovered except this one, because I couldn't reproduce it. Did you notice maybe, when this happens, do both notes move smoothly, or does one jump there a split second later?

Yea, I like the idea of having a board that is generated purely from tags and doesn't care what notebook it is in. That allows me to keep project notes in their notebooks, but see all my "work" across a bunch of projects. In that case I probably would want my backlog to be all notes in a general Inbox notebook, but I am less concerned with that.

Hmm, seems to depend? As you can see it isn't consistent.

Tried it yesterday, very nice. Great work!

I could not reproduce the issue that @uxamanda mentioned, but at some point I grabbed a task and started dragging it back and forth and after a few seconds my whole system froze.
However, I think this is not something specific to your plugin and more of a general stability issue on Linux.

@uxamanda could you give the latest version a try and see if this still happens? I made multiple small improvements in stability, it should be a lot smoother now.
com.mablin7.test.kanban.jpl (1.6 MB)

Hm I'm afraid that could be the new polling system. I didn't run into it on my setup, but I can imagine that there's a memory leak somewhere in there. I'll do some more testing, but I might have to come up with another way for updating the board.

Week 5

July 5. - 11.

New release

Here's the latest test release of the kanban plugin:
com.mablin7.test.kanban.jpl (1.6 MB)

See installation and usage instructions in my previous post:

Progress

This week I've been making smaller, incremental improvements, fixing bugs and improving stability. Multiple unexpected problems came up, so I haven't managed to make as much progress as I had hoped, but in general the plugin should be a lot more usable now.

Most notably, the auto-reloading is finally working. This mean that you can

  • change the board config,
  • change the board title,
  • change the content, title or tags of any of the notes/tasks

and see the board update live! This should help greatly with experimenting, but it's not really stable yet, so please report any weirdness that happens while reloading.

Behind the scenes, the auto-reload uses long polling. This mean that the webview, which displays the board, sends a message to the main plugin immediately after opening, but the plugin only replies when there's an update. After processing the update, the webview again sends a long-poll message and the cycle repeats.

This is nice, because it allows quick updates, without sending messages very frequently and seems to work fine most of the time, but I'm suspecting it introduced a memory leak somewhere. I'm currently investigating this.

Achieved

  • Fixed multiple smaller issues
  • Added auto-reload
  • Added new tests for the sorting logic

Planned for next week

  • Investigate performance issue
  • Add more detailed error messages for the config parsing
  • Create mockups for the config UI

Thank you for all, who's giving the plugin a try and providing feedback!

Looks like the notes following each other around bugs are fixed! :tada:

I was playing around with something else and broke things (sorry :slight_smile: ):

  1. changed the done tag from done to is-done. This mostly worked as expected, it moved the note tagged "done" back into inbox. Moving the same note to the done column added the new tag.
  2. Then I changed the wip to wip2 and it didn't do anything at all. Switching notebooks and back the plugin now has an error stating The tag "wip2" already exists. Please choose a different name. I tried changing it to a new tag that I pre-checked doesnt exist wip4 and what seems to happen is that the new tag is created as soon as the board note loads, but it now shows The tag "wip4" already exists. Please choose a different name. If I put the tag back to wip, it then says The tag "is-done" already exists. Please choose a different name.. I can't seem to get out of this state, even by uninstalling and reinstalling the plugin. There are no errors in the normal dev console.

Even deleting that note completely (so that I didn't have any kanban notes anywhere) still shows the old error, so I think this might be a caching issue of some sort.

1 Like

Hey! Thanks for the report, I've been trying for a while, but haven't managed to reproduce this. I'll keep trying though!

I just tried again. I was able to reinstall the plugin and get the board to appear again. I think it wasn't working before because it was automatically opening the broken board, then even changing notes didn't seem to refresh it? Not totally sure.

As for repro steps:

  1. Make a board with column tag: wip
  2. Move notes into that column, check that wip tag is applied, all is good :+1:
  3. while looking at the board note, change the column to tag: wip2. At this point nothing happens. The note that is in that column still has the wip tag applied.
  4. go to another notebook and then back to the board note to "reload" it
  5. See error The tag "wip2" already exists. Please choose a different name. where the board would normally
  6. Delete the board note
  7. Go to any other notebook or note and the board, with the error still shows on screen (previously going to another notebook hides that panel).
  8. Delete the plugin from settings
  9. Reinstall
  10. Create a new board note, this time starting with wip2 as the column tag, switch to another notebook (since board didn't appear automatically), notice that the error has appeared again

Note

  • I have tried this with other tags, doesnt seem to matter what the tag name is

How did your editing toolbar get to the bottom? :blush:

Hey @uxamanda!

Sorry for the silence, I had a bit of a busy week. So I've gotten back to trying to reproduce this bug, but haven't had any luck. Could you try the following steps?

  1. Delete or move your profile directory to a different location to get a fresh start

  2. Download and install this version of the plugin:
    com.mablin7.test.kanban.jpl (1.6 MB)

  3. Try to reproduce the bug (if you can make a screen recording of it, it would be even better!)

  4. Navigate to the freshly created profile directory, find the kanban-logs.txt and log.txt files and send them to me

I set up a custom logging system for the plugin, so if I could see the logs after the bug happens, hopefully I could finally understand what's going on.

And thanks again for taking your time and giving feedback ! You're truly helpful.

Hey @mablin7 happy to help. I am really looking forward to using it. :slight_smile:

I went through this in both my real instance of Joplin and the Dev environment. I was only able to repro on my real instance.

One thing I noticed while playing around with plugins to get set up to test is that just deleting the plugins folder doesnt seem to completely get rid of them. I also saw there is a cache folder, and getting rid of that removes them from the Preferences UI. But, even in that state (no plugin or cache folder at all) the UI still marks plugins I had previously had as "Installed" when I search for them. In fact, I am not actually sure how you would reinstall plugins "normally" if you deleted the folder because of that (I had just moved my folders, so not a real problem). That makes me wonder if somehow there is stale plugin data hanging around in somewhere that is causing this issue to persist from an old version for me?



Anyways...

Dev enviro

Here is a video of my attempting to break in the dev environment (aka it working perfectly :mechanical_arm:)...

And kanban logs (there's a lot of non-plugin related testing in the rest of my logs I'd prefer not to upload, let me know if you need me to search for anything in particular)
kanban-logs.txt (120.1 KB)

Regular environment

Here's a video of me "breaking" things. (I cut part out at 00:27, but in that cut I went to another notebook and came back to "force reload" the board)

FWIW, once it gets into this state it is really hard to recover. I have tried every permutation of uninstalling from the UI, deleting cache and plugin folders manually, toggling plugin on and off in the UI, opening the board note while plugin is not installed, and I cannot reliably make it "start working" again. I almost feel like it comes back to life after ~5 mins? Then it is in a stable state unless I change the tag name which seems to break it whether or not it's a tag that is already defined.

Here's another example of it working again (after multiple uninstall and reinstall) and the getting the same error

Kanban Logs:
kanban-logs.txt (84.0 KB)

Hope that helps narrow it down.

EDIT: wow discourse really compressed those videos to nothing! sorry about that.

3 Likes

Oh I just realized what's up! You have more than 100 tags right? Apparently the data API returns tags split up into pages of 100, and I just never thought to request more than one page when searching for the id of a tag. I think it's fixed now, could you give it a try?

com.mablin7.test.kanban.jpl (1.6 MB)

It works :tada: ! Glad you figured it out.

1 Like

Wow, very nice, thanks! Because vacation missed this one.
No bugs to mention now because i don't know the features that should work already.
Used some time this one: https://kanboard.org/ Now using Deck with Nextcloud because the easy to use Android app.

So, can i add a request for the use of colors?
And can we style thru 'userstyle.css'? I could help with styling.
If possibile for the functionality it would be nice that a double click on the 'task' in the Kanban shows the corresponding note.

testing and some test/question:
When i change the tags like this; kbacklog, kwip, kdone i get this error:

tab characters must not be used in indentation (6:1) 3 | - 4 | name: Backlog 5 | backlog: true 6 | →tag: kbacklog -----^ 7 | - 8 | name: Working
columns: 
  - 
    name: Backlog    
    backlog: true
	tag: kbacklog
  - 
    name: Working
    tag: kwip
  - 
    name: Done
    completed: true
    tag: kdone

... or does the tags has not to be changed?

Error came from the 'tag: kbacklog' but without that one, there is no 'backlog' tag and no visibility when you check a note that's in the 'backlog' column.

This doesn't have to do with the tag name, just that you're using a tab to indent tag: kbacklog instead of 4 spaces. The yaml parser is quite finicky about that, but I am planning to make it more forgiving.

Currently, adding a tag rule to a backlog column doesn't do anything. Backlog columns are supposed to collect all notes which don't fit into any other column, they don't do any further filtering.