Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
1.00 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.06 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\EntryComment {#1370
  +user: Proxies\__CG__\App\Entity\User {#1375 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#311
    +icon: Proxies\__CG__\App\Entity\Image {#292 …}
    +name: "memes@lemmy.ml"
    +title: "memes"
    +description: """
      #### Rules:\n
      \n
      1. Be civil and nice.\n
      2. Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you *have* to.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 5926
    +entryCommentCount: 65073
    +postCount: 25
    +postCommentCount: 152
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583092 {#319
      date: 2024-10-22 09:44:52.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#283 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
    +entries: Doctrine\ORM\PersistentCollection {#226 …}
    +posts: Doctrine\ORM\PersistentCollection {#184 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
    +bans: Doctrine\ORM\PersistentCollection {#163 …}
    +reports: Doctrine\ORM\PersistentCollection {#149 …}
    +badges: Doctrine\ORM\PersistentCollection {#127 …}
    +logs: Doctrine\ORM\PersistentCollection {#117 …}
    +awards: Doctrine\ORM\PersistentCollection {#106 …}
    +categories: Doctrine\ORM\PersistentCollection {#93 …}
    -id: 38
    +apId: "memes@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/memes"
    +apPublicUrl: "https://lemmy.ml/c/memes"
    +apFollowersUrl: "https://lemmy.ml/c/memes/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "memes"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728572889 {#320
      date: 2024-10-10 17:08:09.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428223 {#314
      date: 2023-10-04 16:03:43.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2475 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2475 …}
  +body: """
    I am fond of a [partial shuffle algorithm](https://reboil.com/mediawiki/Bkshuf) I wrote in [Bash](https://gitlab.com/baltakatei/baltakatei-exdev/-/blob/d02b8fe0871d53b9f242cb99517f469bdcbaf889/unitproc/bkshuf) for my music playlists that often preserves neighbors of the input list in the output list.\n
    \n
    ![Image](https://reboil.com/res/2023/img/20230716..shuf_bkshuf_scatterplot_100pts.png)\n
    \n
    - Blue: input sequence.\n
    - Red: complete shuffle.\n
    - Green: partial shuffle.\n
    \n
    The result is like skipping through my media library in order but occasionally randomly enabling shuffle to jump to a new place. Since the input list clumps albums together and since albums often have a similar vibe, if I want several similar songs of a particular feel to play one after another, I just have to manually advance through the outputted playlist until I hit a song that has what I’m looking for; then I can let the playlist continue automatically since each subsequent song is likely to be similar to the previous song (until another random jump occurs).
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1702126683 {#1602
    date: 2023-12-09 13:58:03.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@WashedOver@lemmy.ca"
    "@Melody@lemmy.one"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2353 …}
  +nested: Doctrine\ORM\PersistentCollection {#2476 …}
  +votes: Doctrine\ORM\PersistentCollection {#2433 …}
  +reports: Doctrine\ORM\PersistentCollection {#2166 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2473 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1359 …}
  -id: 213542
  -bodyTs: "'/baltakatei/baltakatei-exdev/-/blob/d02b8fe0871d53b9f242cb99517f469bdcbaf889/unitproc/bkshuf)':18 '/mediawiki/bkshuf)':11 '/res/2023/img/20230716..shuf_bkshuf_scatterplot_100pts.png)':38 'advanc':105 'album':75,79 'algorithm':8 'anoth':99,144 'automat':129 'bash':15 'blue':39 'clump':74 'complet':43 'continu':128 'enabl':62 'feel':94 'fond':3 'gitlab.com':17 'gitlab.com/baltakatei/baltakatei-exdev/-/blob/d02b8fe0871d53b9f242cb99517f469bdcbaf889/unitproc/bkshuf)':16 'green':45 'hit':112 'imag':35 'input':29,40,72 'jump':65,146 'let':125 'librari':56 'like':51,135 'list':30,34,73 'look':120 'm':119 'manual':104 'media':55 'music':21 'neighbor':26 'new':68 'occasion':60 'occur':147 'often':24,80 'one':97 'order':58 'output':33,108 'partial':6,46 'particular':93 'place':69 'play':96 'playlist':22,109,127 'preserv':25 'previous':141 'random':61,145 'reboil.com':10,37 'reboil.com/mediawiki/bkshuf)':9 'reboil.com/res/2023/img/20230716..shuf_bkshuf_scatterplot_100pts.png)':36 'red':42 'result':49 'sequenc':41 'sever':88 'shuffl':7,44,47,63 'similar':83,89,138 'sinc':70,78,130 'skip':52 'song':90,114,133,142 'subsequ':132 'togeth':76 'vibe':84 'want':87 'wrote':13"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sopuli.xyz/comment/5278119"
  +editedAt: DateTimeImmutable @1703567898 {#1941
    date: 2023-12-26 06:18:18.0 +01:00
  }
  +createdAt: DateTimeImmutable @1702126683 {#1396
    date: 2023-12-09 13:58:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\EntryComment {#1370
  +user: Proxies\__CG__\App\Entity\User {#1375 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#311
    +icon: Proxies\__CG__\App\Entity\Image {#292 …}
    +name: "memes@lemmy.ml"
    +title: "memes"
    +description: """
      #### Rules:\n
      \n
      1. Be civil and nice.\n
      2. Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you *have* to.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 5926
    +entryCommentCount: 65073
    +postCount: 25
    +postCommentCount: 152
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583092 {#319
      date: 2024-10-22 09:44:52.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#283 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
    +entries: Doctrine\ORM\PersistentCollection {#226 …}
    +posts: Doctrine\ORM\PersistentCollection {#184 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
    +bans: Doctrine\ORM\PersistentCollection {#163 …}
    +reports: Doctrine\ORM\PersistentCollection {#149 …}
    +badges: Doctrine\ORM\PersistentCollection {#127 …}
    +logs: Doctrine\ORM\PersistentCollection {#117 …}
    +awards: Doctrine\ORM\PersistentCollection {#106 …}
    +categories: Doctrine\ORM\PersistentCollection {#93 …}
    -id: 38
    +apId: "memes@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/memes"
    +apPublicUrl: "https://lemmy.ml/c/memes"
    +apFollowersUrl: "https://lemmy.ml/c/memes/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "memes"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728572889 {#320
      date: 2024-10-10 17:08:09.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428223 {#314
      date: 2023-10-04 16:03:43.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2475 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2475 …}
  +body: """
    I am fond of a [partial shuffle algorithm](https://reboil.com/mediawiki/Bkshuf) I wrote in [Bash](https://gitlab.com/baltakatei/baltakatei-exdev/-/blob/d02b8fe0871d53b9f242cb99517f469bdcbaf889/unitproc/bkshuf) for my music playlists that often preserves neighbors of the input list in the output list.\n
    \n
    ![Image](https://reboil.com/res/2023/img/20230716..shuf_bkshuf_scatterplot_100pts.png)\n
    \n
    - Blue: input sequence.\n
    - Red: complete shuffle.\n
    - Green: partial shuffle.\n
    \n
    The result is like skipping through my media library in order but occasionally randomly enabling shuffle to jump to a new place. Since the input list clumps albums together and since albums often have a similar vibe, if I want several similar songs of a particular feel to play one after another, I just have to manually advance through the outputted playlist until I hit a song that has what I’m looking for; then I can let the playlist continue automatically since each subsequent song is likely to be similar to the previous song (until another random jump occurs).
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1702126683 {#1602
    date: 2023-12-09 13:58:03.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@WashedOver@lemmy.ca"
    "@Melody@lemmy.one"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2353 …}
  +nested: Doctrine\ORM\PersistentCollection {#2476 …}
  +votes: Doctrine\ORM\PersistentCollection {#2433 …}
  +reports: Doctrine\ORM\PersistentCollection {#2166 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2473 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1359 …}
  -id: 213542
  -bodyTs: "'/baltakatei/baltakatei-exdev/-/blob/d02b8fe0871d53b9f242cb99517f469bdcbaf889/unitproc/bkshuf)':18 '/mediawiki/bkshuf)':11 '/res/2023/img/20230716..shuf_bkshuf_scatterplot_100pts.png)':38 'advanc':105 'album':75,79 'algorithm':8 'anoth':99,144 'automat':129 'bash':15 'blue':39 'clump':74 'complet':43 'continu':128 'enabl':62 'feel':94 'fond':3 'gitlab.com':17 'gitlab.com/baltakatei/baltakatei-exdev/-/blob/d02b8fe0871d53b9f242cb99517f469bdcbaf889/unitproc/bkshuf)':16 'green':45 'hit':112 'imag':35 'input':29,40,72 'jump':65,146 'let':125 'librari':56 'like':51,135 'list':30,34,73 'look':120 'm':119 'manual':104 'media':55 'music':21 'neighbor':26 'new':68 'occasion':60 'occur':147 'often':24,80 'one':97 'order':58 'output':33,108 'partial':6,46 'particular':93 'place':69 'play':96 'playlist':22,109,127 'preserv':25 'previous':141 'random':61,145 'reboil.com':10,37 'reboil.com/mediawiki/bkshuf)':9 'reboil.com/res/2023/img/20230716..shuf_bkshuf_scatterplot_100pts.png)':36 'red':42 'result':49 'sequenc':41 'sever':88 'shuffl':7,44,47,63 'similar':83,89,138 'sinc':70,78,130 'skip':52 'song':90,114,133,142 'subsequ':132 'togeth':76 'vibe':84 'want':87 'wrote':13"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sopuli.xyz/comment/5278119"
  +editedAt: DateTimeImmutable @1703567898 {#1941
    date: 2023-12-26 06:18:18.0 +01:00
  }
  +createdAt: DateTimeImmutable @1702126683 {#1396
    date: 2023-12-09 13:58:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\EntryComment {#1370
  +user: Proxies\__CG__\App\Entity\User {#1375 …}
  +entry: App\Entity\Entry {#1832 …}
  +magazine: App\Entity\Magazine {#311
    +icon: Proxies\__CG__\App\Entity\Image {#292 …}
    +name: "memes@lemmy.ml"
    +title: "memes"
    +description: """
      #### Rules:\n
      \n
      1. Be civil and nice.\n
      2. Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you *have* to.
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 5926
    +entryCommentCount: 65073
    +postCount: 25
    +postCommentCount: 152
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583092 {#319
      date: 2024-10-22 09:44:52.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#283 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
    +entries: Doctrine\ORM\PersistentCollection {#226 …}
    +posts: Doctrine\ORM\PersistentCollection {#184 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
    +bans: Doctrine\ORM\PersistentCollection {#163 …}
    +reports: Doctrine\ORM\PersistentCollection {#149 …}
    +badges: Doctrine\ORM\PersistentCollection {#127 …}
    +logs: Doctrine\ORM\PersistentCollection {#117 …}
    +awards: Doctrine\ORM\PersistentCollection {#106 …}
    +categories: Doctrine\ORM\PersistentCollection {#93 …}
    -id: 38
    +apId: "memes@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/memes"
    +apPublicUrl: "https://lemmy.ml/c/memes"
    +apFollowersUrl: "https://lemmy.ml/c/memes/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "memes"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1728572889 {#320
      date: 2024-10-10 17:08:09.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1696428223 {#314
      date: 2023-10-04 16:03:43.0 +02:00
    }
  }
  +image: null
  +parent: Proxies\__CG__\App\Entity\EntryComment {#2475 …}
  +root: Proxies\__CG__\App\Entity\EntryComment {#2475 …}
  +body: """
    I am fond of a [partial shuffle algorithm](https://reboil.com/mediawiki/Bkshuf) I wrote in [Bash](https://gitlab.com/baltakatei/baltakatei-exdev/-/blob/d02b8fe0871d53b9f242cb99517f469bdcbaf889/unitproc/bkshuf) for my music playlists that often preserves neighbors of the input list in the output list.\n
    \n
    ![Image](https://reboil.com/res/2023/img/20230716..shuf_bkshuf_scatterplot_100pts.png)\n
    \n
    - Blue: input sequence.\n
    - Red: complete shuffle.\n
    - Green: partial shuffle.\n
    \n
    The result is like skipping through my media library in order but occasionally randomly enabling shuffle to jump to a new place. Since the input list clumps albums together and since albums often have a similar vibe, if I want several similar songs of a particular feel to play one after another, I just have to manually advance through the outputted playlist until I hit a song that has what I’m looking for; then I can let the playlist continue automatically since each subsequent song is likely to be similar to the previous song (until another random jump occurs).
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 7
  +score: 0
  +lastActive: DateTime @1702126683 {#1602
    date: 2023-12-09 13:58:03.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@WashedOver@lemmy.ca"
    "@Melody@lemmy.one"
  ]
  +children: Doctrine\ORM\PersistentCollection {#2353 …}
  +nested: Doctrine\ORM\PersistentCollection {#2476 …}
  +votes: Doctrine\ORM\PersistentCollection {#2433 …}
  +reports: Doctrine\ORM\PersistentCollection {#2166 …}
  +favourites: Doctrine\ORM\PersistentCollection {#2473 …}
  +notifications: Doctrine\ORM\PersistentCollection {#1359 …}
  -id: 213542
  -bodyTs: "'/baltakatei/baltakatei-exdev/-/blob/d02b8fe0871d53b9f242cb99517f469bdcbaf889/unitproc/bkshuf)':18 '/mediawiki/bkshuf)':11 '/res/2023/img/20230716..shuf_bkshuf_scatterplot_100pts.png)':38 'advanc':105 'album':75,79 'algorithm':8 'anoth':99,144 'automat':129 'bash':15 'blue':39 'clump':74 'complet':43 'continu':128 'enabl':62 'feel':94 'fond':3 'gitlab.com':17 'gitlab.com/baltakatei/baltakatei-exdev/-/blob/d02b8fe0871d53b9f242cb99517f469bdcbaf889/unitproc/bkshuf)':16 'green':45 'hit':112 'imag':35 'input':29,40,72 'jump':65,146 'let':125 'librari':56 'like':51,135 'list':30,34,73 'look':120 'm':119 'manual':104 'media':55 'music':21 'neighbor':26 'new':68 'occasion':60 'occur':147 'often':24,80 'one':97 'order':58 'output':33,108 'partial':6,46 'particular':93 'place':69 'play':96 'playlist':22,109,127 'preserv':25 'previous':141 'random':61,145 'reboil.com':10,37 'reboil.com/mediawiki/bkshuf)':9 'reboil.com/res/2023/img/20230716..shuf_bkshuf_scatterplot_100pts.png)':36 'red':42 'result':49 'sequenc':41 'sever':88 'shuffl':7,44,47,63 'similar':83,89,138 'sinc':70,78,130 'skip':52 'song':90,114,133,142 'subsequ':132 'togeth':76 'vibe':84 'want':87 'wrote':13"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://sopuli.xyz/comment/5278119"
  +editedAt: DateTimeImmutable @1703567898 {#1941
    date: 2023-12-26 06:18:18.0 +01:00
  }
  +createdAt: DateTimeImmutable @1702126683 {#1396
    date: 2023-12-09 13:58:03.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED edit
App\Entity\Magazine {#311
  +icon: Proxies\__CG__\App\Entity\Image {#292 …}
  +name: "memes@lemmy.ml"
  +title: "memes"
  +description: """
    #### Rules:\n
    \n
    1. Be civil and nice.\n
    2. Try not to excessively repost, as a rule of thumb, wait at least 2 months to do it if you *have* to.
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 5926
  +entryCommentCount: 65073
  +postCount: 25
  +postCommentCount: 152
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729583092 {#319
    date: 2024-10-22 09:44:52.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#283 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#279 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#268 …}
  +entries: Doctrine\ORM\PersistentCollection {#226 …}
  +posts: Doctrine\ORM\PersistentCollection {#184 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#246 …}
  +bans: Doctrine\ORM\PersistentCollection {#163 …}
  +reports: Doctrine\ORM\PersistentCollection {#149 …}
  +badges: Doctrine\ORM\PersistentCollection {#127 …}
  +logs: Doctrine\ORM\PersistentCollection {#117 …}
  +awards: Doctrine\ORM\PersistentCollection {#106 …}
  +categories: Doctrine\ORM\PersistentCollection {#93 …}
  -id: 38
  +apId: "memes@lemmy.ml"
  +apProfileId: "https://lemmy.ml/c/memes"
  +apPublicUrl: "https://lemmy.ml/c/memes"
  +apFollowersUrl: "https://lemmy.ml/c/memes/followers"
  +apInboxUrl: "https://lemmy.ml/inbox"
  +apDomain: "lemmy.ml"
  +apPreferredUsername: "memes"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1728572889 {#320
    date: 2024-10-10 17:08:09.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1696428223 {#314
    date: 2023-10-04 16:03:43.0 +02:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details