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

Add title to hyperlink #1731

Open
claudiospizzi opened this issue Jul 13, 2019 · 45 comments
Open

Add title to hyperlink #1731

claudiospizzi opened this issue Jul 13, 2019 · 45 comments
Labels
backlog We'll get to it... eventually... desktop All desktop platforms

Comments

@claudiospizzi
Copy link

It would be great, if the title of a website can be automatically queried with a web request and inserted as text, if a new hyperlink is added with the hyperlink button.

image
image
image

Bonus
An even enhanced version: Just paste a hyperlink into the Joplin editor and Joplin will automatically convert the hyperlink to a markdown link including the website title as description. This could be an option, that this behavior can be enabled or disabled if desired.

Operating system

  • Windows
  • macOS
  • Linux

Application

  • Desktop
@tessus
Copy link
Collaborator

tessus commented Jul 22, 2019

I see 3 issues with this approach:

  • usually someone selects text and then uses the insert hyperlink icon or shortcut
  • in a lot of cases titles provided by web sites are
    • seriously crappy
    • not existent
    • too long (over 100 characters)
    • meaningless
  • it requires an outbound connection (imagine outbound FW like Little Snitch, people would have to deny all connections, allow all connections, or allow/deny on every request)

Maybe you should move the discussion about features to the forum. You can use your github credentials to login.

We really try to use this tracker only for reproducible/confirmed bugs and accepted feature request.

@stale
Copy link

stale bot commented Oct 20, 2019

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may also label this issue as "backlog" and I will leave it open. Thank you for your contributions.

@stale stale bot added the stale An issue that hasn't been active for a while... label Oct 20, 2019
@Perkolator
Copy link
Contributor

  • usually someone selects text and then uses the insert hyperlink icon or shortcut

Obviously Joplin should notice the situation and not add a title automatically.

No text selected -> add title
Text selected -> no automatic title

Also this feature could be added with an option so those who would like to use it, could.

Related issue: #1718

@stale stale bot removed the stale An issue that hasn't been active for a while... label Oct 20, 2019
@tessus
Copy link
Collaborator

tessus commented Oct 20, 2019

I think you are missing the #1731 (comment) I made. Especially the one, where it would make sense to move the discussiont o the forum.

As you can see Laurent did not reply. Most likely he's not even aware of this issue.

Also, Joplin should certainly not retrieve a title if none is selected. Should this ever be considered it must be a setting. If you want to know why, read the comment above.

@Perkolator
Copy link
Contributor

As you can see Laurent did not reply. Most likely he's not even aware of this issue.

Laurent has reacted to the first message with "thumbs up".

Should this ever be considered it must be a setting.

That's what I wrote.

@tessus
Copy link
Collaborator

tessus commented Oct 20, 2019

Ok then. Let's see what happens.

@Perkolator
Copy link
Contributor

I'd like to see this implemented so that pasting an URL (with no text selected) straight to the editor would add title automatically.

Additionally, maybe something like this could be implemented for the hyperlink dialog:

joplin

@stale
Copy link

stale bot commented Jan 18, 2020

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may comment on the issue and I will leave it open. Thank you for your contributions.

@stale stale bot added the stale An issue that hasn't been active for a while... label Jan 18, 2020
@Perkolator
Copy link
Contributor

Still relevant.

@stale stale bot removed the stale An issue that hasn't been active for a while... label Jan 18, 2020
@tessus
Copy link
Collaborator

tessus commented Jan 19, 2020

@Perkolator it might be still relevant, but it still hasn't been accepted as a feature (this means Laurent won't implement it), and nobody has picked it up for 3 months. So what is your expectation? That we keep this open forever? Unless you are going to submit a PR, you will write a still relevant every 90 days without any outcome.

@Perkolator
Copy link
Contributor

Perkolator commented Jan 20, 2020

@tessus I really don't understand why you (Joplin repo, staff) are so keen on closing everything down fast with the IMHO idiotic stale bot. What harm does it to keep issues open? If you want to close issues, much better would be if you'd do it yourself after reviewing the issue and deciding its faith (for example: "not happening ever, closed", "maybe in the future" label, etc.). It's quite a big difference whether issues are closed by human or a bot which bases its decision on timeframe only. If by humans, you would be actually "communicating" with the users, i.e. users would know that somebody actually took a look on their reported issue and made a proper decision.

And let me remind you once again, Laurent has reacted to the first message with "thumbs up". Is it especially wise to close this then? And even if Laurent wouldn't have gave any input on the issue, why close it, would we know that Laurent has even taken a peek at this issue? What about possible other developers who might check if there's some open issues that they might be able to contribute to?

