cli icon indicating copy to clipboard operation
cli copied to clipboard

[BOUNTY] Set of issues for resolution under the Bounty Program 2025-Q3 Part 3

Open AayushSaini101 opened this issue 6 months ago • 18 comments

[BOUNTY] Set of issues for resolution under the Bounty Program 2025-Q3 Part 3

This is an Aggregated Bounty Issue consisting of GitHub issues

  • [ ] https://github.com/asyncapi/cli/issues/1797
  • [ ] https://github.com/asyncapi/cli/issues/1706
  • [ ] https://github.com/asyncapi/cli/issues/1693

that are subject to resolution in the Bounty Program's calendar quarter round 2025-Q3.

AayushSaini101 avatar Jun 14 '25 11:06 AayushSaini101

@AayushSaini101 I propose to assign this as a medium bounty initially. If need be, this can be upgraded later.

Shurtu-gal avatar Jun 16 '25 04:06 Shurtu-gal

Bounty Issue's service comment

Text labels: bounty/2025-Q3, bounty/medium, bounty/coding First assignment to regular contributors: 2025-06-20 00:00:00 UTC+12:00 End Of Life after: 2025-07-31 23:59:59 UTC-12:00

@asyncapi/bounty_team

The Bounty Program is not a Mentorship Program. The accepted level of Bounty Program Participants is Middle/Senior.
Regular contributors should explain in meaningful words how they are going to approach the resolution process when expressing a desire to work on this Bounty Issue.

aeworxet avatar Jun 16 '25 12:06 aeworxet

Hey @AayushSaini101 i would like to take this up with the following approach for and order of resolution of issues as follows :-

  1. https://github.com/asyncapi/cli/issues/1797 -> For this i propose the that the studio before opening can check if a process is already running at the default port i.e 3210 or if any other port passed by the user. If found that port already in use then next port will be tried for 5 iteration and if anyone is found available in that then that will be used or else an error message will be displayed to user related to this and to try another port or close the existing process.

  2. https://github.com/asyncapi/cli/issues/1693 -> For this i would like to go with the following approach and scope defined in https://github.com/asyncapi/cli/issues/1693#issuecomment-2949812646 along with using puppeteer for testing and also mock wss. Will try to cover as many test cases and edge cases possible.

  3. https://github.com/asyncapi/cli/issues/1706 -> After above improvements are done for this i would like to use commit-lint and lefthook or husky whichever is more beneficial and fast after testing and these will be setup to check the following

  • Files are linted and formatted properly.
  • All tests pass
  • commit messages follow the guidelines specified in https://github.com/asyncapi/cli/blob/master/CONTRIBUTING.md#conventional-commits

Please review the above mentioned approach.

CC :- @Shurtu-gal @Souvikns

neoandmatrix avatar Jun 16 '25 13:06 neoandmatrix

Hey @AayushSaini101 @Shurtu-gal would like to take this up, this are my contributions so far to the asyncapi community https://github.com/pulls?q=org%3Aasyncapi+author%3AGmin2+is%3Aall

Gmin2 avatar Jun 17 '25 10:06 Gmin2

Assigning this issue to @neoandmatrix because of regular contributions in the CLI throughout the year, and most of the issues are created by him and suggested proper solution as well cc: @Shurtu-gal @Souvikns

AayushSaini101 avatar Jun 17 '25 10:06 AayushSaini101

Will both the six issue will be resolved by @neoandmatrix

cc @AayushSaini101 @aeworxet ?

Gmin2 avatar Jun 17 '25 10:06 Gmin2

Will both the six issue will be resolved by @neoandmatrix

cc @AayushSaini101 @aeworxet ?

@Gmin2 Aggregated only two, we have combined all issues in two major issues

AayushSaini101 avatar Jun 17 '25 10:06 AayushSaini101

Assigning this issue to @neoandmatrix because of regular contributions in the CLI throughout the year, and all the issues are suggested by him and suggested proper solution as well cc: @Shurtu-gal @Souvikns

Thanks @AayushSaini101 I will start the work for the resolution of issues.

neoandmatrix avatar Jun 17 '25 10:06 neoandmatrix

