# Introducing criticic

**URL:** <https://discourse.joplinapp.org/t/introducing-criticic/36240>\
**Category:** GSoC\
**Created:** [26 February 2024 17:35 UTC](https://discourse.joplinapp.org/t/introducing-criticic/36240 "2024-02-26T17:35:58Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![criticic](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/criticic/32/20446_2.png) [@criticic](https://discourse.joplinapp.org/u/criticic)\
**Post date:** [26 February 2024 17:35 UTC](https://discourse.joplinapp.org/t/introducing-criticic/36240/1 "2024-02-26T17:35:58Z")

</div>

Hello Everyone,

I am Sagnik Mandal, I am a student of Indian Institute of Technology (IIT) (BHU), Varanasi. I have contributed to open source in one way or the other since the last 3 years. Mostly I work with Javascript and Python, but I have worked with some other languages as well like Kotlin & Dart.

There were some project ideas which interested me, mainly "Seamless desktop application updates" & "Create a standalone sync API". I believe I have the suitable skill & experience for those, and would be able to learn things in the way if I dont know something.

I look forward to contributing to Joplin, and help making Joplin the best note taking app (FOSS or otherwise)  
You can take a look at my GitHub profile with the same username to check out my contributions.

---

<div class="post-metadata">

**Author:** ![criticic](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/criticic/32/20446_2.png) [@criticic](https://discourse.joplinapp.org/u/criticic)\
**Post date:** [27 February 2024 11:58 UTC](https://discourse.joplinapp.org/t/introducing-criticic/36240/2 "2024-02-27T11:58:43Z")

</div>

I made my first PR here: [Desktop: Fixes #9985: Filter Sync Target Info Logs by criticic · Pull Request #10014 · laurent22/joplin · GitHub](https://github.com/laurent22/joplin/pull/10014)

I am sorry for closing & reopening the PR as I had misread the guidelines.

---

<div class="post-metadata">

**Author:** ![criticic](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/criticic/32/20446_2.png) [@criticic](https://discourse.joplinapp.org/u/criticic)\
**Post date:** [27 February 2024 12:31 UTC](https://discourse.joplinapp.org/t/introducing-criticic/36240/3 "2024-02-27T12:31:20Z")

</div>

Joplin's Monorepo structure is somewhat new for me, can someone point me to Contributor guidelines, or any suggestions/resources related to working with a mono repo.  
I am currently using VSCode, are there any extensions I should use?

---

<div class="post-metadata">

**Author:** ![RadCod3](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/radcod3/32/20447_2.png) [@RadCod3](https://discourse.joplinapp.org/u/RadCod3)\
**Post date:** [27 February 2024 12:41 UTC](https://discourse.joplinapp.org/t/introducing-criticic/36240/4 "2024-02-27T12:41:37Z")

</div>

The topic [GSoC 2024 live blog](https://discourse.joplinapp.org/t/gsoc-2024-live-blog/36127/1) has most of the links you'll need. Check out this link for instructions on how to build and run each app in the monorepo: [joplin/readme/dev/BUILD.md at dev · laurent22/joplin · GitHub](https://github.com/laurent22/joplin/blob/dev/readme/dev/BUILD.md).  
Don't forget to use the `yarn watch` command to automatically rebuild the TypeScript files you have changed. 😄

---

<div class="post-metadata">

**Author:** ![criticic](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/criticic/32/20446_2.png) [@criticic](https://discourse.joplinapp.org/u/criticic)\
**Post date:** [27 February 2024 19:17 UTC](https://discourse.joplinapp.org/t/introducing-criticic/36240/5 "2024-02-27T19:17:39Z")

</div>

can someone take a look at the following changes:

> <https://github.com/laurent22/joplin/commit/d86421fcaa7cf8dfdde7f0fe58117cb43d76fa5e>

This fixes [Desktop: Beta editor: Toggle comment command does nothing · Issue #10007 · laurent22/joplin · GitHub](https://github.com/laurent22/joplin/issues/10007)

is a unit test required here, as its a very small bug fix?

This fixes two (Delete & Comment), while two others (Delete & Sort Selected Lines) would probably require custom commands, which I plan on doing in another PR, if approved.

---

<div class="post-metadata">

**Author:** ![criticic](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/criticic/32/20446_2.png) [@criticic](https://discourse.joplinapp.org/u/criticic)\
**Post date:** [28 February 2024 04:23 UTC](https://discourse.joplinapp.org/t/introducing-criticic/36240/6 "2024-02-28T04:23:49Z")

</div>

I added some tests, and made a PR: [Desktop: Fixes #10007: Fixed Toggle Comment & Delete Line Options in Beta Editor by criticic · Pull Request #10016 · laurent22/joplin · GitHub](https://github.com/laurent22/joplin/pull/10016/files)

---

<div class="post-metadata">

**Author:** ![criticic](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/criticic/32/20446_2.png) [@criticic](https://discourse.joplinapp.org/u/criticic)\
**Post date:** [1 March 2024 22:22 UTC](https://discourse.joplinapp.org/t/introducing-criticic/36240/7 "2024-03-01T22:22:41Z")

</div>

I was rereading through the ideas list and the following ideas interested me:

1. Seamless desktop application updates
2. Template insertion tool
3. OneNote importer
4. Review process for plugins
5. Create a standalone sync API
6. Joplin for wearable devices
7. Integrate Joplin with voice assistants

will prolly narrow down this list in the coming days, one thing I'd like to ask is if I can have two proposals in the same org, and if it is advised to just focus on one?

---

<div class="post-metadata">

**Author:** ![criticic](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/criticic/32/20446_2.png) [@criticic](https://discourse.joplinapp.org/u/criticic)\
**Post date:** [20 March 2024 06:10 UTC](https://discourse.joplinapp.org/t/introducing-criticic/36240/8 "2024-03-20T06:10:00Z")

</div>

I had some work over the last few days, so didnt contribute much, but wold mention that two of my PRs got merged:

> <https://github.com/laurent22/joplin/pull/10014>
>
> \<!--
> 
> Please prefix the title with the platform you are targetting:
> 
> Here ar…e some examples of good titles:
> 
> \- Desktop: Resolves #123: Added new setting to change font
> \- Mobile, Desktop: Fixes #456: Fixed config screen error
> \- All: Resolves #777: Made synchronisation faster
> 
> And here's an explanation of the title format:
> 
> \- "Desktop" for the Windows/macOS/Linux app (Electron app)
> \- "Mobile" for the mobile app (or "Android" / "iOS" if the pull request only applies to one of the mobile platforms)
> \- "CLI" for the CLI app
> 
> If it's two platforms, separate them with commas - "Desktop, Mobile" or if it's for all platforms, prefix with "All".
> 
> If it's not related to any platform (such as a translation, change to the documentation, etc.), simply don't add a platform.
> 
> Then please append the issue that you've addressed or fixed. Use "Resolves #123" for new features or improvements and "Fixes #123" for bug fixes.
> 
> AND PLEASE READ THE GUIDE: https://github.com/laurent22/joplin/blob/dev/readme/dev/index.md
> 
> \--\>
> 
> 
> Fixes #9985 .
> 
> \- Removes the Content & Checksum parameters from master keys
> \- Truncates public key to first 40 characters
> \- Truncates provate key to this format: "first20chars...last20chars"
> \- Added testing to check this behaviour

> <https://github.com/laurent22/joplin/pull/10016>
>
> \<!--
> 
> Please prefix the title with the platform you are targetting:
> 
> Here ar…e some examples of good titles:
> 
> \- Desktop: Resolves #123: Added new setting to change font
> \- Mobile, Desktop: Fixes #456: Fixed config screen error
> \- All: Resolves #777: Made synchronisation faster
> 
> And here's an explanation of the title format:
> 
> \- "Desktop" for the Windows/macOS/Linux app (Electron app)
> \- "Mobile" for the mobile app (or "Android" / "iOS" if the pull request only applies to one of the mobile platforms)
> \- "CLI" for the CLI app
> 
> If it's two platforms, separate them with commas - "Desktop, Mobile" or if it's for all platforms, prefix with "All".
> 
> If it's not related to any platform (such as a translation, change to the documentation, etc.), simply don't add a platform.
> 
> Then please append the issue that you've addressed or fixed. Use "Resolves #123" for new features or improvements and "Fixes #123" for bug fixes.
> 
> AND PLEASE READ THE GUIDE: https://github.com/laurent22/joplin/blob/dev/readme/dev/index.md
> 
> \--\>
> 
> @PackElend label me please, Fixes #10007
> 
> \- Fixes the Delete Line & Duplicate Line & Toggle Comment Options in the Beta Editor
> \- Added a test to verify the behaviour

I would continue working on more PRs in the coming days.

---

<div class="post-metadata">

**Author:** ![laurent](https://avatars.discourse-cdn.com/v4/letter/l/ce7236/32.png) [@laurent](https://discourse.joplinapp.org/u/laurent)\
**Post date:** [20 March 2024 13:58 UTC](https://discourse.joplinapp.org/t/introducing-criticic/36240/9 "2024-03-20T13:58:24Z")

</div>

> [@criticic](#):
>
> will prolly narrow down this list in the coming days, one thing I'd like to ask is if I can have two proposals in the same org, and if it is advised to just focus on one?

To answer your question, you can only have one proposal per org, however besides your main proposal we suggest considering a "backup" project idea in case there's something wrong with the first one.
