Skip to content

Conversation

@asyncapi-bot
Copy link
Contributor

@asyncapi-bot asyncapi-bot commented Aug 19, 2025

Automated changes by create-pull-request GitHub action

Summary by CodeRabbit

  • New Features
    • Added a new “Community Meeting” to the meetings list.
    • Includes scheduled date/time (Aug 26, 2025, 15:00 UTC), a Google Calendar add link, and a details link.
    • Appears alongside existing events; no other meetings were changed.

@netlify
Copy link

netlify bot commented Aug 19, 2025

Deploy Preview for asyncapi-website ready!

Name Link
🔨 Latest commit 5344aa6
🔍 Latest deploy log https://app.netlify.com/projects/asyncapi-website/deploys/68a3c78fd0c89d00083de186
😎 Deploy Preview https://deploy-preview-4334--asyncapi-website.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 19, 2025

Walkthrough

Adds a new "Community Meeting" object to config/meetings.json with title, Google Calendar link, issue URL (#2039), empty banner, and date 2025-08-26T15:00:00.000Z. No other entries were modified.

Changes

Cohort / File(s) Summary of Changes
Meetings config update
config/meetings.json
Appended a new "Community Meeting" entry with calLink, issue URL, empty banner, and ISO date; existing entries unchanged.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Suggested labels

autoapproved, autoupdate

Suggested reviewers

  • derberg
  • akshatnema
  • anshgoyalevil
  • sambhavgupta0705

Poem

I twitch my whiskers, tap-tap the key,
A meeting appears—so neat, so free!
New date set down in JSON light,
A calendar hop to mark it right.
Carrot in paw, I squeak with glee—
“See you there at quarter past three!” 🥕🐇

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-meetings/8d8c8298c233fbc695c7f083226a431cc3be27c3

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@codecov
Copy link

codecov bot commented Aug 19, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (8d8c829) to head (5344aa6).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #4334   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           22        22           
  Lines          778       778           
  Branches       144       144           
=========================================
  Hits           778       778           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@asyncapi-bot asyncapi-bot merged commit eade4fe into master Aug 19, 2025
34 of 35 checks passed
@asyncapi-bot asyncapi-bot deleted the update-meetings/8d8c8298c233fbc695c7f083226a431cc3be27c3 branch August 19, 2025 00:44
@asyncapi-bot
Copy link
Contributor Author

⚡️ Lighthouse report for the changes in this PR:

Category Score
🔴 Performance 36
🟢 Accessibility 98
🟢 Best practices 92
🟢 SEO 100
🔴 PWA 33

Lighthouse ran on https://deploy-preview-4334--asyncapi-website.netlify.app/

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
config/meetings.json (2)

143-143: Consider aligning the title with established naming (“AsyncAPI Community WG Meeting”).

Most similar items use the “AsyncAPI Community WG Meeting” title. If this is the same recurring meeting, align the title for searchability and consistency.

-    "title": "Community Meeting",
+    "title": "AsyncAPI Community WG Meeting",

146-146: Banner: verify whether a banner is expected for this meeting type.

Some WG entries use a shared banner, others are empty. If this is part of the Community WG series, consider adding the standard community banner for visual consistency.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 8d8c829 and 5344aa6.

📒 Files selected for processing (1)
  • config/meetings.json (1 hunks)
⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
  • GitHub Check: Automerge PR autoapproved by a bot
  • GitHub Check: Redirect rules - asyncapi-website
  • GitHub Check: Header rules - asyncapi-website
  • GitHub Check: Pages changed - asyncapi-website
  • GitHub Check: Test NodeJS PR - windows-latest
  • GitHub Check: Lighthouse CI
  • GitHub Check: Test NodeJS PR - macos-13
🔇 Additional comments (2)
config/meetings.json (2)

141-147: LGTM: Valid JSON and consistent field ordering.

The new entry preserves JSON validity (comma placement is correct), follows the existing key order, and the date is in ISO 8601 UTC format consistent with the rest.


145-145: Meeting Issue Link Verified
The linked issue #2039 is open and titled “Community Meeting, 15:00 UTC Tuesday August 26th 2025,” which matches the event in config/meetings.json:145. No further action required.

"calLink": "https://www.google.com/calendar/event?eid=bWQ1MGEwdWJlMHVnMWhjMXN1dDhtOGdxaWMgY19xOXRzZWlnbG9tZHNqNm5qdWh2YnB0czExY0Bn",
"url": "https://github.com/asyncapi/community/issues/2039",
"banner": "",
"date": "2025-08-26T15:00:00.000Z"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Verify chronological ordering and detect duplicates.

Although the new date looks correctly placed, please run the checks below to ensure global ordering and no duplicate times/URLs/calLinks crept in.


🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE="config/meetings.json"

# 1) Validate JSON
jq empty "$FILE" || { echo "Invalid JSON"; exit 1; }

# 2) Ensure required keys exist for every object
missing_keys=$(jq -r '
  to_entries
  | .[] as $i
  | .value
  | to_entries
  | select(.key == "value")
' "$FILE" >/dev/null 2>&1)

jq -e 'map(has("title") and has("calLink") and has("url") and has("banner") and has("date")) | all' "$FILE" \
  || { echo "One or more entries are missing required keys"; exit 1; }

# 3) Check array is sorted by date ascending (ISO 8601 with Z sorts lexicographically)
dates=$(jq -r '.[].date' "$FILE")
if [ "$(printf "%s\n" $dates | sort)" != "$(printf "%s\n" $dates)" ]; then
  echo "Entries are not strictly sorted by date ascending."
  echo "Offending sequence (actual vs sorted):"
  paste <(printf "%s\n" $dates) <(printf "%s\n" $dates | sort) | sed 's/\t/  |  /'
  exit 1
fi
echo "Dates are sorted ascending."

# 4) Detect duplicates by date, calLink, or url
dups_date=$(printf "%s\n" $dates | sort | uniq -d || true)
dups_url=$(jq -r '.[].url' "$FILE" | sort | uniq -d || true)
dups_cal=$(jq -r '.[].calLink' "$FILE" | sort | uniq -d || true)

if [ -n "$dups_date" ] || [ -n "$dups_url" ] || [ -n "$dups_cal" ]; then
  echo "Potential duplicates found:"
  [ -n "$dups_date" ] && echo "- Dates:" && printf "%s\n" "$dups_date"
  [ -n "$dups_url" ] && echo "- URLs:" && printf "%s\n" "$dups_url"
  [ -n "$dups_cal" ] && echo "- calLinks:" && printf "%s\n" "$dups_cal"
  exit 1
fi

echo "No duplicates detected."

Length of output: 210


#!/bin/bash
set -euo pipefail

FILE="config/meetings.json"

echo "1) Validating JSON…"
jq empty "$FILE"

echo
echo "2) Checking required keys for each entry…"
missing=$(jq -r '
to_entries[]
| select(
(.value | has("title") | not)
or (.value | has("calLink") | not)
or (.value | has("url") | not)
or (.value | has("banner") | not)
or (.value | has("date") | not)
)
| "Entry index (.key) is missing one or more of: title, calLink, url, banner, date"
' "$FILE")
if [ -n "$missing" ]; then
echo "$missing"
exit 1
else
echo "All entries have required keys."
fi

echo
echo "3) Listing dates with original index:"
jq -r 'to_entries[] | "(.key): (.value.date)"' "$FILE"

echo
echo "4) Verifying sort order:"
mapfile -t dates < <(jq -r '.[].date' "$FILE")
mapfile -t sorted < <(printf "%s\n" "${dates[@]}" | sort)
if [ "${dates[]}" = "${sorted[]}" ]; then
echo "Dates are sorted ascending."
else
echo "Dates are NOT sorted ascending."
echo "Actual | Expected(sorted)"
paste <(printf "%s\n" "${dates[@]}") <(printf "%s\n" "${sorted[@]}") | sed 's/\t/ | /'
exit 1
fi

echo
echo "5) Detecting duplicates in date, url, and calLink:"
for key in date url calLink; do
echo "- $key duplicates:"
dup=$(jq -r --arg k "$key" '.[].[$k]' "$FILE" | sort | uniq -d)
if [ -n "$dup" ]; then
echo "$dup"
exit 1
else
echo " None"
fi
done


#!/bin/bash
set -euo pipefail

FILE="config/meetings.json"

echo "1) JSON validity check:"
if jq empty "$FILE" >/dev/null 2>&1; then
echo " ✔ Valid JSON"
else
echo " ✖ Invalid JSON"
exit 1
fi

echo
echo "2) Required keys per entry:"
missing=$(jq -r '
to_entries[]
| select(
(.value | has("title") | not)
or (.value | has("calLink") | not)
or (.value | has("url") | not)
or (.value | has("banner") | not)
or (.value | has("date") | not)
)
| "Entry index (.key) missing one or more of: title, calLink, url, banner, date"
' "$FILE")
if [ -n "$missing" ]; then
echo " ✖ Found missing keys:"
echo "$missing"
exit 1
else
echo " ✔ All entries have required keys."
fi

echo
echo "3) Listing dates with their indices:"
jq -r 'to_entries[] | " [(.key)] (.value.date)"' "$FILE"

echo
echo "4) Sort order check:"
mapfile -t dates < <(jq -r '.[].date' "$FILE")
mapfile -t sorted < <(printf "%s\n" "${dates[@]}" | sort)
if [ "${dates[]}" = "${sorted[]}" ]; then
echo " ✔ Dates are sorted ascending."
else
echo " ✖ Dates are NOT sorted ascending."
echo " Actual | Expected(sorted)"
paste <(printf "%s\n" "${dates[@]}") <(printf "%s\n" "${sorted[@]}") | sed 's/\t/ | /'
exit 1
fi

echo
echo "5) Duplicate detection (date, url, calLink):"
for key in date url calLink; do
echo " - $key duplicates:"
dup=$(jq -r --arg k "$key" '.[].[$k]' "$FILE" | sort | uniq -d)
if [ -n "$dup" ]; then
echo " ✖ $dup"
exit 1
else
echo " ✔ None"
fi
done

echo
echo "No ordering issues or duplicates detected."


🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE="config/meetings.json"

echo "1) Validating JSON…"
jq empty "$FILE" || { echo "✖ Invalid JSON"; exit 1; }

echo
echo "2) Checking required keys…"
jq -r '
  to_entries[]
  | select(
      (.value | has("title")   | not)
   or (.value | has("calLink") | not)
   or (.value | has("url")     | not)
   or (.value | has("banner")  | not)
   or (.value | has("date")    | not)
    )
  | "Entry index \(.key) missing one or more of: title, calLink, url, banner, date"
' "$FILE" | tee missing_keys.txt
if [ -s missing_keys.txt ]; then
  echo "✖ Missing keys detected above."
  exit 1
else
  echo "✔ All entries have required keys."
fi

echo
echo "3) Listing entries with dates, URLs, and calLinks…"
jq -r 'to_entries[] | "[\(.key)] date: \(.value.date), url: \(.value.url), calLink: \(.value.calLink)"' "$FILE"

echo
echo "4) Verifying chronological sort…"
mapfile -t dates < <(jq -r '.[].date' "$FILE")
mapfile -t sorted < <(printf "%s\n" "${dates[@]}" | sort)
if [ "${dates[*]}" = "${sorted[*]}" ]; then
  echo "✔ Dates are sorted ascending."
else
  echo "✖ Dates are NOT sorted ascending."
  echo "Actual  |  Expected(sorted)"
  paste <(printf "%s\n" "${dates[@]}") <(printf "%s\n" "${sorted[@]}") | sed 's/\t/  |  /'
  exit 1
fi

echo
echo "5) Detecting duplicates in date, url, and calLink…"
for field in date url calLink; do
  echo "- $field duplicates:"
  dup=$(jq -r --arg f "$field" '.[].[$f]' "$FILE" | sort | uniq -d)
  if [ -n "$dup" ]; then
    echo "$dup"
    exit 1
  else
    echo "  ✔ None"
  fi
done

echo
echo "No ordering issues or duplicates detected."

Length of output: 657


🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE="config/meetings.json"

echo "1) JSON validity check:"
if jq empty "$FILE" >/dev/null 2>&1; then
  echo "   ✔ Valid JSON"
else
  echo "   ✖ Invalid JSON"
  exit 1
fi

echo
echo "2) Checking required keys for each entry:"
missing=$(jq -r '
  to_entries[]
  | select(
      (.value | has("title")   | not)
   or (.value | has("calLink") | not)
   or (.value | has("url")     | not)
   or (.value | has("banner")  | not)
   or (.value | has("date")    | not)
    )
  | "Entry index \(.key) missing one or more of: title, calLink, url, banner, date"
' "$FILE")
if [ -n "$missing" ]; then
  echo "   ✖ Missing keys detected:"
  echo "$missing"
  exit 1
else
  echo "   ✔ All entries have required keys."
fi

echo
echo "3) Listing entries with date, url, and calLink:"
jq -r 'to_entries[] | "[\(.key)] date: \(.value.date), url: \(.value.url), calLink: \(.value.calLink)"' "$FILE"

echo
echo "4) Verifying chronological sort order:"
mapfile -t dates < <(jq -r '.[].date' "$FILE")
mapfile -t sorted < <(printf "%s\n" "${dates[@]}" | sort)
if [ "${dates[*]}" = "${sorted[*]}" ]; then
  echo "   ✔ Dates are sorted ascending."
else
  echo "   ✖ Dates are NOT sorted ascending."
  echo "     Actual  |  Expected(sorted)"
  paste <(printf "%s\n" "${dates[@]}") <(printf "%s\n" "${sorted[@]}") | sed 's/\t/  |  /'
  exit 1
fi

echo
echo "5) Detecting duplicates in date, url, and calLink:"
for field in date url calLink; do
  dup=$(jq -r --arg f "$field" '.[].[$f]' "$FILE" | sort | uniq -d)
  if [ -n "$dup" ]; then
    echo "$field duplicates: $dup"
    exit 1
  else
    echo "   ✔ No duplicate $field values."
  fi
done

echo
echo "✅ No ordering issues or duplicates detected."

Length of output: 5865


Fix chronological ordering in config/meetings.json

Manual inspection shows the meetings.json array is not strictly sorted by the "date" field. Please reorder the entries so that each event’s ISO-8601 timestamp ascends. For example:

  • 2025-05-15T16:00:00.000Z (index 2) should come before 2025-05-20T15:00:00.000Z (index 1)
  • 2025-05-29T10:00:00.000Z (index 6) should come before 2025-05-29T16:00:00.000Z (index 3)
  • 2025-06-17T15:00:00.000Z (index 10) should come before 2025-06-19T16:00:00.000Z (index 8) and 2025-06-24T14:00:00.000Z (index 9)
  • 2025-07-03T16:00:00.000Z (index 14) should come before 2025-07-08T14:00:00.000Z (index 12) and 2025-07-15T15:00:00.000Z (index 13)
  • 2025-07-29T13:00:00.000Z (index 16) should come before 2025-07-29T15:00:00.000Z (index 15)
  • 2025-08-07T16:00:00.000Z (index 18) should come before 2025-08-12T15:00:00.000Z (index 17)

No duplicate date, url, or calLink values were detected. Once reordered, the file will pass JSON-sort and duplication checks.

🤖 Prompt for AI Agents
In config/meetings.json around line 147, the meetings array is not strictly
sorted by the "date" ISO-8601 timestamps; reorder the objects so dates ascend
chronologically (e.g., place 2025-05-15T16:00:00.000Z before
2025-05-20T15:00:00.000Z, 2025-05-29T10:00:00.000Z before
2025-05-29T16:00:00.000Z, 2025-06-17T15:00:00.000Z before
2025-06-19T16:00:00.000Z and 2025-06-24T14:00:00.000Z, 2025-07-03T16:00:00.000Z
before 2025-07-08T14:00:00.000Z and 2025-07-15T15:00:00.000Z,
2025-07-29T13:00:00.000Z before 2025-07-29T15:00:00.000Z, and
2025-08-07T16:00:00.000Z before 2025-08-12T15:00:00.000Z); preserve each object
exactly (no field changes), ensure no duplicates of date/url/calLink are
introduced, and verify the final JSON is valid and strictly ascending by date so
it passes the JSON-sort and duplication checks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants