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

Evernote bug bounty - $300 #204

Closed
9 tasks done
kepano opened this issue Jan 26, 2024 · 12 comments · Fixed by #207
Closed
9 tasks done

Evernote bug bounty - $300 #204

kepano opened this issue Jan 26, 2024 · 12 comments · Fixed by #207
Assignees
Labels
bounty See readme for bounty guide bounty-assigned evernote

Comments

@kepano kepano added bounty See readme for bounty guide evernote labels Jan 26, 2024
@kepano
Copy link
Collaborator Author

kepano commented Jan 26, 2024

@akosbalasko let us know if you're interested in picking this up!

@akosbalasko
Copy link
Contributor

Hi @kepano ,
Thanks for tagging me!
Sure, I'm definitely interested, let me check the issues and get back to you tomorrow! (It's almost midnight here)

@akosbalasko
Copy link
Contributor

Hi @kepano ,

According to the contribution description, here is my formal application to the bounty:
Why would I be the best fit to the job:
Because I developed and actively maintain Yarle, I know what is where and how it is structured logically.
How I would approach the requirements:
This batch contains different type of issues: features(#200, #26) or bugs( #184, #185, #190), and detailed in various level.

Thanks again!

@kepano
Copy link
Collaborator Author

kepano commented Jan 27, 2024

I have assigned the bounty to you. Please submit your initial PR by end of day February 6th.

Let's start with the easiest and most obvious ones first. If you have any questions about requirements on specific issues please post them here.

It sounds like we should consider ignoring #24 and #187, unless you can think of a way to support those?

@akosbalasko
Copy link
Contributor

akosbalasko commented Jan 29, 2024

Hi @kepano ,
I have some questions about some of the issues:
#184 : I cannot reproduce the problem, $ sign within note title works (it contain an image as well), linked.
#201 : same, it looks like that the issue description (e.g. the DFX extention causes problems) doesn't point the real problem.
#194 is suspicious too.
Any suggestion about these? Or what is your expectation, may I contact with the reporters and ask for more details?

Regarding #24 and #187, I think there is a workaround to achieve the expected result, but it requires manual modification within Evernote: as enex doesn't contain neither the hierarchy of tags nor the notebook stacks, tags and notebook names could be "flat" out with some predefined delimiter, and we could use that property to store the full-path of the notebooks and tags respectively. But this must be done by the import within Evernote. The preferred delimiter could be highlighter in the documentation of the Importer.
So assuming that the delimiter would be "<YARLE_DELIMITER>" and we have tag1 -> tag2 in notebookStack -> notebookA , the notebook should be renamed to notebookStack<YARLE_DELIMITER>notebookA and the tags to tag1<YARLE_DELIMITER>tag2.
I'm afraid this is the best what we can do with this badly designed enex export of Evernote.
What do you think, is it acceptable for Obsidian users to do?

@kepano
Copy link
Collaborator Author

kepano commented Jan 29, 2024

@akosbalasko please go ahead and get additional detail from the users on issues #184, #194, #201

For #24 and #187 it sounds acceptable, but can you start by writing a bullet point version of the documentation first? I don't use Evernote myself so I am not clear how the user would go about doing this. What would the steps be for the user to add the delimiter? You can reply here.

@akosbalasko
Copy link
Contributor

akosbalasko commented Jan 29, 2024

@kepano , sure sure I'll start with the bullet points then.

One other thing: during the implementations I realized that generating the title "inside" the note with header1 doesn't look good as the filename itself appears at the top. May/Should I remove it?

And one more thing: How about unit tests? I don't see any around, shouldn't we introduce mocha for instance?
removing-titles

@kepano
Copy link
Collaborator Author

kepano commented Jan 29, 2024

Yes, we should remove the repeated H1 title. It's not necessary and it's also different from how all other Importer formats work. Later we can add a generic option for all import types to add an H1, since this isn't Evernote-specific.

Regarding unit tests, I will leave this up to @lishid. I don't think it's necessary but he may disagree. In general we prefer to avoid external dependencies.

@lishid
Copy link
Collaborator

lishid commented Jan 29, 2024

I think we are ok to not have tests for now. Importer isn't really a moving target unlike a living and frequently updated app so I think it would be ok for now to keep it simple. We could include some test cases in the /tests folder though.

@akosbalasko
Copy link
Contributor

akosbalasko commented Jan 30, 2024

@kepano
I was thinking on #24 and #187 and I think the workaround to add tag hierarchy is not an option. The idea would be to ask the user to flat the tags. For instance in order to keep tag2 below tag1:

tag1
   tag2

in Evernote it should be renamed to tag1/tag2 . But in this case we solved everything as Obsidian is able to recognize nesting in tags with '/' as delimiter. So in case of tags I think the most what we can do is to extend the documentation with this hint: If you would like to keep nested tags, pls rename all of the tags with their fullpath respectively. And note that it is due to Evernotes bad implementation of tags.

But the same trick can be used in case of #24 . Notebook stacks cannot be exported from Evernote at all, we can just export notebooks only. So, in order to keep the stack, the users must extend the exported enex file's name with its notebook stack's name with a delimiter.
For instance we have the following:

NoteStackA
    NotebookA

Here is the steplist what is needed to do to handle notebookStacks:

  • NotebookA is exported as usual
  • it should be renamed to NoteStackA@@@NotebookA.

Then the conversion could recognize this(split name by @@@), create the notestack folder and use that as basepath.
In the example @@@ is the delimiter, I think it can be anything on what we agree, and we state it in the documentation.
What do you think, is ithis scenario acceptable for Obsidian users, can I start working on it?

@akosbalasko
Copy link
Contributor

@lishid @kepano
any thoughts, can/may/should I start working on the notebookstack-issue?

@kepano
Copy link
Collaborator Author

kepano commented Feb 1, 2024

@akosbalasko Yes, that makes sense to me. Go ahead. The tag notation seems intuitive enough. I don't have a strong opinion about the right delimiter for notebook stacks, what you have proposed sounds okay to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bounty See readme for bounty guide bounty-assigned evernote
Projects
Status: Completed & Paid
Development

Successfully merging a pull request may close this issue.

3 participants