I wonder what would have happened, if anything, to this other issue if I hadn't stopped the stale bot? It took 4 months for Laurent to react to that issue.

My suggestions:

  1. Get rid of the stale bot.
  2. Do not close issues if they are valid in any way, todo quick/later/future.
  3. Add labels, "reviewed/acknowledged", "might happen in the future", and so on to manage the open issues (-> when you add labels, you're communicating with the users)

Please, revise your use of the stale bot. Thank you.

@Perkolator
Copy link
Contributor

Further suggestion: make a "todo" list (on forum? Like Bitwarden has?) where it lists all feature requests as single posts in a sub-forum(?), and where people could converse about the features, and perhaps allow users to vote on them? It would give developers info about what users would want to see in Joplin.. it also would be a kind of a quasi-roadmap for the project.

@coderrsid
Copy link
Contributor

@laurent22 So should we discuss this issue before working on it? or can i start working on it if the feature is accepted?

@laurent22
Copy link
Owner

The way Percolator suggested would be acceptable as a PR: #1731 (comment)

@coderrsid
Copy link
Contributor

Oh sure. I'll work on this issue. Thanks @laurent22

@coderrsid
Copy link
Contributor

coderrsid commented Feb 26, 2020

Hey @laurent22, i found out that after clicking the hyperlink it dispatches command through commandTextLink( )

image

But the prompt uses the package smalltalk in dialog.js which can only prompt for one option so we can't ask the user for Insert Title. Should we use another package or is there another way of solving this?
image

Below is the example given on github repo of smalltalk
image

@Perkolator
Copy link
Contributor

I'd like to see this implemented so that pasting an URL (with no text selected) straight to the editor would add title automatically.

I think that this would need a settings option to turn this behavior on/off (which would be the default)? Some users might not like this feature.

@Rishabh-malhotraa
Copy link
Contributor

Further suggestion: make a "todo" list (on forum? Like Bitwarden has?) where it lists all feature requests as single posts in a sub-forum(?), and where people could converse about the features, and perhaps allow users to vote on them? It would give developers info about what users would want to see in Joplin.. it also would be a kind of a quasi-roadmap for the project.

@Perkolator I guess adding milestones for features would be a step in the positive direction

@tessus
Copy link
Collaborator

tessus commented Feb 26, 2020 via email

@laurent22
Copy link
Owner

For the title on paste, I prefer we don't add this as this is much more complex and the dialog is enough for now.

@coderrsid, you would indeed need to use a different library. Do you know any good one?

@Perkolator
Copy link
Contributor

Further suggestion: make a "todo" list (on forum? Like Bitwarden has?) where it lists all feature requests as single posts in a sub-forum(?), and where people could converse about the features, and perhaps allow users to vote on them? It would give developers info about what users would want to see in Joplin.. it also would be a kind of a quasi-roadmap for the project.

@Perkolator I guess adding milestones for features would be a step in the positive direction

I was thinking about like Bitwarden does it here (feature requests sorted by votes).

For the title on paste, I prefer we don't add this as this is much more complex and the dialog is enough for now.

That's being worked on already here: #1718. I hope that won't be denied.

@Perkolator
Copy link
Contributor

Making this not optional would be very annoying. I definitely don't want to see a popup.

A popup is supposed be to shown only when a user would push the toolbar button to create a link, just like it is now, not when doing a normal paste.

@tessus
Copy link
Collaborator

tessus commented Feb 27, 2020

Ok, maybe I'm missing something. What is this PR now about? There were a few comments regarding the retrieval of the title from the URL (which I definitely do not want) and to be honest I don't want to see a popup when I press Cmd+L.
But I could live with it, if the popup didn't show up, when I have selected a text and clicked the toolbar icon or pressed Cmd+L.

@Perkolator
Copy link
Contributor

This issue was created primarily about enhancing the "Insert Hyperlink" popup dialog.

This was/is my suggestion mockup:

The issue opener additionally suggested a "bonus" feature about "Just paste a hyperlink into the Joplin editor and Joplin will automatically convert the hyperlink to a markdown link including the website title as description." but that is worked on(?) in the other issue #1718.

@Rishabh-malhotraa
Copy link
Contributor

This issue was created primarily about enhancing the "Insert Hyperlink" popup dialog.

This was/is my suggestion mockup:

The issue opener additionally suggested a "bonus" feature about "Just paste a hyperlink into the Joplin editor and Joplin will automatically convert the hyperlink to a markdown link including the website title as description." but that is worked on(?) in the other issue #1718.

okay, that makes perfect sense, that you for your clearing things out :D

@PackElend
Copy link
Collaborator

Further suggestion: make a "todo" list (on forum? Like Bitwarden has?) where it lists all feature requests as single posts in a sub-forum(?), and where people could converse about the features, and perhaps allow users to vote on them?

that would properly quite helpful. In course of the GSoC journey we are talking about to get more stats shown.
I hope I find a couple of hours to start this within in the next couple of weeks

@Rishabh-malhotraa
Copy link
Contributor

For the title on paste, I prefer we don't add this as this is much more complex and the dialog is enough for now.

@coderrsid, you would indeed need to use a different library. Do you know any good one?

@laurent22 well I was looking through npm website for a good modal popup dependency, I found sweetAlert2 to be pretty good, it natively does not support two inputs but there is a workaround for it given in the documentation,

Annotation 2020-02-27 155317

sweetalert

the other solution I can think of is creating our custom modal popup with react it should not be that hard, I assume. What do you think about it?

@Perkolator
Copy link
Contributor

other solution I can think of is creating our custom modal popup with react it should not be that hard

My 2c's: If somebody is willing to work the hours of implementing a solution that would avoid new dependencies, that would be great.

@Rishabh-malhotraa
Copy link
Contributor

Rishabh-malhotraa commented Feb 27, 2020

other solution I can think of is creating our custom modal popup with react it should not be that hard

My 2c's: If somebody is willing to work the hours of implementing a solution that would avoid new dependencies, that would be great.

Noted. I'll look into whats more viable

@coderrsid
Copy link
Contributor

Hey @Rishgod, if you didn't read the whole conversation. I'm already working on this issue.

@coderrsid
Copy link
Contributor

coderrsid commented Feb 27, 2020

@laurent22 , i tried going through documentation of several libraries, but right now only sweetalert2 works with more than one input in a single prompt dialog box using custom parameters. Although the main tradeoff for us will be the size of package (~608kb) where smalltalk takes much less space (~27.7 kb). But however i tried using it, right now i haven't added the fetch url description feature, if you approve the design as of now, i can work on that too. But right now, it looks something like this :

Screen-Recording-2020-02-27-at-1

@Perkolator your views?

@Perkolator
Copy link
Contributor

Would the "insert.." texts look better if left aligned?

@coderrsid
Copy link
Contributor

Sure. I'll do it right away.

@laurent22
Copy link
Owner

I think there's no other way than create a custom dialog, because we need special behaviour when ticking/unticking the checkbox, and when the dialog loads.

The problem is that there's no proper framework for dialogs in Joplin at the moment. This is the same problem as this pull request. So the first step would be to refactor the existing dialogs so that they use a consistent way to create them and to style them, and then we can create new dialogs.

In the meantime, I get the feeling it's premature to do work on this pull request.

@Rishabh-malhotraa
Copy link
Contributor

I think there's no other way than create a custom dialog, because we need special behaviour when ticking/unticking the checkbox, and when the dialog loads.

The problem is that there's no proper framework for dialogs in Joplin at the moment. This is the same problem as this pull request. So the first step would be to refactor the existing dialogs so that they use a consistent way to create them and to style them, and then we can create new dialogs.

In the meantime, I get the feeling it's premature to do work on this pull request.

All right @laurent22 , thanks for your input, I can make a custom modal-prompt-dialogue by refactoring the code of smalltalk if you approve of it, with multiple text entries and checkbox functionality, so that it will be consistent with UI, what do you think about it?

@laurent22
Copy link
Owner

No what I mean is that there are already several dialogs in Joplin: ShareNoteDialog, NotePropertiesDialog, NoteContentPropertiesDialog, etc. All of them share some code, but also duplicate functionalities. They need to be cleaned up and refactored so that there's one way to create them, etc.

I'd also prefer if they were called like const result = await someDialog() so that all the plumbing we add for dialogs is no longer needed. But all that would have to wait after GSoC I think.

@Rishabh-malhotraa
Copy link
Contributor

No what I mean is that there are already several dialogs in Joplin: ShareNoteDialog, NotePropertiesDialog, NoteContentPropertiesDialog, etc. All of them share some code, but also duplicate functionalities. They need to be cleaned up and refactored so that there's one way to create them, etc.

I'd also prefer if they were called like const result = await someDialog() so that all the plumbing we add for dialogs is no longer needed. But all that would have to wait after GSoC I think.

Alright, @laurent22 !

@PackElend
Copy link
Collaborator

I was thinking about like Bitwarden does it here (feature requests sorted by votes).

they use https://meta.discourse.org/t/discourse-voting/40121, this could quite helpful but that should aligned with other efforts going in this direction like Joplin Features Evaluation toward a Roadmap for an Outstanding Note-taking App

but this different discussion what is continued here https://discourse.joplinapp.org/t/how-to-create-joplin-roadmap/6556

@stale
Copy link

stale bot commented Apr 18, 2020

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may comment on the issue and I will leave it open. Thank you for your contributions.

@stale stale bot added the stale An issue that hasn't been active for a while... label Apr 18, 2020
@Perkolator
Copy link
Contributor

Stale bot more aggressive now? (45 days) I still don't understand why open issues are aggressively closed down here. Like I wrote in somewhere, I bet that developers who are seeking to contribute are not going to check closed issues.

@stale stale bot removed the stale An issue that hasn't been active for a while... label Apr 18, 2020
@PackElend
Copy link
Collaborator

@Perkolator stale does not mean closed 😉

@laurent22 laurent22 added desktop All desktop platforms backlog We'll get to it... eventually... labels Apr 18, 2020
@laurent22
Copy link
Owner

We can label issues as "backlog" or "high" and they won't be closed. The rational is that 45 days is enough to decide whether we'd like to do something about issues or not. If no-one labels it within 45 days and there's no activity it means it's not important enough to keep it open, or we don't have the resources to deal with it.

If it is really important it will come up again anyway (someone will open a new issue).

@Perkolator
Copy link
Contributor

I got a BSOD (haven't seen those in many many years) as I was writing a reply, lost a bit of text.

The rational is that 45 days is enough to decide whether we'd like to do something about issues or not. If no-one labels it within 45 days and there's no activity it means it's not important enough to keep it open,

The picture I have got tells quite the opposite. Several times 45 days (or even more) hasn't been enough for anybody to react, and the issues have been perfectly valid. Also I personally have the experience that labels are used scarcely.

or we don't have the resources to deal with it

That's perfectly fine and 100% understandable. But, if that's the case, why then close the issue if it's relevant but can't be dealt at the moment? Why not add "will be reviewed later" label or replying to the issue?

If it is really important it will come up again anyway (someone will open a new issue).

But why? What's the point? I don't see what harm open issues does. How different the situation would be for you if you'd completely retire the stale and lock bots and continue otherwise as you have done so far?


I feel that I'm not able to explain sufficiently enough what's wrong IMO with the way you are handling the open issues. I have seen numerous times how open issues are not responded to at all and then the only response is from a soulless stale bot which says that the issue will be closed if no action is taken. It's negative communication towards the person who took the time to open the issue. And to top it all of, when one does take action and prevent automatic closing of the issue, there's a chance that someone from the repo "staff" comes and scolds you for doing that (yes, it has really happened!). The first human reaction to the issue is a negative response, and it isn't even about the issue subject! The ultimate negative experience for the issue submitter. I wonder how many would be interested of opening more issues after that.

I have talked about this previously: what is wrong with issues kept open? If you want to close some issues, do it yourself. That way you actually would be "communicating" at least something with the users. I won't touch this issue again. All I'm asking, please think about this. Thank you!

@PackElend
Copy link
Collaborator

no worries your message came across clearly and I can understand your frustration.

From my personal experience, I would say there is a lot more talking in the forum and an open but stall issue can be get easily lost as there are fewer resources available at GH.
What I could image ease the situation that it is raised in the forum and here that an issue is about to become stale and should be answered/closed with justification / labelled.
It might be able to get a stale warning a week before the stale period is reached.

We try to improve the workflow situation of feature request, bug report, pull request etc this summer.

@Perkolator
Copy link
Contributor

What I could image ease the situation that it is raised in the forum and here that an issue is about to become stale and should be answered/closed with justification / labelled.

That also, like the scenario where an issue is closed (and perhaps then even locked) and then subsequently somebody has to open new issue about the thing, creates just more work. What would happen if none of the issues here in GH would be automatically closed? Would that create more work for any party? Or perhaps if the close bot would be extended to e.g. 365 days? Are there lots of issues that are totally rubbish, that would inflict necessity of using the stale bot? Sorry about this additional response, I failed to convey this sentiment in the earlier message. :(

tessus added a commit to tessus/joplin that referenced this issue Dec 5, 2020
```
Release Notes 8.8.4

    Re-align gantt chart dateFormat table with spaces (laurent22#1764) @AloisMahdal
    Docs/update edit this page (laurent22#1774) @sy-records
    Fixed typo in the docs (laurent22#1780) @manicki
    Move babel-eslint to devDependencies (laurent22#1772) @glensc
    Add Doscy to list of integrations (laurent22#1784) @gwatts
    Changed regex for multi-line state notes (laurent22#1773) @tomatoman25
    Add different id generators (laurent22#1787) @julianbei
    Bump highlight.js from 9.18.1 to 9.18.5 (laurent22#1789) @dependabot
    Fixed markdown error in Relationship Syntax (laurent22#1796) @kciter
    remove classDiagram duplicate options (laurent22#1786) @JiChao99
    Update copyright years (laurent22#1805) @BastianZim

🐛 Bug Fixes

    Add sans-serif to default font settings (laurent22#1776) @GDFaber
    ignore build files in dist folder (laurent22#1777) @GDFaber
    Narrow down console logging when flowchart subgraphs are added (laurent22#1782) @GDFaber
    Apply style settings to subgraphs in "flowchart" diagrams (laurent22#1781) @GDFaber

Release Notes 8.8.3

    Fix styling of links for new beta flowchart (laurent22#1730) @knsv
    Fix typo in pie.md (laurent22#1705) @hwine
    Fixing broken links and misspellings (laurent22#1727) @deining
    Fixed empty code examples (laurent22#1729) @Eraledm
    README: use stateDiagram-v2 (laurent22#1728) @alexislefebvre
    laurent22#1724 Adding fontawesome to edge labels (laurent22#1731) @knsv
    Fix broken links in gantt.md (laurent22#1703) @wontonst
    Replace fregante/setup-git-token with setup-git-user (laurent22#1735) @fregante
    Updated docs (laurent22#1739) @BastianZim
    1740 nested subgraps directions (laurent22#1741) @knsv
    Switching to Docsify and adding search (laurent22#1746) @NeilCuzon
    Fixed bad tertiary operator (laurent22#1743) @lishid
    fix broken links in README (laurent22#1749) @levlas

Release Notes 8.8.2

    1704 Revert to original behavior of nodes and subgraphs (laurent22#1709) @knsv

    There is some ambiguity about what subgraph a node belongs to when it appears in several subgraphs. Should it stick to the first subgraph it appears in, or should the last subgraph it gets added to be the one it belongs to. With this change the original behavior is retained.
```
laurent22 pushed a commit that referenced this issue Dec 9, 2020
```
Release Notes 8.8.4

    Re-align gantt chart dateFormat table with spaces (#1764) @AloisMahdal
    Docs/update edit this page (#1774) @sy-records
    Fixed typo in the docs (#1780) @manicki
    Move babel-eslint to devDependencies (#1772) @glensc
    Add Doscy to list of integrations (#1784) @gwatts
    Changed regex for multi-line state notes (#1773) @tomatoman25
    Add different id generators (#1787) @julianbei
    Bump highlight.js from 9.18.1 to 9.18.5 (#1789) @dependabot
    Fixed markdown error in Relationship Syntax (#1796) @kciter
    remove classDiagram duplicate options (#1786) @JiChao99
    Update copyright years (#1805) @BastianZim

🐛 Bug Fixes

    Add sans-serif to default font settings (#1776) @GDFaber
    ignore build files in dist folder (#1777) @GDFaber
    Narrow down console logging when flowchart subgraphs are added (#1782) @GDFaber
    Apply style settings to subgraphs in "flowchart" diagrams (#1781) @GDFaber

Release Notes 8.8.3

    Fix styling of links for new beta flowchart (#1730) @knsv
    Fix typo in pie.md (#1705) @hwine
    Fixing broken links and misspellings (#1727) @deining
    Fixed empty code examples (#1729) @Eraledm
    README: use stateDiagram-v2 (#1728) @alexislefebvre
    #1724 Adding fontawesome to edge labels (#1731) @knsv
    Fix broken links in gantt.md (#1703) @wontonst
    Replace fregante/setup-git-token with setup-git-user (#1735) @fregante
    Updated docs (#1739) @BastianZim
    1740 nested subgraps directions (#1741) @knsv
    Switching to Docsify and adding search (#1746) @NeilCuzon
    Fixed bad tertiary operator (#1743) @lishid
    fix broken links in README (#1749) @levlas

Release Notes 8.8.2

    1704 Revert to original behavior of nodes and subgraphs (#1709) @knsv

    There is some ambiguity about what subgraph a node belongs to when it appears in several subgraphs. Should it stick to the first subgraph it appears in, or should the last subgraph it gets added to be the one it belongs to. With this change the original behavior is retained.
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backlog We'll get to it... eventually... desktop All desktop platforms
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants