Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clicking TOC link with a non-alphanumeric character doesn't jump to correct position #1953

Closed
Perkolator opened this issue Oct 4, 2019 · 8 comments · Fixed by #2005
Closed
Labels
bug It's a bug upstream There's a problem with upstream code.

Comments

@Perkolator
Copy link
Contributor

Environment

Joplin version: 1.0.169
Platform: Windows
OS specifics: Windows 8.1(.1)

Steps To Reproduce

  1. Paste/import the following test file to Joplin: testing.md.txt

  2. Click any of the TOC links.

= Only the first TOC link ("what") works, all other TOC links don't do anything.

I didn't test all non-alphanumeric characters, but testing few common ones seem to suggest that only alphanumeric characters in TOC links work.

@Perkolator Perkolator added the bug It's a bug label Oct 4, 2019
@tessus tessus added the upstream There's a problem with upstream code. label Oct 4, 2019
@tessus
Copy link
Collaborator

tessus commented Oct 4, 2019

Can you please report this at https://github.com/nagaozen/markdown-it-toc-done-right

There's not much we can do about bugs in the modules we use.

@Perkolator
Copy link
Contributor Author

I have reported 3 other similar "clicking/tapping TOC links -> not jumping to correct position" bugs that nobody yet has said that are "upstream" problems. I'm not a psychic, I don't know how the program works. So, sorry if this/my reports are useless.

I'm rather more and more worried about Joplin's future as I see that many bugs/enhancements are on "PR welcome" status, and what's worrying the most, Joplin seems to be largely dependent of many external components/projects that have their own problems that can't, or not wanted to, be fixed by Joplin crew, and not even by the external repo owners. That's how the situation unfortunately looks to me. This is not a complaint, Joplin is free and I understand the limited resources.. this has just been bugging me more and more after I started using Joplin recently and started watching the repo and forum more closely. No 'fence.

I'll consider adding to the other repo then.. the last one was ignored for a month and then when posting on it again, was greeted with a familiar "PR is welcome" message.

@laurent22
Copy link
Owner

Your observation doesn't seem very fair do be honest. There are bugs being fixed all the time, just check the commits, and there's even one of yours that's currently assigned to me, which means it's high on my priority list.

Regardless it's a bit weird to make a generalisation without any specific examples, and implying the project is getting worse and worse, when bug fixing has always been, and still is, high priority.

@tessus
Copy link
Collaborator

tessus commented Oct 5, 2019

This is a rather huge project with only one major developer, so it is clear that one can't code everything from scratch. And nobody else would either. All npm, go, ... projects rely heavily on modules/extensions/.. It makes sense, because nobody wants to waste time to reinvent the wheel.

You are not the only one who's been bitten by certain upstream issues. I myself have several issues with the current Electron release and can only hope that those will be resolved in the future.
The add-ons are clearly marked as such and it should be obvious that they are not part of the core code. Why would you make them optional otherwise?

I have to agree with Laurent, and don't think I always do. This project has developed/improved immensely over the past 1.5 years. A lot of features were added and even more bugs have been fixed. But with limited resources this project is more than healthy and Laurent has done a great job so far. I don't know if you have any idea what strain such a huge project is on someone's personal life. If it was done for a company that's a different story, but Laurent does all of this in his spare time.
Therefore the more people contribute PRs the easier it is to handle all of it.

@Perkolator
Copy link
Contributor Author

I'll try to be very brief with this off-topic.

implying the project is getting worse and worse

I never said that!

My feeling/opinion is that I'm afraid of the long-term threats with many dependencies. Will those ever materialize, time will tell, hopefully not. BTW. Do you have short & long term goals, road map? I have no ill will towards Joplin, nor to the people working on it.

@Perkolator
Copy link
Contributor Author

And back to topic. You are absolutely sure that this is a problem with the TOC plugin? I'm asking because, like I wrote earlier, I have reported 3 similar "clicking/tapping TOC links -> not jumping to correct position" bugs before and so far they haven't been tagged as "upstream". I was once incorrectly told to report another bug (which is btw a good example of something not right in Joplin but "can't" be fixed) to TOC repo, so I want to be sure that this is not a editor/renderer/else problem.

@laurent22
Copy link
Owner

My feeling/opinion is that I'm afraid of the long-term threats with many dependencies. Will those ever materialize, time will tell, hopefully not. BTW. Do you have short & long term goals, road map? I have no ill will towards Joplin, nor to the people working on it.

As tessus said, no project can exist without dependencies. You can't possibly re-implement everything every time. We're very careful with our choice of dependencies though. The major ones are Electron (GitHub/Microsoft), React Native (Facebook/Microsoft), SQLite (available everywhere and very reliable) and Node.js (same). Even less important dependencies are careful chosen - either they are widely used and stable, or we make a wrapper so that it can be swapped easily.

I would say the main unfortunate dependency now is Ace Editor, because it's a bit dated, but it's not impossible to change it either.

@tessus
Copy link
Collaborator

tessus commented Oct 5, 2019

You are absolutely sure that this is a problem with the TOC plugin?

I will run a few tests. Maybe I'm too quick in judging plugin issues as upstream, but the person who wrote the plugin can probably tell right away, if it's a bug or not. Delegation in triaging is not an uncommon thing. But I get your point.

tessus added a commit to tessus/joplin that referenced this issue Oct 18, 2019
This change fixes a few issues with the toc plugin.
It now allows to set inline options. e.g. to set the max toc depth.

1. set toc depth to 2 levels

```
$<toc{"level":[1,2]}>
```

2. set toc depth to 3 levels and use an ordered list

```
$<toc{"level":[1,2,3],"listType":"ol"}>
```

/ref nagaozen/markdown-it-toc-done-right#16

---

fixes laurent22#1953
fixes laurent22#1843
fixes https://discourse.joplinapp.org/t/set-depth-of-toc/2899
laurent22 pushed a commit that referenced this issue Oct 30, 2019
…ght, anchor (#2005)

This change fixes a few issues with the toc plugin.
It now allows to set inline options. e.g. to set the max toc depth.

1. set toc depth to 2 levels

```
$<toc{"level":[1,2]}>
```

2. set toc depth to 3 levels and use an ordered list

```
$<toc{"level":[1,2,3],"listType":"ol"}>
```

/ref nagaozen/markdown-it-toc-done-right#16

---

fixes #1953
fixes #1843
fixes https://discourse.joplinapp.org/t/set-depth-of-toc/2899
@lock lock bot locked and limited conversation to collaborators Nov 6, 2019
scoroi pushed a commit to scoroi/joplin that referenced this issue Nov 10, 2019
…c-done-right, anchor (laurent22#2005)

This change fixes a few issues with the toc plugin.
It now allows to set inline options. e.g. to set the max toc depth.

1. set toc depth to 2 levels

```
$<toc{"level":[1,2]}>
```

2. set toc depth to 3 levels and use an ordered list

```
$<toc{"level":[1,2,3],"listType":"ol"}>
```

/ref nagaozen/markdown-it-toc-done-right#16

---

fixes laurent22#1953
fixes laurent22#1843
fixes https://discourse.joplinapp.org/t/set-depth-of-toc/2899
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug It's a bug upstream There's a problem with upstream code.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants