roxiness / routify

Automated Svelte routes
https://routify.dev
1.85k stars 86 forks source link

$isActive {recursive: false} broken #527

Closed andy1li closed 9 months ago

andy1li commented 10 months ago

Describe the bug

  1. $isActive {recursive: false} is always true for / even when it's actually not /;
  2. It is always false otherwise even when it should be true.

Examples:

image image

Code for all paths:

<script>
  import { url, isActive } from '@roxi/routify'
</script>

<ol>
  <li>
    <a href={$url('/')}>
      / is active (non-recursive): {$isActive('/', {}, {recursive: false})}
    </a>
  </li>
  <li>
    <a href={$url('/a')}>
      /a is active (non-recursive): {$isActive('/a', {}, {recursive: false})}
    </a>
  </li>
  <li>
    <a href={$url('/a')}>
      /a is active: {$isActive('/a')}
    </a>
  </li>
  <li>
    <a href={$url('/a/b')}>
      /a/b is active (non-recursive): {$isActive('/a/b', {}, {recursive: false})}
    </a>
  </li>
  <li>
    <a href={$url('/a/b')}>
      /a/b is active: {$isActive('/a/b')}
    </a>
  </li>
</ol>

Reproduction

https://stackblitz.com/github/andy1li/routify-bug-report

Logs

No response

System Info

System:
    OS: macOS 11.7.9
    CPU: (4) x64 Intel(R) Core(TM) i5-6360U CPU @ 2.00GHz
    Memory: 17.96 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 18.17.1 - ~/.nvm/versions/node/v18.17.1/bin/node
    npm: 9.6.7 - ~/.nvm/versions/node/v18.17.1/bin/npm
    pnpm: 8.6.12 - ~/Library/pnpm/pnpm
  npmPackages:
    @roxi/routify: next => 3.0.0-next.179
    svelte: latest => 4.2.0
    vite: latest => 4.4.9
jakobrosenberg commented 9 months ago

:tada: This issue has been resolved in version 3.0.0-next.186 :tada:

The release is available on:

Your semantic-release bot :package::rocket: