Skip to content

Conversation

@zMynxx
Copy link
Contributor

@zMynxx zMynxx commented Oct 23, 2025

User description

  • fix: broken references and link on the ui.
  • feat: comparison page added.
  • fix: bugs in calculations and defualt tier value.
  • fix: bugs in calculations and defualt tier value.
  • feat: placement of compare page.

PR Type

Enhancement, Bug fix


Description

  • Add new comparison page showcasing advantages over AWS official tools

  • Fix calculation bug: return total_compute_sec instead of total_compute_gb_sec for ephemeral storage

  • Fix broken navigation links: replace <a> tags with <Link> components and add smooth scroll to contributing section

  • Update demo form: change include_free_tier from boolean to string type for proper form handling


Diagram Walkthrough

flowchart LR
  A["Routes Configuration"] -->|add comparison route| B["Comparison Page"]
  C["Calculator Logic"] -->|fix return value| D["Correct Ephemeral Storage Calculation"]
  E["Navigation Links"] -->|replace with Link component| F["Fixed Internal Navigation"]
  G["Demo Form"] -->|update type| H["String-based Free Tier Toggle"]
  B --> I["Feature Comparison Table"]
  B --> J["Real Calculation Example"]
  B --> K["Why Choose Our Tool"]
Loading

File Walkthrough

Relevant files
Configuration changes
routes.ts
Add comparison route to router configuration                         

site/app/routes.ts

  • Add new comparison route pointing to routes/comparison.tsx
  • Route placed between api-docs and demo routes
+1/-0     
entry.client.tsx
Register comparison route in client router                             

site/app/entry.client.tsx

  • Import new Comparison component from routes/comparison
  • Add comparison route configuration to router with path comparison
  • Route placed between api-docs and demo routes
+5/-0     
Bug fix
calculator.py
Fix ephemeral storage calculation parameter bug                   

aws-lambda-calculator/src/aws_lambda_calculator/calculator.py

  • Fix calc_monthly_compute_charges() to return total_compute_sec as
    third value instead of total_compute_gb_sec
  • Update calc_monthly_ephemeral_storage_charges() parameter from
    total_compute_gb_sec to total_compute_sec
  • Fix all references in logging and calculation steps to use correct
    variable name
  • Update caller in calculate() function to unpack the new return value
    correctly
+8/-8     
demo.tsx
Fix free tier toggle form type                                                     

site/app/routes/demo.tsx

  • Change include_free_tier form state from boolean true to string 'true'
  • Ensures proper form handling and serialization
+1/-1     
home.tsx
Fix broken navigation links and add smooth scroll               

site/app/routes/home.tsx

  • Import Link component and useNavigate hook for proper routing
  • Replace tags with components for internal navigation (introduction,
    install-usage, demo)
  • Add handleContributingClick callback to navigate to about page and
    smooth scroll to contributing section
  • Fix LICENSE file link to point to GitHub repository instead of local
    /about route
  • Update contributing guide link to use new scroll-to-section
    functionality
+29/-13 
Enhancement
Navbar.tsx
Add comparison page link to navbar                                             

site/app/components/Navbar.tsx

  • Add new navigation link to comparison page with label "VS AWS Tools"
  • Link placed between Introduction and Install & Usage navigation items
+1/-0     
about.tsx
Add anchor ID for contributing section                                     

site/app/routes/about.tsx

  • Add id="contributing" attribute to Contributing & License section for
    anchor linking
+1/-1     
comparison.tsx
Create comprehensive comparison page with feature matrix 

site/app/routes/comparison.tsx

  • Create comprehensive new comparison page with 589 lines of content
  • Include feature comparison table with 12 rows comparing AWS Lambda
    Calculator vs AWS Pricing Calculator vs AWS Cost Calculator
  • Add visual comparison section with advantages/limitations for each
    tool
  • Include real calculation example showing how official AWS tools fail
    on modern configurations
  • Add "Why Choose Our Calculator" section highlighting superior features
  • Include call-to-action buttons linking to demo, getting started, and
    GitHub
+589/-0 

Copilot AI review requested due to automatic review settings October 23, 2025 19:47
@codiumai-pr-agent-free
Copy link
Contributor

codiumai-pr-agent-free bot commented Oct 23, 2025

PR Compliance Guide 🔍

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
- [ ] Create ticket/issue <!-- /create_ticket --create_ticket=true -->

</details></td></tr>
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
No custom compliance provided

Follow the guide to enable custom compliance check.

  • Update
Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR fixes broken navigation links, improves UI consistency, corrects calculation bugs in ephemeral storage pricing, and adds a comprehensive comparison page showcasing advantages over AWS's official pricing tools.

  • Replaced HTML anchor tags with React Router Link components for proper SPA navigation
  • Fixed ephemeral storage calculation to use compute seconds instead of GB-seconds
  • Added new comparison page with feature matrix and pricing examples

Reviewed Changes

Copilot reviewed 8 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
site/app/routes/home.tsx Replaced anchor tags with Link components, added navigation handler for contributing section with scroll behavior
site/app/routes/demo.tsx Fixed default free tier value from boolean to string for form consistency
site/app/routes/comparison.tsx New comparison page showcasing calculator advantages over AWS tools with detailed feature matrix
site/app/routes/about.tsx Added id attribute to contributing section for anchor navigation
site/app/routes.ts Registered comparison route in application routing
site/app/entry.client.tsx Added comparison component to client-side router configuration
site/app/components/Navbar.tsx Added "VS AWS Tools" navigation link to header
aws-lambda-calculator/src/aws_lambda_calculator/calculator.py Fixed ephemeral storage calculation bug by using compute seconds instead of GB-seconds

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 23, 2025

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
774 769 99% 0% 🟢

New Files

No new covered files...

Modified Files

No covered modified files...

updated for commit: e146d6a by action🐍

@github-actions
Copy link
Contributor

github-actions bot commented Oct 23, 2025

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  aws-lambda-calculator/src/aws_lambda_calculator
  calculator.py
Project Total  

This report was generated by python-coverage-comment-action

@codiumai-pr-agent-free
Copy link
Contributor

CI Feedback 🧐

A test triggered by this PR failed. Here is an AI-generated analysis of the failure:

Action: code-checks / Code Standard Checks

Failed stage: Lint (ruff) [❌]

Failed test name: ruff format --check

Failure summary:

The action failed because the code formatting check did not pass. Specifically, the ruff format
--check command identified that the file src/aws_lambda_calculator/calculator.py would need to be
reformatted to meet the code style standards. The error message suggests running just checks locally
before pushing changes.

Relevant error logs:
1:  ##[group]Runner Image Provisioner
2:  Hosted Compute Agent
...

202:  installer.re-resolve = true
203:  keyring.enabled = true
204:  python.installation-dir = "{data-dir}/python"  # /home/runner/.local/share/pypoetry/python
205:  requests.max-retries = 0
206:  solver.lazy-wheel = true
207:  system-git-client = false
208:  virtualenvs.create = true
209:  virtualenvs.in-project = null
210:  virtualenvs.options.always-copy = false
211:  virtualenvs.options.no-pip = false
212:  virtualenvs.options.system-site-packages = false
213:  virtualenvs.path = "{cache-dir}/virtualenvs"  # /home/runner/.cache/pypoetry/virtualenvs
214:  virtualenvs.prompt = "{project_name}-py{python_version}"
215:  virtualenvs.use-poetry-python = false
216:  Cache hit for: setup-python-Linux-x64-python-3.13.7-poetry-v2-6ad24e5395f393f3575ce0962c2918766094fe9d41ec9401d8a47623c0fe4ba6
217:  (node:2562) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
218:  Received 85304599 of 85304599 (100.0%), 163.0 MBs/sec
...

404:  Installing the current project: aws-lambda-calculator (1.0)
405:  ##[group]Run python -m poetry run ruff format --check
406:  �[36;1mpython -m poetry run ruff format --check�[0m
407:  �[36;1mpython -m poetry run ruff check�[0m
408:  shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
409:  env:
410:  pythonLocation: /opt/hostedtoolcache/Python/3.13.7/x64
411:  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.13.7/x64/lib/pkgconfig
412:  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.7/x64
413:  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.7/x64
414:  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.7/x64
415:  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.13.7/x64/lib
416:  ##[endgroup]
417:  Would reformat: src/aws_lambda_calculator/calculator.py
418:  1 file would be reformatted, 9 files already formatted
419:  ##[error]Process completed with exit code 1.
420:  ##[group]Run echo "::error::${msg}"
421:  �[36;1mecho "::error::${msg}"�[0m
422:  shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
423:  env:
424:  pythonLocation: /opt/hostedtoolcache/Python/3.13.7/x64
425:  PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.13.7/x64/lib/pkgconfig
426:  Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.7/x64
427:  Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.7/x64
428:  Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.13.7/x64
429:  LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.13.7/x64/lib
430:  msg: Some of the code standard checks have failed. Please run `just checks` locally before pushing your changes.
431:  ##[endgroup]
432:  ##[error]Some of the code standard checks have failed. Please run `just checks` locally before pushing your changes.
433:  Post job cleanup.
...

477:  Thu, 23 Oct 2025 19:47:36 GMT:domain resolved: files.pythonhosted.org., ip address: 167.82.48.223, TTL: 60
478:  Thu, 23 Oct 2025 19:47:36 GMT:endpoint called ip address:port 151.101.64.223:443, domain: pypi.org., pid: 2529, process: python3.12
479:  Thu, 23 Oct 2025 19:47:36 GMT:endpoint called ip address:port 167.82.48.223:443, domain: files.pythonhosted.org., pid: 2529, process: python3.12
480:  Thu, 23 Oct 2025 19:47:43 GMT:domain resolved: results-receiver.actions.githubusercontent.com., ip address: 140.82.112.22, TTL: 30
481:  Thu, 23 Oct 2025 19:47:43 GMT:domain resolved: productionresultssa2.blob.core.windows.net., ip address: 57.150.27.1, TTL: 32
482:  Thu, 23 Oct 2025 19:47:43 GMT:endpoint called ip address:port 140.82.112.22:443, domain: results-receiver.actions.githubusercontent.com., pid: 2562, process: node
483:  Thu, 23 Oct 2025 19:47:44 GMT:endpoint called ip address:port 57.150.27.1:443, domain: productionresultssa2.blob.core.windows.net., pid: 2562, process: node
484:  Thu, 23 Oct 2025 19:47:51 GMT:endpoint called ip address:port 151.101.64.223:443, domain: pypi.org., pid: 2593, process: python3.13
485:  Thu, 23 Oct 2025 19:47:52 GMT:endpoint called ip address:port 151.101.64.223:443, domain: pypi.org., pid: 2615, process: python3.13
486:  Thu, 23 Oct 2025 19:47:52 GMT:endpoint called ip address:port 167.82.48.223:443, domain: files.pythonhosted.org., pid: 2615, process: python3.13
487:  Thu, 23 Oct 2025 19:47:59 GMT:endpoint called ip address:port 151.101.64.223:443, domain: pypi.org., pid: 2643, process: python3.13
488:  Thu, 23 Oct 2025 19:48:00 GMT:endpoint called ip address:port 167.82.48.223:443, domain: files.pythonhosted.org., pid: 2643, process: python3.13
489:  Thu, 23 Oct 2025 19:48:03 GMT:post_event called
490:  status:
491:  Initialized
492:  Failed to fetch job summary: 400 Bad Request
493:  Cleaning up orphan processes

@zMynxx zMynxx self-assigned this Oct 23, 2025
@codiumai-pr-agent-free
Copy link
Contributor

codiumai-pr-agent-free bot commented Oct 23, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
High-level
Make comparison page example dynamic

The hardcoded "Real Calculation Example" on the new comparison page should be
made dynamic to ensure it remains accurate. This can be achieved by fetching the
results from an API or pre-calculating them during the build process.

Examples:

site/app/routes/comparison.tsx [302-492]
      <section className="mb-12">
        <h2 className="text-3xl font-semibold mb-6 text-slate-900 dark:text-slate-100">📊 Real Calculation Example</h2>
        
        <div className="bg-gradient-to-r from-slate-50 to-blue-50 dark:from-slate-900 dark:to-blue-950/30 p-6 rounded-xl border border-slate-200 dark:border-slate-700 mb-6">
          <h3 className="text-xl font-semibold mb-4 text-slate-900 dark:text-slate-100">📝 Test Scenario</h3>
          <div className="grid md:grid-cols-2 gap-6">
            <div className="bg-white dark:bg-slate-800 p-4 rounded-lg border border-slate-200 dark:border-slate-700">
              <h4 className="font-semibold text-slate-900 dark:text-slate-100 mb-2">Lambda Configuration</h4>
              <ul className="space-y-1 text-sm text-slate-700 dark:text-slate-300">
                <li><strong>Region:</strong> us-west-2 (Oregon)</li>

 ... (clipped 181 lines)

Solution Walkthrough:

Before:

// site/app/routes/comparison.tsx

export default function Comparison() {
  return (
    // ...
    <section>
      <h2>Real Calculation Example</h2>
      // ...
      <div>
        <h3>AWS Lambda Calculator (Our Tool)</h3>
        <div>
          <div className="text-3xl font-bold">$101.36</div>
          <div className="text-sm">per month</div>
        </div>
        // ... more hardcoded values for cost breakdown
      </div>
    </section>
    // ...
  );
}

After:

// site/app/routes/comparison.tsx
import { useState, useEffect } from 'react';

export default function Comparison() {
  const [exampleResult, setExampleResult] = useState(null);

  useEffect(() => {
    // Fetch calculation for the specific example scenario from the API
    // e.g., fetch('/api/calculate?region=us-west-2&memory=4096...')
    //   .then(res => res.json())
    //   .then(data => setExampleResult(data));
  }, []);

  return (
    // ...
    <section>
      <h2>Real Calculation Example</h2>
      // ...
      <div>
        <h3>AWS Lambda Calculator (Our Tool)</h3>
        {exampleResult ? (
          <div>
            <div className="text-3xl font-bold">{exampleResult.total_cost}</div>
            // ... render other dynamic values from exampleResult
          </div>
        ) : (
          <div>Loading...</div>
        )}
      </div>
    </section>
    // ...
  );
}
Suggestion importance[1-10]: 9

__

Why: The suggestion correctly identifies a critical maintenance risk where the hardcoded example on the new comparison.tsx page can become outdated and misleading, undermining the feature's purpose of showcasing accuracy.

High
Possible issue
Improve scroll-to-section logic
Suggestion Impact:The commit directly implemented the suggestion by replacing the setTimeout approach with passing the scrollTo parameter in the navigation state

code diff:

-    navigate('/about');
-    // Delay scrolling to allow page to load
-    setTimeout(() => {
-      const element = document.getElementById('contributing');
-      if (element) {
-        element.scrollIntoView({ behavior: 'smooth' });
-      }
-    }, 100);
+    navigate('/about', { state: { scrollTo: 'contributing' } });

Refactor the scroll-to-section logic by removing the setTimeout. Instead, pass
the target element's ID via navigation state and handle the scrolling in the
destination component.

site/app/routes/home.tsx [15-25]

     const handleContributingClick = useCallback((e: React.MouseEvent<HTMLAnchorElement>) => {
       e.preventDefault();
-      navigate('/about');
-      // Delay scrolling to allow page to load
-      setTimeout(() => {
-        const element = document.getElementById('contributing');
-        if (element) {
-          element.scrollIntoView({ behavior: 'smooth' });
-        }
-      }, 100);
+      navigate('/about', { state: { scrollTo: 'contributing' } });
     }, [navigate]);

[Suggestion processed]

Suggestion importance[1-10]: 7

__

Why: The suggestion correctly identifies that using setTimeout for scrolling is a fragile pattern and proposes a more robust, state-based approach that is less prone to race conditions.

Medium
General
Use Link component for navigation
Suggestion Impact:The commit implemented the suggestion by replacing tags with Link components for internal navigation to /demo and /getting-started pages, and also imported the Link component from react-router (though from 'react-router' instead of 'react-router-dom')

code diff:

+import { Link } from "react-router";
 
 export function meta({}: Route.MetaArgs) {
   return [
@@ -572,12 +573,12 @@
           Stop wrestling with complex calculators. Get instant, accurate Lambda cost estimates.
         </p>
         <div className="flex flex-wrap justify-center gap-4">
-          <a href="/demo" className="bg-white text-purple-600 px-6 py-3 rounded-lg font-semibold hover:bg-gray-100 transition-colors shadow-md">
+          <Link to="/demo" className="bg-white text-purple-600 px-6 py-3 rounded-lg font-semibold hover:bg-gray-100 transition-colors shadow-md">
             🧮 Try the Calculator
-          </a>
-          <a href="/getting-started" className="bg-purple-700 text-white px-6 py-3 rounded-lg font-semibold hover:bg-purple-800 transition-colors shadow-md">
+          </Link>
+          <Link to="/getting-started" className="bg-purple-700 text-white px-6 py-3 rounded-lg font-semibold hover:bg-purple-800 transition-colors shadow-md">
             📖 Get Started
-          </a>
+          </Link>

Replace tags with the Link component from react-router-dom for internal
navigation in comparison.tsx to prevent full page reloads and maintain
consistency.

site/app/routes/comparison.tsx [575-580]

     import type { Route } from "./+types/comparison";
+    import { Link } from "react-router-dom";
 
     export function meta({}: Route.MetaArgs) {
       return [
     { title: "Comparison - AWS Lambda Calculator vs AWS Tools" },
         { name: "description", content: "Compare AWS Lambda Calculator with official AWS pricing tools" },
       ];
     }
 
     export default function Comparison() {
       return (
     ...
         <div className="flex flex-wrap justify-center gap-4">
-          <a href="/demo" className="bg-white text-purple-600 px-6 py-3 rounded-lg font-semibold hover:bg-gray-100 transition-colors shadow-md">
+          <Link to="/demo" className="bg-white text-purple-600 px-6 py-3 rounded-lg font-semibold hover:bg-gray-100 transition-colors shadow-md">
             🧮 Try the Calculator
-          </a>
-          <a href="/getting-started" className="bg-purple-700 text-white px-6 py-3 rounded-lg font-semibold hover:bg-purple-800 transition-colors shadow-md">
+          </Link>
+          <Link to="/getting-started" className="bg-purple-700 text-white px-6 py-3 rounded-lg font-semibold hover:bg-purple-800 transition-colors shadow-md">
             📖 Get Started
-          </a>
+          </Link>
           <a href="/zmynx/aws-lambda-calculator" target="_blank" rel="noopener noreferrer"
              className="bg-slate-800 text-white px-6 py-3 rounded-lg font-semibold hover:bg-slate-700 transition-colors shadow-md">
             ⭐ Star on GitHub
           </a>
         </div>
       </div>
     </div>
   );
 }

[To ensure code accuracy, apply this suggestion manually]

Suggestion importance[1-10]: 6

__

Why: The suggestion correctly identifies an inconsistency where the new comparison.tsx file uses <a> tags for internal navigation, while other parts of the PR are being updated to use the Link component for a better SPA experience.

Low
  • Update

@zMynxx zMynxx requested a review from Copilot October 23, 2025 20:17
@sonarqubecloud
Copy link

Please retry analysis of this Pull-Request directly on SonarQube Cloud

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Copilot reviewed 8 out of 10 changed files in this pull request and generated 3 comments.


Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.


const handleContributingClick = useCallback((e: React.MouseEvent<HTMLAnchorElement>) => {
e.preventDefault();
navigate('/about', { state: { scrollTo: 'contributing' } });
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

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

[nitpick] Consider using { replace: false } explicitly or document the navigation behavior. Currently, this navigation adds a new history entry which may affect the back button behavior for users.

Suggested change
navigate('/about', { state: { scrollTo: 'contributing' } });
navigate('/about', { state: { scrollTo: 'contributing' }, replace: false });

Copilot uses AI. Check for mistakes.
Comment on lines 576 to 583
<Link to="/demo" className="bg-white text-purple-600 px-6 py-3 rounded-lg font-semibold hover:bg-gray-100 transition-colors shadow-md">
🧮 Try the Calculator
</Link>
<Link to="/getting-started" className="bg-purple-700 text-white px-6 py-3 rounded-lg font-semibold hover:bg-purple-800 transition-colors shadow-md">
📖 Get Started
</Link>
<a href="https://github.com/zmynx/aws-lambda-calculator" target="_blank" rel="noopener noreferrer"
className="bg-slate-800 text-white px-6 py-3 rounded-lg font-semibold hover:bg-slate-700 transition-colors shadow-md">
Copy link

Copilot AI Oct 23, 2025

Choose a reason for hiding this comment

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

The call-to-action buttons should include focus states for keyboard navigation. Add focus:ring-2 focus:ring-offset-2 focus:ring-purple-500 or similar focus styling to improve accessibility.

Suggested change
<Link to="/demo" className="bg-white text-purple-600 px-6 py-3 rounded-lg font-semibold hover:bg-gray-100 transition-colors shadow-md">
🧮 Try the Calculator
</Link>
<Link to="/getting-started" className="bg-purple-700 text-white px-6 py-3 rounded-lg font-semibold hover:bg-purple-800 transition-colors shadow-md">
📖 Get Started
</Link>
<a href="https://github.com/zmynx/aws-lambda-calculator" target="_blank" rel="noopener noreferrer"
className="bg-slate-800 text-white px-6 py-3 rounded-lg font-semibold hover:bg-slate-700 transition-colors shadow-md">
<Link to="/demo" className="bg-white text-purple-600 px-6 py-3 rounded-lg font-semibold hover:bg-gray-100 transition-colors shadow-md focus:ring-2 focus:ring-offset-2 focus:ring-purple-500">
🧮 Try the Calculator
</Link>
<Link to="/getting-started" className="bg-purple-700 text-white px-6 py-3 rounded-lg font-semibold hover:bg-purple-800 transition-colors shadow-md focus:ring-2 focus:ring-offset-2 focus:ring-purple-500">
📖 Get Started
</Link>
<a href="https://github.com/zmynx/aws-lambda-calculator" target="_blank" rel="noopener noreferrer"
className="bg-slate-800 text-white px-6 py-3 rounded-lg font-semibold hover:bg-slate-700 transition-colors shadow-md focus:ring-2 focus:ring-offset-2 focus:ring-purple-500">

Copilot uses AI. Check for mistakes.
@sonarqubecloud
Copy link

Please retry analysis of this Pull-Request directly on SonarQube Cloud

@sonarqubecloud
Copy link

@zMynxx zMynxx merged commit 7c2346e into main Oct 23, 2025
11 of 12 checks passed
@zMynxx zMynxx deleted the fix/broken-links branch October 23, 2025 21:48
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.

2 participants