Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support of WebSocket protocol #359

Open
Tenischev opened this issue Dec 12, 2023 · 21 comments · May be fixed by #369
Open

Add support of WebSocket protocol #359

Tenischev opened this issue Dec 12, 2023 · 21 comments · May be fixed by #369
Labels
bounty AsyncAPI Bounty program related label enhancement New feature or request stale

Comments

@Tenischev
Copy link
Member

Reason/Context

WebSocket is one of the chose when we need establish connection between backend server and (usually web) client.
Spring-WebSocket is relatively popular library among users (353 usages + 937 usages according to maven).
At the moment template support only mqtt, amqp and kafka protocols.

Description

Provide support for WebSocket (wss) protocol using spring-websocket and\or spring-integration-websocket.
Implementation should be aware of STOPM limitations and\or have SockJS fallback.

  • Create dedicate Publisher and Config in partials.
  • Update PublisherService, Config, MessageHandlerService and CommandLinePublisher template files.
  • Create Java tests, update 02_removeNotRelevantParts.js to avoid presence of wss tests in other protocol generation.
  • Create npm snapshot tests with providing corresponding mock API.

Docs and guides:

@Tenischev Tenischev added the enhancement New feature or request label Dec 12, 2023
@aeworxet aeworxet added the bounty AsyncAPI Bounty program related label label Dec 18, 2023
@aeworxet
Copy link

aeworxet commented Dec 18, 2023

Bounty Issue's service comment

Text labels: bounty/2024-Q1, level/advanced, bounty/coding, bounty/dropped, bounty/eol
End Of Life after: 2024-05-31 23:59:59 UTC-12:00

@Tenischev
Copy link
Member Author

I would like to work on this issue

@aeworxet
Copy link

@asyncapi/bounty_team

@Tenischev Tenischev self-assigned this Dec 19, 2023
@aeworxet
Copy link

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 submission Final PR merge
Advanced 2023-12-20 2024-01-01 2024-02-23 2024-01-19 2024-02-09 2024-02-23
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.

@Jagrutiti
Copy link

Jagrutiti commented Jan 7, 2024

Can I take this up? I am in good in Java and Spring.

@Jagrutiti
Copy link

Can I take this up? I am in good in Java and Spring.

I was actually looking for Docs issue. But came across something I understand.

@aeworxet
Copy link

aeworxet commented Jan 7, 2024

@Jagrutiti Please take a look at the top of the page, it says this issue already has an assignee.

@Jagrutiti
Copy link

The issue does not have an active PR linked.

This assignee could be inactive. At least that's what I assumed. My bad.

@aeworxet
Copy link

aeworxet commented Jan 8, 2024

Assignees only for regular GitHub issues have the luxury of being inactive. The AsyncAPI Bounty Program Participants are responsible.
Also, it is not the time for PR yet, according to the Bounty Issue's Timeline.
Keep an eye on:

  • GH Discussion for Bounty Issues submission during the first and second full (seven-day) calendar weeks of the last month of the current calendar quarter (2023-03-04 ~ 2023-03-17 is the closest), to be able to make an early decision on the Bounty Issue's choice,
  • the #17_bounty channel in Slack till the end of that month (2023-03-18 ~ 2023-03-31 is the closest) to catch an up-for-grabs Bounty Issue and submit your candidature in its comments.

@Tenischev Tenischev linked a pull request Jan 15, 2024 that will close this issue
@aeworxet
Copy link

@Tenischev, please provide an update to the PR.

@aeworxet
Copy link

aeworxet commented Feb 6, 2024

@Tenischev, please provide an update to the PR.

@Tenischev
Copy link
Member Author

Hello @asyncapi/bounty_team and everyone,

I would like to ask for extension time for this issue.
As advance issue it's time consuming to create template representation of AsyncAPI doc for WS in Spring. This requires more time than I could devote due to my main job.
I would appreciate if deadline could be moved for 3 weeks.
About the scope, the left parts are - message sending and tests.

cc @derberg

