[Application] Radicle Jetbrains Plugin - 0.3.0

Radicle Jetbrains IDE Plugin - version 0.3.0

Overview :telescope:

After moving out of alpha with our v0.2.0 release of the Radicle Jetbrains plugin a few weeks back, we want to continue working on v0.3.0 that will focus on the ground work for Patch Proposals.

The next main feature we want to integrate into the plugin is collaboration with Radicle’s Patch Proposals directly through the IDE. We envision this to be split into 0.3.0 and 0.4.0 releases. This application will cover the funding of 0.3.0.

Description :page_facing_up:

Our first 2 releases have allowed us to already cover quite a lot of the road map for the Jetbrains IDE plugin. As a reminder, here’s what’s covered by the plugin already:

Scope / Roadmap

UX journeys:

  • One-time or infrequent (less than once per week) use:

    • Create new radicle identity and manage key pairs (Planned for this iteration) :white_check_mark:
    • Initialise and publish a git project on radicle (Planned for this iteration) :white_check_mark:
    • Configuring seed nodes (Planned for this iteration)
    • List projects available on the seed node (Planned for this iteration) :white_check_mark:
    • Track and checkout projects (Planned for this iteration) :white_check_mark:
  • Daily use:

    • Pushing changes to other Radicle seed nodes and peers (Implemented in Iteration #1) :white_check_mark:
    • Synchronising changes from other Radicle seed nodes and peers (Implemented in Iteration #1) :white_check_mark:
    • Collaboration on Patches, Issues, Releases and other types of Collaborative Objects (cobs) - Preliminary work for this planned in this 0.3.0 release

0.3.0 Features :sparkles:

Our initial plan for 0.3.0 was to focus entirely on Patch Proposals.

However, there are 2 important facts to take into account, when planning forward:

  1. Jetbrains has released a new version that we need to ensure compatibility with, and there is a massive update to the UI (that they - rather unimaginatively - termed “New UI” ).
  2. Work on Heartwood is still ongoing: rad patch is being reworked, so we don’t have the command available in the CLI yet to build on.

With both of these in mind, we feel there is an excellent opportunity to take care of the latest UI and new version compatibility changes while Heartwood is being finalized (currently targeting a January release), at the same time also laying some groundwork on the UI for Patch Proposals to become more functional in 0.4.0 (that will also aim to address Heartwood compatibility) .

For the work on Patch Proposals, we will have to rely on either mocked data (agreed upon with the Clients team), or on data provided by the 0.6.1 version of rad that the plugin is currently compatible with.

In a nutshell, this release will cover:

  • Plugin Compatibility with Jetbrains IDE 2022.3 release
  • Plugin Compatibility with the “New UI” of Jetbrains IDEs
  • New Radicle Tool Window with Patch Proposal listings and Changed Files tab
  • Some minor bugfixes

Please see Deliverables section below for more details.

Deliverables :nut_and_bolt:

This release will include a single milestone, as per the Deliverables below:

Milestone 1: Pushing and Synchronising changes through the IDE

  • Total Estimated Duration: 7 calendar weeks
  • Full-time equivalent (FTE): 34 FTE days
  • Total Costs: 24 480 USDC

Future Plans

With the upcoming Heartwood release and the work in this 0.3.0 release in place, our 0.4.0 release will focus on Heartwood compatibility primarily and will also build upon whatever Patch Proposal functionality is made available by the rad CLI in the meantime.

Team :busts_in_silhouette:

Team members

  • Yorgos Saslis
  • Ioannis Christodoulou
  • Stelios Mavrommatakis

Contact

Legal Structure

  • Registered Legal Entity: Cytech Ltd.
  • Registered Address: Science & Technology Park of Crete, Heraklion, Greece

Team’s experience

  • [Yorgos] 15+ years of experience in various roles of the full Software Development Lifecycle: writing code, agreeing on specs with clients, architecting systems, establishing product priorities, designing testing and CI strategies, and co-creating department-wide processes - with an itch for driving “waste” out the door. Co-founder of developer communities (DevStaff, Heraklion Software Crafters, Web3 Greece) and co-organizer of open space unconferences (AgileCrete, JCrete) on the (paradise!:desert_island:) island of Crete!
  • [Ioannis Christodoulou] is a Software Architect with 10 years of professional experience in Web and Mobile applications, such as Greek Passenger Locator Form (a web application that all travelers coming to Greece were required to fill-in) and Covid Free GR (the mobile application used throughout Greece to verify COVID-19 vaccination, recovery and test certificates). He is also the creator and maintainer of an IntelliJ plugin (GitExtender - github, marketplace ) for managing and updating multiple git repositories in the same IntelliJ project.
  • [Stelios Mavrommatakis] is a young Full Stack Software Engineer focused on web applications development. He had participated in large software projects like the EU-DPLF (https://euplf.eu/) a paneuropean application for covid19 contact tracing for tavelers to the EU. He is a passionate software engineer and is currently working on a web3 project expanding his knowledge and experience in new and challenging sectors.

Team Code Repos

Team LinkedIn Profiles (if available)

Additional Information :heavy_plus_sign:

How did you hear about the Grants Program? Radicle Discord

1 Like

@yorgos

Thanks a bunch for writing all these details up.
It’s awesome to see you guys jumping on this sort of compatibility/maintenance work.

I’ll work over the next few days to gather votes on this.
LGTM :smiley:

1 Like

@yorgos

I’ve started the transaction below at Nonce 46:

As a reminder:

  • The first payment is for 20%, the remaining 80% (19,584 USDC) will be paid upon completion
  • Any tax and compliance is the responsibility of your team according to local laws

Definitely looking forward to this one!
I recently saw a coworker using the new JetBrains UI and thought it looked super nice :smiley:

2 Likes

Hello again everyone!

Happy to :loudspeaker: announce :loudspeaker: that version 0.3.x of the Radicle Jetbrains Plugin has now been published on the Jetbrains Marketplace 1! :tada:

Features

0.3.x is a special release: it was planned as an intermediate release that allows us to make progress on the Integrated Development Environment (IDE) plugin User Interface (UI), while the clients team was working away on a first version of Heartwood.

Because of that, we are using a development version (0.7.0-dev) of the CLI that exposes only some basic information about Radicle Patches that allows us to populate the plugin UI and build on top of that. However, this development version doesn’t work with all the existing features we’ve built up until (0.2.x).

With that in mind alone, it is clear that 0.3.x is an alpha release. We have made good progress that we can build on in 0.4.x, but asking users to switch between 2 versions of the radicle-cli that enable different features certainly doesn’t qualify for a stable channel release. In addition, given the upcoming changes with Heartwood, it isn’t worth investing any additional effort in working around pre-heartwood radicle-cli issues.

v0.3.x comes with the following features:

  • A new “tool window” is added to the IDE to show Radicle-specific functionality, starting with Patch Proposals (but designed to also include Issues). As we don’t yet have fully working “Patch Proposals” (but only sets of patches), the UI does show:
    • list of Patch Proposals
    • Patch Proposal
      • Overview (where description and comments can be incorporated in future versions)
      • Commits
      • Changed Files (including diff)
    • … other functionality such as “Reviews”, or “CI Checks” will be added after it is made available in Heartwood / exposed by the CLI in a future version.
  • Jetbrains IDE 2022.3 compatibility (a version that came with some major / breaking changes introduced by Jetbrains) - #141
  • Jetbrains IDE “New UI” compatibility - #142

Video

For those of you who prefer to hear someone talk through the above, we’ve also put together a quick video recording, highlighting the new v0.3.x features:

Youtube - Radicle Jetbrains IDE Plugin 0.3.x

Installation Instructions

0.3.x is back on the alpha release channel, so we recommend manual download / installation:

  • Download the latest alpha release and install it manually using Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...

Feedback

Thoughts, comments and questions are always welcome ! Please feel free to drop us a comment here or ping me on discord!

Conclusion & Next Steps

With Patch Proposals finally showing up in the IDE and the first versions of Heartwood just around the corner, we really can’t wait to make it all functional.

0.4.x will be primarily focusing on Heartwood support and ensuring the current functionality works with the new version of the protocol. Depending on what other functionality is exposed by Heartwood and rad CLI, we will adapt accordingly.

1 Like

Hi Yorgos

Thanks a bunch for this.

I was able to download this, checked it out, and the video is always a really nice touch.

I’ve started a transaction below at Nonce 49:

As a reminder:

  • Any tax and compliance is the responsibility of your team according to local laws
1 Like