Hey @neoandmatrix @AayushSaini101 I have been going through these issues since the last hour to get to the potential solution and as mentioned in the OG issue and I was just jotting my approach in brief for 4 of the 7 issues (which apparently are aggregated as 2) I came across these comments by @AayushSaini101 and saw all the tasks been assigned to @neoandmatrix as you are the one who suggested these issue. I don't know how this whole bounty program works in this organization but all I have to say is that reviewing these issue peaked my interest and if by any chance you can allow me work on these issues side by side with you, that would be great for me. NOT interested in these two bounties, just want to contribute if that is a point of concern.

cc: @Shurtu-gal @Souvikns

aadarshx22 avatar Jun 17 '25 10:06 aadarshx22

Hey @neoandmatrix @AayushSaini101 I have been going through these issues since the last hour to get to the potential solution and as mentioned in the OG issue and I was just jotting my approach in brief for 4 of the 7 issues (which apparently are aggregated as 2) I came across these comments by @AayushSaini101 and saw all the tasks been assigned to @neoandmatrix as you are the one who suggested these issue. I don't know how this whole bounty program works in this organization but all I have to say is that reviewing these issue peaked my interest and if by any chance you can allow me work on these issues side by side with you, that would be great for me. NOT interested in these two bounties, just want to contribute if that is a point of concern.

cc: @Shurtu-gal @Souvikns

@aadarshx22 you are welcome to the organisation feel free to contribute, Regarding the Bounty rules, you can check here, there are some defined rules, please check: cc: @aeworxet

AayushSaini101 avatar Jun 17 '25 10:06 AayushSaini101

Understandable, I will look into other issues, ping me if there are some tasks for me @neoandmatrix @Shurtu-gal

aadarshx22 avatar Jun 17 '25 10:06 aadarshx22

Understandable, I will look into other issues, ping me if there are some tasks for me @neoandmatrix @Shurtu-gal

:), you can check some other issues, there are lots of issues present and feel free to suggest the ideas, we will happy to assit you thanks

AayushSaini101 avatar Jun 17 '25 10:06 AayushSaini101

Understandable, I will look into other issues, ping me if there are some tasks for me @neoandmatrix @Shurtu-gal

You are always welcome to contribute. There are many issues that require attention , you can definitely have a look at them in the CLI itself or in many amazing projects of AsyncAPI.

Thanks.

neoandmatrix avatar Jun 17 '25 10:06 neoandmatrix

First assignment to regular contributors: 2025-06-20 00:00:00 UTC+12:00 https://github.com/asyncapi/cli/issues/1801#issuecomment-2976536440

Unassigned @neoandmatrix.

@Gmin2, what would your proposed solution be?

aeworxet avatar Jun 17 '25 11:06 aeworxet

  1. For the pre commit hooks we can use husky and @commitlint/cli as dev dependencies, we will configure husky to create a pre-commit hook that executes npm run lint and npm run test to block commits with failing tests or linting errors, simillarly to how go-watermill-template repo does..

  2. For the browser interaction test, I am thinking of implementing this by adding puppeteer as a dev dep and creating a new integration test suite. The test will spawn the asyncapi start studio command as a child process, wait for the "server running at..." log on stdout, then launch a headless browser with puppeteer. Finally, puppeteer will navigate to the logged URL to assert that the page title is AsyncAPI Studio and a key ui element exists and the child process is terminated after the test completes.

  3. For the studio instance one we could inplement it by modifying the server startup logic in src/core/models/Studio.ts, wrap the server.listen(port) call in a function that listens for the 'error' event on the server instance, if an EADDRINUSE error is caught, increment the port number, log a warning to the user, and recursively attempt to start the server on the new port until it succeeds or reaches a predefined limit.

cc @aeworxet

Gmin2 avatar Jun 17 '25 12:06 Gmin2

@Gmin2 Thank you for sharing your perspective. The maintainers of this repository will still be gathering input from candidates until 2025-06-20 00:00:00 UTC+12:00 before making the final decision.

aeworxet avatar Jun 17 '25 13:06 aeworxet

@aeworxet after discussing with @Souvikns @Shurtu-gal , we are assiging this issue to @neoandmatrix , Good Luck : )

AayushSaini101 avatar Jun 20 '25 07:06 AayushSaini101

Bounty Issue's Timeline

Complexity Level Assignment Date (by GitHub) Start Date (by BP Rules) End Date (by BP Rules) Draft PR Submission Final PR Merge Start Final PR Merge End
Medium 2025-06-20 2025-07-07 2025-08-17 2025-07-20 2025-08-03 2025-08-17
Please note that the dates given represent deadlines, not specific dates; so if the goal is reached sooner, it's better.
Keep in mind the responsibility for violations of the Timeline.