@aeworxet
Copy link

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 submission Final PR merge
Advanced 2023-12-20 2024-01-01 2024-03-15 2024-01-19 2024-03-01 2024-03-15
Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.

@derberg
Copy link
Member

derberg commented Feb 29, 2024

I would like to ask for extension time for this issue.
As advance issue it's time consuming to create template representation of AsyncAPI doc for WS in Spring. This requires more time than I could devote due to my main job.
I would appreciate if deadline could be moved for 3 weeks.
About the scope, the left parts are - message sending and tests.

@Tenischev to the extend of how I understand the scope of this issue, it went beyond the scope of being advanced and your estimations were to optimistic. I had a situation like this in generator, had to upgrade the bounty issue first to advanced and event this was not enough and I had do join and do some additional development with the contributor - I overestimated. If I would not have time to help with coding, the other solution I would do would be "reestimate and cut the scope", and left overs do after, as some side work, maybe good first issue, or if that could wait, I would put it on a waiting list for next bounty. I suggest you take it into account so this bounty deadline do not stress you out. Your case is difficult as you are owner of the issue and contributor in one person, so decision making is limited.

@aeworxet
Copy link

aeworxet commented Mar 5, 2024

@Tenischev, please change the state of the PR and provide an update to it.

@aeworxet
Copy link

aeworxet commented Mar 7, 2024

I would propose to evaluate and split issues in advance, atomizing them to Medium level from the start, so there remains a buffer possibility for reclassification to Advanced in case of a need.

A issue (underestimated level `Nightmare`)
  [ ] B issue (level `Medium` with possible reclassification to `Advanced`)
  [ ] C issue (solid level `Advanced`)

But not submit Advanced from the start, and then, in the process of resolution, find that it consists of 2+ Advanceds. Such an approach would only lead to stress, which can totally be avoided.

@derberg
Copy link
Member

derberg commented Mar 11, 2024

@aeworxet you mean for future or for this one? as this one we already is not a medium? or you suggest to split this one into medium ones?

@Tenischev this week is submission week for Q2 bounty, so better do it this week

@aeworxet
Copy link

@derberg
For future.
This one should be finished in the state it already is, but this experience should definitely be used on future tasks (talking about proper splitting without biting more than you can chew,) so this torture doesn't go in vain.

@aeworxet
Copy link

Bounty Issue's service comment

@Tenischev receives the First Suspension for silently dropping the Bounty Issue and refraining from completion of the Bounty Issue within the assigned Timeline at the same time.
With the utmost respect for the contributions made, but also having the best interests of the Bounty Program in mind, @Tenischev will be kept from participation in the Bounty Program from the current moment until 2024-05-31 23:59:59 UTC-12:00 (inclusive.)
AsyncAPI hopes that this pause will provide an opportunity for reflection and perhaps a chance to address any challenges that may have led to this situation.
Reward for this Bounty Issue is not paid to @Tenischev during 2024-Q1 and 2024-Q2, even in the case of its voluntary completion.
Probation period after the First Suspension expiration will be from 2024-07-01 00:00:00 UTC+12:00 to 2024-12-31 23:59:59 UTC-12:00 (inclusive.)

@derberg
Copy link
Member

derberg commented Mar 19, 2024

@Tenischev feel free to get in touch with me whenever you are available and have doubts. I hope I can somehow help.

Copy link

This issue has been automatically marked as stale because it has not had recent activity 😴

It will be closed in 120 days if no further activity occurs. To unstale this issue, add a comment with a detailed explanation.

There can be many reasons why some specific issue has no activity. The most probable cause is lack of time, not lack of interest. AsyncAPI Initiative is a Linux Foundation project not owned by a single for-profit company. It is a community-driven initiative ruled under open governance model.

Let us figure out together how to push this issue forward. Connect with us through one of many communication channels we established here.

Thank you for your patience ❤️

@github-actions github-actions bot added the stale label Sep 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bounty AsyncAPI Bounty program related label enhancement New feature or request stale
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants