Skip to content

fix(website): point homepage links at real routes - #9

Merged
IamCoder18 merged 3 commits into
mainfrom
feat/fix-nav-footer-links
Sep 11, 2026
Merged

IamCoder18 merged 3 commits into
mainfrom
feat/fix-nav-footer-links

Conversation

@IamCoder18

@IamCoder18 IamCoder18 commented Sep 11, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Navbar: the homepage nav only scrolled to in-page sections (Features/Code/Threading/FAQ) — it now links to the site's actual routes: Docs, Install, Changelog, Community. Both brand marks link to / and both "Get started" buttons go to /install.
  • Hero/CTA: "Get started" now goes to /install instead of the in-page install section; CTA "Read the docs" goes to /docs instead of the GitHub README.
  • Footer: removed links we don't have (Roadmap, Discord). Remaining links all point at real destinations:
    • Product: Features (in-page section), Installation → /install, Changelog → /changelog
    • Docs: Quickstart → /docs/get-started, Concepts → /docs/concepts, API reference → /docs/api, Recipes → /docs/recipes
    • Community: GitHub, Contributing, Code of conduct (all verified to exist in the repo)

Verification

  • Built the site (29 pages) and link-checked all 1061 internal links against the built output — every link resolves (the only non-file target is the 404 page, served by the host).
  • Verified CONTRIBUTING.md, CODE_OF_CONDUCT.md, LICENSE, CHANGELOG.md, and the website-feedback.yml issue template all exist on GitHub main.
  • Screenshot-checked nav and footer in both themes; no console errors.

Screenshots

Dark theme, navbar and footer after the change:

home-top-dark.png

Footer — no placeholder or dead links remain:

home-footer-dark.png

- navbar: replace in-page section anchors with the site's actual
  routes (Docs, Install, Changelog, Community); Get started now goes
  to /install, brand marks link to /
- hero Get started button goes to /install instead of the in-page
  install section
- CTA Read the docs goes to /docs instead of the GitHub README
- footer: Installation/Changelog point at their real pages, Docs
  column links to the actual doc sections (get-started, concepts,
  api, recipes), removed links that don't exist (Roadmap, Discord)
- all 1061 internal links verified against the built site
@coderabbitai

coderabbitai Bot commented Sep 11, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 39 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 3e532108-7745-4fbb-af6c-f8909c9e78c6

📥 Commits

Reviewing files that changed from the base of the PR and between cdba87f and 0cb62eb.

📒 Files selected for processing (2)
  • src/test/java/com/aaravlabs/synapse/TopicTest.java
  • website/src/pages/index.astro

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

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

@kilo-code-bot

kilo-code-bot Bot commented Sep 11, 2026 •

Copy link
Copy Markdown

Code Review Summary

Status: 1 Issue Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 1
Issue Details (click to expand)

SUGGESTION

File Line Issue
src/test/java/com/aaravlabs/synapse/TopicTest.java 21 await returns void and silently returns when the 5 s budget elapses, so a caller that forgets the follow-up assertion will fail later with a confusing error rather than a clear timeout diagnostic. Returning boolean or throwing on expiry would make timeouts self-documenting at every call site.

Resolved (from previous review)

File Line Original issue Resolution
src/test/java/com/aaravlabs/synapse/TopicTest.java 97 Wait budget was implicit and duplicated (500 iterations on two lines). Replaced by named POLL_INTERVAL_MS / AWAIT_BUDGET_MS constants and an await(BooleanSupplier) helper; both call sites now share the helper.

Fix these issues in Kilo Cloud

Files Reviewed (1 file)
  • src/test/java/com/aaravlabs/synapse/TopicTest.java - 1 issue

Reviewed by minimax-m3 · Input: 0 · Output: 0 · Cached: 0

Previous Review Summaries (2 snapshots, latest commit 8e152d7)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 8e152d7)

Status: 1 Issue Found | Recommendation: Address before merge

Overview

Severity Count
CRITICAL 0
WARNING 0
SUGGESTION 1
Issue Details (click to expand)

SUGGESTION

File Line Issue
src/test/java/com/aaravlabs/synapse/TopicTest.java 97 The wait budget is implicit (500 iterations × 10ms = 5s) and duplicated on line 108; a named constant or Awaitility helper would make the budget explicit and the two tests easier to keep in sync.

Fix these issues in Kilo Cloud

Files Reviewed (1 file)
  • src/test/java/com/aaravlabs/synapse/TopicTest.java - 1 issue

Previous review (commit c396596)

Status: No Issues Found | Recommendation: Merge

All 15 changed lines in website/src/pages/index.astro were verified against current code:

  • Every replaced href target (/install, /changelog, /community, /docs, /docs/get-started, /docs/concepts, /docs/api, /docs/recipes) resolves to an existing page in website/src/pages/.
  • The CTA Read the docs change correctly drops target="_blank"/rel="noopener noreferrer" for the now-internal /docs link.
  • Both brand marks link to / and the in-page anchors the nav/hero previously relied on (#cta, #install) are no longer referenced from those CTAs, so no broken scroll targets.
  • External GitHub links (REPO, CONTRIBUTING.md, CODE_OF_CONDUCT.md) remain unchanged.
Files Reviewed (1 file)
  • website/src/pages/index.astro

Reviewed by minimax-m3 · Input: 0 · Output: 0 · Cached: 0

subscribe_receivesPublishedValues failed twice on CI while passing
locally: the 500 ms wait for two async callbacks is too tight on
loaded runners. Budget 5 s before failing instead; the assertions
themselves are unchanged.
Comment thread src/test/java/com/aaravlabs/synapse/TopicTest.java Outdated
Addresses review feedback: replaces the duplicated 500-iteration
magic loops with a named poll interval, an explicit 5 s budget, and
an await(BooleanSupplier) helper so both async tests stay in sync.
private static final int AWAIT_BUDGET_MS = 5000;

/** Waits until {@code cond} is true or the budget elapses. */
private static void await(BooleanSupplier cond) throws InterruptedException {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

SUGGESTION: await returns void and silently returns when the budget elapses, so a caller that forgets the follow-up assertion will fail later with a confusing error (e.g. NPE in received.get(0)) instead of a clear timeout diagnostic.

Returning boolean (or throwing an AssertionError/TimeoutException on expiry, as Awaitility does) would make timeout failures explicit and self-documenting at every call site.

Suggested change
private static void await(BooleanSupplier cond) throws InterruptedException {
private static boolean await(BooleanSupplier cond) throws InterruptedException {
long deadline = System.currentTimeMillis() + AWAIT_BUDGET_MS;
while (!cond.getAsBoolean() && System.currentTimeMillis() < deadline) Thread.sleep(POLL_INTERVAL_MS);
return cond.getAsBoolean();
}

Reply with @kilocode-bot fix it to have Kilo Code address this issue.

@IamCoder18
IamCoder18 merged commit 52a4e1e into main Sep 11, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant