Skip to main content

· 2 min read

Joplin Server had a feature to share a note by link for a few versions now but it was mostly a beta feature. In Joplin Server 2.0, the feature will be officially released and should be stable.

To share a note, you will need the corresponding desktop application v2.0. Then you can right-click on any note and select "Share note..." from the context menu. You can also select multiple notes, and each will have its own share link.

After that a dialog opens showing you the note - from there you just need to click on "Copy shareable link" to create the share link and copy it to the clipboard.

You can then share this link with anyone and they will be able to see the note in their browser:

Note that at the moment sharing a link does not work with End-To-End Encryption. If you share a note, it will always be decrypted, even on the server. This should be addressed in a future version. The URL however is secure - only people you share the URL with will be able to see the note. In other words, it's not possible to guess or discover the URL any other way.

· One min read

Google has announced the project slots for GSoC 2021 and granted us 6 this year. That's a big step up from our first GSoC last year when we got 2!

In the coming weeks we will be reviewing the student applications again and select the 6 candidates as well as mentors. By the way if you might be interested in co-mentoring a project, feel free to let me know (More info in this post).

· 2 min read

A message from PackElend, who's been helping us organise GSoC this year (and last year)


Hi Community,

we are going to apply for the GSoC student slots next week, soon we know what can be done this season.

To put us in a comfortable position it would be appreciated if there would another handful of people who would mentor a project.

Is there anyone interested in doing so?


Here is some information about the role of a mentor:

After student selection

  • Ensure your student is ready & active. They should have a dev environment, be regularly communicating in the community, and have prepared a project plan together with you.
  • Read the GSoC Mentoring Manual and ask questions if you have them.
  • If the student is not active during the community bonding period, please contact the organization administrators.

During the program

  • Help your student be successful. Commit to spending a minimum of 4 hours each week answering questions, giving advice, working with your student on blockers.
  • Agree with the students how many times per week they should write a progress report. Ensure that they deliver this report on time each week, and evaluate their progress.
  • You might have adjust goals based on their progress.

· One min read

Been checking the numbers now and then and I see there will soon be more TypeScript than JavaScript code in the repo:

Probably a good part of the JS code is in the CLI app, which hasn't been updated much. Critical parts of the app are now in TypeScript, including the synchronizer, database and encryption service. Joplin Server is also entirely in TypeScript. Even the database rows are now typed thanks to sql-ts.

So anyway TypeScript has been a big win for the project as it made it possible to refactor and modernise many parts of it in a safe way, and make the code future proof and easier to work with! I expect we should get to over 50% over the next few months.

· One min read

Just a quick announcement to let you know that on 3 and 4 April, we will have a stand for Joplin at the Journées du Logiciel Libre in Lyon, France. The JdLL has been taking place in Lyon for 22 years and is a popular open source conference in France. Last year we had a stand too, but of course that was cancelled due to Covid. So this year is a first for Joplin so if you're around, come and say hi!

Also I am looking for anyone who could help look after the stand, even for an hour or two, over these two days. There won't be a lot to do - pretty much just hand over fliers and answer the occasional question, which as Joplin users I'm sure you'll know the answer to. Coffee and/or beers are on me :-) So if you aren't far and would be interested, please let me know!

· 2 min read

We are going to apply again this year for GSoC. If we are selected by Google, this year's theme will be centered around:

  • Joplin plugin system - eg. development of various features that can be done as plugins, and improvement of the plugin system itself.

  • Joplin external applications - anything that can be developed as an external application and that makes use of Joplin's API and other extension points.

At times we had a rough GSoC last year, mostly because we weren't familiar with the process and how to best handle various situations, but overall it was a success and we got great improvements to the search engine and keyboard shortcut systems thanks to our two students. We plan to make some adjustments to the way we welcome students to make the process go smoothly this year.

We will submit the GSoC application on 19 Feb and will let you know if we are selected. Like last year, we would appreciate any help with managing the event - if you are interested in being a tutor, or if you can help with welcoming new students and answering their questions, please let us know!

So far, we have @CalebJohn, @PackElend, @tessus and myself as potential tutors.

· 3 min read

The first release of Joplin Server is now available as a pre-release:

https://github.com/laurent22/joplin/blob/dev/packages/server/README.md

What does it sync with?

You will need Joplin v1.6+ clients, which are available as pre-releases for desktop and Android.

What does it do?

At this point, this server allows you to sync any Joplin client with it, as you would do with Dropbox, OneDrive, etc. So in that way, it's not essential. Long term, the goal is to add collaboration features:

  • Sharing a note with anyone, using a URL. When the note is changed, the content at the URL is changed too.
  • Sharing a notebook with a user on the same Joplin Server instance. For example, if you share a notebook with another user, that user will see this notebook in their desktop or mobile app, and will be able to edit the notes, etc.

Any improvement over Nextcloud?

For now, one benefit of using Joplin Server, compared to Nextcloud or WebDAV in general, is that it is much faster and resource efficient. I've done a basic test with Nextcloud and Joplin Server running on the same server. Both have mostly default settings (except Nextcloud which uses Redis for file locks):

Why is it so much faster? I assume it's in part because the WebDAV protocol is terribly inefficient. It sends unnecessarily large XML blobs for every request, which are time consuming to download and parse. It also doesn't support delta sync (unlike Joplin Server), which means the complete file list needs to be downloaded before syncing in order to compare the local and remote items.

Finally it's possible that Nextcloud file locking system means an overhead on each request. It shouldn't be much since it's handled by Redis but who knows. Joplin Server doesn't need locking as data consistency is handled by the clients.

So just by following common sense and transferring only the required data in a sane format (JSON), we can have something more performant. In my case, I appreciate that the mobile app no longer freezes when it starts synchronising - before it would do that due to the large XML WebDAV file that needs to be parsed.

Stability

I've been using it with the desktop and mobile app for a few weeks now and haven't had any issue so far. The server also passes all the existing sync-related test units (sync, e2ee and lock handling) so I'm reasonably confident it can already be used. As always though, keep making backups in case there's any issue.

Suggestions are welcome

This is still a pre-release and if you notice anything off please let me know. In particular, I believe it doesn't gzip responses, so that will need to be added. The process also doesn't restart when it crashes, which could be solved with pm2.

Also if you have any idea on how to make installation easier, your feedback is welcome.

· One min read

The latest version features of Joplin features a few improvements to make it easier to preview various media files. For now it is possible to view PDF files, as well as listen and view audio and video files.

The feature is optional and you can enable/disable it in the settings, each viewer has its own settings:

For now the feature works on desktop (Markdown editor only) and on mobile (except for the PDF viewer).

· 2 min read

From version 1.5, the macOS application will now be notarised. It means that when you install it you will no longer see a warning telling you that the app hasn't been checked for malware. You also won't need to go in the OS security settings to launch the app.

Notarisation has been around since macOS Catalina, however it took a while to implement it for Joplin as the process is complex and error prone.

First the app has to be built and uploaded to Apple's servers. They then automatically check the app for any malware, a process that can take 5 to 15 minutes (and presumably more if the app is incorrectly flagged as malware). Once it's done, Apple creates a notarisation ticket for the app.

Then whenever the app is started, Apple check on their server if the app has a notarisation ticket (a process that recently caused "apps taking minutes to launch, stuttering and non-responsiveness throughout macOS"). It's also possible to staple this notarisation ticket to the app, so that it's possible to check the ticket even when the computer is offline.

All that has now been automated in the Joplin build pipeline, and will apply to all macOS app future versions.