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

Merging to master #872

Merged
merged 129 commits into from
Nov 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
0021534
gsoc24 init (#798)
dpgiakatos May 23, 2024
6c30b42
Merge pull request #801 from InternetHealthReport/dev
dpgiakatos May 23, 2024
29bfdbc
Added basic ripe atlas API plugin
TasosY2K May 29, 2024
126db08
Added v-network-graph and basic traceroute visualization
TasosY2K May 29, 2024
b764801
added basic styling
TasosY2K May 29, 2024
eeaf5b8
Added some position fixes for nodes
TasosY2K May 29, 2024
533682a
Added Basic UI components
ArnabBCA May 31, 2024
cf0122a
Network Topology Basic UI Init
0xAnon0602 May 31, 2024
8829f3f
Added RIS Live WebSocket Connection
ArnabBCA Jun 3, 2024
8e53369
Filtering and Storing RIS Live Messages
ArnabBCA Jun 7, 2024
a33830c
Added Iyp query and Basic visualization using Dagre
0xAnon0602 Jun 9, 2024
9cf4fd2
Added BGP Graph Data
ArnabBCA Jun 12, 2024
7e0c5eb
added time range and probe selection
TasosY2K Jun 17, 2024
537af8d
Hover effect and More customization added
0xAnon0602 Jun 17, 2024
592b822
Added AS Sankey Graph
ArnabBCA Jun 18, 2024
1b719d6
Bug fix and Prettier Code Refactored
ArnabBCA Jun 18, 2024
7569356
added tooltip
TasosY2K Jun 19, 2024
983ac6e
Merge branch 'master' into gsoc24
dpgiakatos Jun 20, 2024
23d6be9
Optimized and removed code redundancy
ArnabBCA Jun 20, 2024
b838dcb
Added Messages Table and Filter For Peer AS
ArnabBCA Jun 24, 2024
4d29027
Added more customization to node
0xAnon0602 Jun 27, 2024
a1bf1f1
Node size filter added
0xAnon0602 Jul 1, 2024
68e8065
Added BGP Communities
ArnabBCA Jul 5, 2024
a4c990f
Added Route Params and Sorted RRC input options
ArnabBCA Jul 6, 2024
3985983
added coloring modes
TasosY2K Jul 7, 2024
c658bdf
Merge pull request #818 from InternetHealthReport/master
dpgiakatos Jul 9, 2024
768779c
Modified handleMessages and Communities
ArnabBCA Jul 9, 2024
694fc97
Added Time range
ArnabBCA Jul 10, 2024
4059bc2
Removed Code Redundancy and Optimised handleFilterMessages function
ArnabBCA Jul 10, 2024
d966b65
Replaced QRange with QSlider
ArnabBCA Jul 11, 2024
72ab986
Fix #819 (#820)
dpgiakatos Jul 12, 2024
a6e7a94
Bug fix and Added Reset Option
ArnabBCA Jul 12, 2024
7ac8adf
Some customization button added
0xAnon0602 Jul 13, 2024
26f8c64
Added Messages Stats Display Info
ArnabBCA Jul 14, 2024
11b4b1d
Merge branch 'gsoc24' of https://github.com/InternetHealthReport/ihr-…
ArnabBCA Jul 14, 2024
7988d9c
Added "No data" message
ArnabBCA Jul 14, 2024
a73a3a5
Added No of Messages Received Line Chart
ArnabBCA Jul 17, 2024
1aa6243
Prefix added
0xAnon0602 Jul 19, 2024
c4e73da
Added BGP message type (Announce/Withdraw)
ArnabBCA Jul 19, 2024
864eb31
Added Button Colors
ArnabBCA Jul 19, 2024
23437c0
Added GenericCardController
ArnabBCA Jul 19, 2024
59b1908
Changed Page Layout Order
ArnabBCA Jul 19, 2024
5dbd5f8
Code cleanup
0xAnon0602 Jul 20, 2024
b7067ae
Added Router Link to Peer and AS Path in the Table
ArnabBCA Jul 21, 2024
ac34b3e
Added AS Info
ArnabBCA Jul 21, 2024
f4fc90f
Fix display bug (#822)
dpgiakatos Jul 22, 2024
b1fe331
Used utcString() from report plugin
ArnabBCA Jul 22, 2024
4d53eda
Props added and some customization
0xAnon0602 Jul 22, 2024
d1c6c5c
changed deafult moreSpecific to false
ArnabBCA Jul 23, 2024
14246f0
Chaged Sankey Hover Text
ArnabBCA Jul 23, 2024
f05d1a5
Replace the current ranking chart with radar chart (#824)
dpgiakatos Jul 23, 2024
b6ef3b8
Click and hover effect updated
0xAnon0602 Jul 23, 2024
40d4625
changed "timestampSlider" name and converted line chart to stacked li…
ArnabBCA Jul 23, 2024
5db957d
Integrating network topology to basecode (#825)
dpgiakatos Jul 24, 2024
b8cd3c2
Merge branch 'dev' into gsoc24
dpgiakatos Jul 24, 2024
79b9eb3
fix router
dpgiakatos Jul 24, 2024
3f9de75
delete old file
dpgiakatos Jul 24, 2024
f1d2794
add topology to prefix overview (#826)
dpgiakatos Jul 24, 2024
1222b26
Merge branch 'dev' into gsoc24
dpgiakatos Jul 24, 2024
8810510
Fix redirection on topology prefix click (#827)
dpgiakatos Jul 25, 2024
537bbcf
Merge branch 'dev' into gsoc24
dpgiakatos Jul 25, 2024
6394293
Added Live Status and Put QSlider inside the line chart
ArnabBCA Jul 25, 2024
1567097
Added bgp "Unknown" type check
ArnabBCA Jul 28, 2024
f0991e7
Added some code formatting
ArnabBCA Jul 28, 2024
67df30c
Reduced sankey layout margin
ArnabBCA Jul 28, 2024
4e70583
Integrating @ArnabBCA BGP monitor to base-code (#828)
dpgiakatos Jul 30, 2024
eb92aae
Merge branch 'dev' into gsoc24
dpgiakatos Jul 30, 2024
8aa9c00
Fix bugs from #828 (#829)
dpgiakatos Aug 1, 2024
b4349b2
Merge pull request #830 from InternetHealthReport/dev
dpgiakatos Aug 1, 2024
09bef3d
fix bgp time slider on reset (#831)
dpgiakatos Aug 2, 2024
058d341
Merge pull request #832 from InternetHealthReport/dev
dpgiakatos Aug 2, 2024
b6697ca
Added comments
ArnabBCA Aug 5, 2024
f9af449
fixed rtt coloring
TasosY2K Jul 29, 2024
8440d3c
added get param
TasosY2K Jul 29, 2024
b8b8f81
added request caching
TasosY2K Jul 29, 2024
f1aa9a4
rtt dot
TasosY2K Aug 5, 2024
bba17ed
added rtt legend
TasosY2K Aug 5, 2024
bed5ae0
added localstorage caching
TasosY2K Aug 5, 2024
db65d94
fixed asn container
TasosY2K Aug 5, 2024
f795da8
added line chart
TasosY2K Aug 5, 2024
0f48917
added view controls
TasosY2K Aug 5, 2024
2417c06
minor fix
TasosY2K Aug 5, 2024
901d197
fixed duplicate probe issue
TasosY2K Aug 6, 2024
1a9bb10
Hide isLive button on init
ArnabBCA Aug 11, 2024
e04d10e
Fixed timestamp messages
ArnabBCA Aug 11, 2024
bf3831e
Added more BGP Monitor Info card text
ArnabBCA Aug 14, 2024
aec1193
Added Fill Color in BGP Monitor line chart
ArnabBCA Aug 14, 2024
4e82491
Added stackgroup property in line chart
ArnabBCA Aug 14, 2024
1a80d66
Grid Layout Added
0xAnon0602 Aug 16, 2024
611b4e2
Url support added
0xAnon0602 Aug 17, 2024
ac11734
url format change
0xAnon0602 Aug 19, 2024
29b508f
added proper destination selection
TasosY2K Aug 20, 2024
7152810
added search to destinations table
TasosY2K Aug 20, 2024
68f3df8
bug fix on dest selection
TasosY2K Aug 20, 2024
ea9aa12
added some extra debounce
TasosY2K Aug 20, 2024
5004d56
typo
TasosY2K Aug 20, 2024
1bc9875
Fit Screen Fix
0xAnon0602 Aug 21, 2024
61c53c0
minor styling fixes
TasosY2K Aug 21, 2024
4079478
Remove Consecutive Duplicate AS
ArnabBCA Aug 21, 2024
09ec5af
added localstorage cache clearing
TasosY2K Aug 24, 2024
0d921f2
added default last 24h on time range
TasosY2K Aug 24, 2024
505291a
Added description
0xAnon0602 Aug 24, 2024
ea11e01
Added Nodes and Links Count in Sankey Graph
ArnabBCA Aug 26, 2024
0c98db0
Added ws disconnected dialog
ArnabBCA Aug 26, 2024
5d728b9
Integrating @TasosY2K BGP monitor to base-code (#833)
dpgiakatos Aug 30, 2024
347375e
Merge branch 'gsoc24' into dev
dpgiakatos Aug 30, 2024
1e28ea5
Delete src/views/GSoC24TracerouteVisualization.vue
dpgiakatos Sep 3, 2024
a7fa6a0
Tooltip css fixed (#835)
0xAnon0602 Sep 4, 2024
dce9ef1
Updating documentation repository (#837)
dpgiakatos Sep 5, 2024
939af0f
Fix cache full storage issue (#840)
dpgiakatos Sep 13, 2024
f1f5c3a
Removed duplicate AS-Info (#839)
ArnabBCA Sep 14, 2024
5209151
fix i18n route (#841)
dpgiakatos Sep 18, 2024
d2b23d1
add link on prefix in rov table (#842)
dpgiakatos Sep 19, 2024
c258455
Fix deprecated packages (#843)
dpgiakatos Sep 19, 2024
624e110
Minor styling fix on traceroute monitor (#845)
TasosY2K Sep 30, 2024
2503390
Fixed Prefix on Network Topology (#846)
0xAnon0602 Oct 2, 2024
a06f14c
Fixed the bug related to the dialog box glitch (#849)
abansal15 Oct 7, 2024
d011cfc
refactoring and css fixes (#850)
dpgiakatos Oct 7, 2024
ce11693
add new rule (#854)
dpgiakatos Oct 8, 2024
c0438da
fix rules (#855)
dpgiakatos Oct 8, 2024
da228bc
Fix rules (#859)
dpgiakatos Oct 8, 2024
3413ac8
Create validate.yml (#862)
dpgiakatos Oct 11, 2024
d34f401
Update validate.yml
dpgiakatos Oct 11, 2024
dc2dff7
Update PULL_REQUEST_TEMPLATE.md
dpgiakatos Oct 11, 2024
f85db4a
fix: font sizes issue on larger screens #844 (#866)
itsUndefined Nov 1, 2024
64290b8
Added probeIDs and destinationIPs as props to the traceroute componen…
TasosY2K Nov 7, 2024
65b4959
Added toggle ip family (#869)
ArnabBCA Nov 7, 2024
eaee762
Fixed Network is Unreachable overlaying issue (#870)
ArnabBCA Nov 8, 2024
f7a894f
Pre release (#871)
dpgiakatos Nov 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,39 @@
<!--- Provide a general summary of your changes in the Title above -->
<!--- Provide a general summary of your changes in the Title above. -->
<!--- Do not include backticks (`) in the Title above. -->

## Description

<!--- Describe your changes in detail -->
<!--- Describe your changes in detail. -->
<!--- Why is this change required? What problem does it solve? -->
<!--- Do not include backticks (`). -->

## Motivation and Context
## Related issue

<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
<!--- Replace only the '000' with the issue number. -->
<!--- Do not include a URL. -->

#000

## How Has This Been Tested?

<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, the tests you ran to -->
<!--- Include details of your testing environment, the tests you ran to. -->
<!--- see how your change affects other areas of the code, etc. -->
<!--- Do not include backticks (`). -->

## Screenshots (if appropriate):

## Types of changes

<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
<!--- What types of changes does your code introduce? Put an 'x' in all the boxes that apply: -->

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)

## Checklist:

<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- Go over all the following points, and put an 'x' in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->

- [ ] My code follows the code style of this project.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-time.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Build Performance
on:
pull_request:
branches:
- master
- '*'

jobs:
build-time:
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@ name: 'CodeQL'

on:
push:
branches: [ "master" ]
branches:
- '*'
pull_request:
# The branches below must be a subset of the branches above
branches: [" master" ]
branches:
- '*'
schedule:
- cron: '38 18 * * 4'

Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ name: Docker Image CI

on:
push:
branches: [ "master" ]
branches:
- '*'
pull_request:
branches: [ "master" ]
branches:
- '*'

jobs:

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ name: Run Tests
on:
push:
branches:
- master
- '*'
pull_request:
branches:
- master
- '*'

jobs:
test:
Expand Down
124 changes: 124 additions & 0 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
name: PR Validation

on:
pull_request:
types: [edited, opened, synchronize, reopened]
branches: ["*"]

jobs:
validate-pr:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Clear all PR labels
run: |
pr_number=${{ github.event.pull_request.number }}
labels=$(curl -s -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/issues/$pr_number/labels" | jq -r '.[].name // empty')
for label in $labels; do
curl -s -X DELETE -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
"https://api.github.com/repos/${{ github.repository }}/issues/$pr_number/labels/$label"
done

- name: Validate PR
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pr_body="${{ github.event.pull_request.body }}"
pr_author="${{ github.event.pull_request.user.login }}"
pr_number="${{ github.event.pull_request.number }}"
pr_url="${{ github.event.pull_request.html_url }}"
repo_full_name="${{ github.repository }}"
message="Hello @${pr_author}, your PR is being processed. Here are the results:\n\n"
exit_code=0

echo "Starting PR validation for PR #${pr_number} by ${pr_author}"

# Function to make GitHub API calls
github_api_call() {
local method=$1
local endpoint=$2
local data=$3
local url="https://api.github.com/repos/${repo_full_name}/${endpoint}"

response=$(curl -s -X ${method} -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github.v3+json" ${data:+-d "$data"} "$url")
echo "API call to ${endpoint}: $response" >&2
echo "$response"
}

# Check if PR author is a maintainer
permissions=$(github_api_call GET "collaborators/${pr_author}/permission")
is_maintainer=$(echo $permissions | jq -r '.permission')
echo "Author permissions: $is_maintainer"

if [[ "$is_maintainer" == "admin" || "$is_maintainer" == "maintain" ]]; then
echo "Author is a maintainer, bypassing checks"
message+="As a maintainer, your PR is automatically approved and will bypass further checks.\n"
github_api_call POST "issues/${pr_number}/labels" '{"labels":["PR:maintainer-bypass"]}'
else
# echo "Proceeding with checks regardless of maintainer status for testing purposes"
# Check PR template
if [[ "$pr_body" != *"## Description"* ]] || [[ "$pr_body" != *"## Related issue"* ]]; then
exit_code=2
echo "PR template not respected. Exit code: $exit_code"
reason="PR template is not respected. Please update your PR description to include the required sections."
message+="\n- $reason\n\nHere's a minimal example of a valid PR body:\n\n"
message+='```markdown\n## Description\n\n[Provide a brief description of your changes]\n\n## Related issue\n\nFixes #123\n```\n'
github_api_call POST "issues/${pr_number}/labels" '{"labels":["PR:fix-template"]}'
else
echo "PR template respected, checking linked issues"
# Extract linked issues
# issue_numbers=$(echo "$pr_body" | grep -oP '#\K\d+')
issue_numbers=$(echo "$pr_body" | grep -o '#[0-9]\+' | cut -d'#' -f2)

echo "debug linked issues"

if [ -z "$issue_numbers" ]; then
echo "No linked issues detected. Setting default empty value for issue_numbers to avoid error."
issue_numbers="empty"
exit_code=3
echo "No linked issue found. Exit code: $exit_code"
reason="No linked issue found. Please link an issue in your PR description (e.g., 'Fixes #123')."
message+="\n- $reason"
github_api_call POST "issues/${pr_number}/labels" '{"labels":["PR:no-linked-issue"]}'
else
echo "Linked issues found: $issue_numbers"
# Check if PR author is assigned to the linked issue(s)
if [[ "$issue_numbers" != "empty" ]]; then
for issue_number in $issue_numbers; do
issue_data=$(github_api_call GET "issues/${issue_number}")
issue_assignees=$(echo "$issue_data" | jq -r '.assignees[].login')
if ! echo "$issue_assignees" | grep -q "$pr_author"; then
exit_code=4
echo "Author not assigned to issue #${issue_number}. Exit code: $exit_code"
reason="PR author is not assigned to the linked issue #$issue_number. Please assign yourself to the issue before submitting a PR."
message+="\n- $reason"
github_api_call POST "issues/${pr_number}/labels" '{"labels":["PR:author-not-assigned"]}'
else
echo "Author is assigned to issue #${issue_number}"
fi
done
fi
fi
fi
fi

# Finalize validation
if [ "$exit_code" = 0 ]; then
echo "PR is valid"
message+="\n\nYour PR is valid and ready for review. Thank you for your contribution!"
github_api_call POST "issues/${pr_number}/labels" '{"labels":["PR:ready-for-review"]}'
else
echo "PR is invalid. Closing PR."
message+="\n\nPlease address the above issues and update your PR. Once you've made the necessary changes, the PR will be automatically re-evaluated."
github_api_call PATCH "pulls/${pr_number}" '{"state":"closed"}'
fi

# Add comment to PR
echo "Adding comment to PR"
github_api_call POST "issues/${pr_number}/comments" "{\"body\":\"$message\"}"

echo "PR validation completed. Exit code: $exit_code"
exit $exit_code
62 changes: 30 additions & 32 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
nationality, personal appearance, race, caste, color, religion, or sexual
identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
Expand All @@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:

- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
- Focusing on what is best not just for us as individuals, but for the
overall community
* Focusing on what is best not just for us as individuals, but for the overall
community

Examples of unacceptable behavior include:

- The use of sexualized language or imagery, and sexual attention or
advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a
* The use of sexualized language or imagery, and sexual attention or advances of
any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email address,
without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities
Expand All @@ -52,15 +52,15 @@ decisions when appropriate.

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
Examples of representing our community include using an official email address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at [email protected]
.
reported to the community leaders responsible for enforcement at
[[email protected]](mailto:[email protected]).
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
Expand All @@ -82,15 +82,15 @@ behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series
of actions.
**Community Impact**: A violation through a single incident or series of
actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
like social media. Violating these terms may lead to a temporary or permanent
ban.

### 3. Temporary Ban

Expand All @@ -109,20 +109,18 @@ Violating these terms may lead to a permanent ban.
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
the community.
**Consequence**: A permanent ban from any sort of public interaction within the
community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/),
version 2.1, available at
https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).

[homepage]: https://www.contributor-covenant.org
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/inclusion).

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
https://www.contributor-covenant.org/translations.
Loading
Loading