Feature Request: List continuation on mobile

Last time I tried the text area component was quite buggy which prevented this behaviour as well as the toolbar from working. I think there’s a branch with all this on GitHub. Since then, maybe now the component is less buggy and the toolbar would work, I’d need to check.

1 Like

Awesome thanks, FWIW if it’s the toolbar that’s problematic, I think the continuation at least would be really clutch on its own

Personally I’d rather just type markdown anyway than have another toolbar on the screen…the keyboard already has all the buttons! It’s just excessive how many keyboard clicks it takes to get through - [ ] on every line


The lack of list continuation is one of the most frustrating things about using Joplin on Android. I do a lot of my note editing on the Planet Computers Gemini, so I work around the issue by copying - [ ] and pasting it with CTRL-V at the start of each line, but on keyboardless devices this simply not practical.

I think in general the mobile client (I can only speak for the Android client as I haven’t used Joplin on iOS) lacks feature parity with the desktop client. Features such as creating subnotebooks require use of the desktop client, but mobile only Joplin users shouldn’t need to have to install a desktop client and set up synchronization just to organize their notes.

Similarly, having the rich text toolbar in the mobile client would be very useful. I have spent some time reading up on the Markdown syntax, and created a cheat sheet for myself, but not all users will be willing to do that. Other users may not find it easy to remember Markdown syntax. A friend of mine, for example, has suffered two strokes, which have left her with some memory issues. For people like her, having a toolbar would be much easier to use than having to remember Markdown syntax, however simple that syntax may be.

For those who’d rather have more screen real estate, maybe the toolbar could be made optional?

1 Like


I totally agree to what you have said. A toolbar would be much easier and yes it could be made optional for people who like more screen real estate.

A great example of how this can be done is the Markor editor.

Absolutely need this. Huge numbers of editors support continuation, for lists of all types including checkboxes. Wunderlist, Dynalist, Taskade, Google Keep, the list goes on and on. The amount of keypresses to get a single checkbox is ridiculous.

We are using the ace editor, which is used by the brace node module. You can create feature requests with those 2 projects. Then we can use a new version of their code.

There’s also a discussion going on about replacing the editor, thus I don’t think that anyone will invest much time to tweak the current editor (if that’s even possible in user land).

Would this be for the desktop app (which I honestly have no issues with at all)? Because that already has continuation. We’re specifically after this in the mobile app (iOS for me). if Ace/Brace is iOS though, I’d definitely be hoping a newer and better editor that allows for a toolbar.

This would be my number 1 request. The fact that I have to tap 9 keys on my phone to get one single checkbox items is absurd:

[Number Key] -[Number Key] [1/2 Key] [ [Space Key] [Number Key] [1/2 Key] ] [Space Key]

On the desktop all I have to press is the Enter key, so 90% more efficient… yet the “To Do” use case for mobile must be one of the top features of a notes app.


Ok, my bad. For some strange reason I thought we also used ace/brace on mobile but I was wrong. It must have been a chemical inbalance that flipped a bit in my brain... :wink:

Laurent experimented with a toolbar on mobile but it had some issues due to buggy components.

I'm not sure how it would be possible to add list continuation in a react native text input field, but if someone has any suggestions, please let us know or open a PR.

1 Like

Is it possible to simply use the existing ace/brace editor on mobile? Presumably that would buy us equivalence between the desktop and mobile apps.

Though, since that’s not already the implementation in mobile, I assume there’s some reason it doesn’t work in mobile… or perhaps someone just implemented it in desktop and didn’t get around to doing it in the mobile apps.

Ace Editor doesn’t work on mobile as far as I know. Last time I checked the only code editor that will work on mobile is Code Mirror 6 but it hasn’t been released yet. Monaco also doesn’t work.

Ideally we’d use a native code editor component but currently none exists for React Native.


Makes sense, thanks for explaining.

In the meantime until we find a suitable mobile editor, I agree with @themightychris that list continuation on its own would be a huge improvement, and it could be implemented fairly easily I think (famous last words :stuck_out_tongue_winking_eye:). I'm happy to take a stab at it if it's something you're interested in, @laurent.

As far as mobile editors go, I'm impressed by Dropbox Paper's editor, as well as a few other apps. Perhaps it'd make sense to start a new meta "inspiration" thread where we dump ideas about what would be a good mobile editor long term? I thought I saw one started by @tessus but for some reason having a hard time finding it...


I wish I knew which topic you are talking about. I created quite a few and I must say that I often do not find some info which I posted a while back…

1 Like

@laurent is list continuation a feature PR you’d accept?

Doing some initial scoping, looks like this is the component to hook into:

There appears to be a selection API for the TextInput component that maybe would enable looking at what characters are behind the cursor on change and then repositioning the cursor after making some automated changes to the content:

I also found this component which might be worth trying to take for a spin in place of the TextInput component:

Just to confirm, I’d accept a PR for this.

1 Like

Draft PR here: https://github.com/laurent22/joplin/pull/2224


^ PR has been merged!!


I have defined a text replacement for this on my phone. The input of xxx is converted to - [ ]. :slight_smile:

1 Like