Assignee: @neoandmatrix (githubID: 141230066)

aeworxet avatar Jun 20 '25 14:06 aeworxet

PR for resolution of all the 3 issues in order are :-

#1815 #1819 #1824

neoandmatrix avatar Jul 22 '25 12:07 neoandmatrix

AsyncAPI Maintainer (@Shurtu-gal (githubID: 100484401)) delayed a response critical for the technical resolution of the Bounty Issue on GitHub for five periods of three consecutive working days https://github.com/asyncapi/cli/pull/1815#event-18493303805 https://github.com/asyncapi/cli/pull/1815#issuecomment-3128141393 so all remaining target dates of the Bounty Issue's Timeline are extended by five calendar weeks.

Bounty Issue's Timeline Extended

Complexity Level Assignment Date (by GitHub) Start Date (by BP Rules) End Date (by BP Rules) Draft PR Submission Final PR Merge Start Final PR Merge End
Medium 2025-06-20 2025-07-07 2025-09-21 2025-08-24 2025-09-07 2025-09-21
Please note that the dates given represent deadlines, not specific dates; so if the goal is reached sooner, it's better.
Keep in mind the responsibility for violations of the Timeline.

Assignee: @neoandmatrix (githubID: 141230066)

aeworxet avatar Jul 30 '25 10:07 aeworxet

@Souvikns (githubID: 41781438), please respond to the comment.

aeworxet avatar Aug 11 '25 22:08 aeworxet

The response critical for the technical resolution of the Bounty Issue was delayed on GitHub for four periods of three consecutive working days: https://github.com/asyncapi/cli/pull/1815#issuecomment-3139798032 https://github.com/asyncapi/cli/pull/1815#issuecomment-3199301555

Therefore, all remaining target dates of the Bounty Issue's Timeline are extended by four calendar weeks.

Bounty Issue's Timeline Extended

Complexity Level Assignment Date (by GitHub) Start Date (by BP Rules) End Date (by BP Rules) Draft PR Submission Final PR Merge Start Final PR Merge End
Medium 2025-06-20 2025-07-07 2025-10-19 2025-09-21 2025-10-05 2025-10-19
Please note that the dates given represent deadlines, not specific dates; so if the goal is reached sooner, it's better.
Keep in mind the responsibility for violations of the Timeline.

Assignee: @neoandmatrix (githubID: 141230066)

aeworxet avatar Aug 21 '25 10:08 aeworxet

Hey @AayushSaini101 @Shurtu-gal all the issues under this aggregate issue are completed and closed hence this issue can also be closed successfully. Thanks.

neoandmatrix avatar Sep 01 '25 14:09 neoandmatrix

All the issues have been completed thanks @neoandmatrix

AayushSaini101 avatar Sep 01 '25 15:09 AayushSaini101

Bounty Issue Is Completed 🎉

@neoandmatrix (githubID: 141230066), please go to the dedicated AsyncAPI Bounty Program 2025-Q3 page on Open Collective and submit an invoice for USD 200.00 (button 'ACTIONS', dropdown option 'Submit expense') with the expense title Bounty cli#1801, tag bounty, and full URL of this Bounty Issue in the description.

After submitting the invoice, please post the link to it in this Bounty Issue as a separate comment to verify the invoice's authorship.

aeworxet avatar Sep 02 '25 06:09 aeworxet

After submitting the invoice, please post the link to it in this Bounty Issue as a separate comment to verify the invoice's authorship.

https://opencollective.com/asyncapi/projects/asyncapi-bounty-program/expenses/263822

CC :- @aeworxet

neoandmatrix avatar Sep 02 '25 06:09 neoandmatrix

neoandmatrix https://opencollective.com/asyncapi/projects/asyncapi-bounty-program/expenses/263822

✅ The invoice https://opencollective.com/asyncapi/projects/asyncapi-bounty-program/expenses/263822 was submitted by @neoandmatrix (githubID: 141230066), who was the AsyncAPI Bounty Program 2025-Q3 Participant and completed the Bounty Issue cli#1801.

aeworxet avatar Sep 02 '25 07:09 aeworxet

Closing this issue completed thanks : )

AayushSaini101 avatar Sep 03 '25 10:09 AayushSaini101