GET https://kbin.spritesserver.nl/index.php/m/selfhosted@lemmy.world/t/33449/PlanarAlly-2024-1-Release

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 …}
}
0.73 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.04 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\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#275
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#269
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#271
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1943 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "PlanarAlly-2024-1-Release"
  +title: "PlanarAlly 2024.1 Release!"
  +url: "https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1"
  +body: """
    For those that have never heard of it, PlanarAlly is an open-source self-hosted virtual tabletop (VTT) for TTRPG games. Here I’ve compiled the most important features/changes from their [blog post](https://www.planarally.io/blog/release-2024.1/). The full release notes are available on their GitHub: [github.com/Kruptein/PlanarAlly/releases/…/2024.1](https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1)\n
    \n
    Vision Blocking Update\n
    ----------------------\n
    \n
    A new vision blocking mode is introduced, called *behind*. It will accompany the existing vision mode which will be renamed to *complete*.\n
    \n
    When *behind* mode is active, the shape marked as vision blocking will be rendered as if it’s not a vision blocking shape, but everything behind it will be fully obscured. This will for example allow you to have a tree trunk that is vision blocking, but still show the players what they are looking at (i.e. a tree trunk).\n
    \n
    Notes Overhaul\n
    --------------\n
    \n
    There is no longer a difference between shape notes and campaign notes. Notes are now a single concept, can be attached to shapes and managed through a new UI element called the Note Manager.\n
    \n
    It’s now possible to share certain notes to other users with granular access rights, eg. you can give *view* access to all players when they retrieve an item, or give a particular player a private note that only they can *view* and *edit*.\n
    \n
    For a full overview of the new note system, check the [notes documentation](https://www.planarally.io/docs/game/notes/).\n
    \n
    Asset Drop Ratio\n
    ----------------\n
    \n
    Defines how assets should be scaled when dropped on the map. A drop ratio of 1 is the default, it means the asset will resize purely on it’s specified dimensions, eg. goblin_1x1 will take up 1 grid cell even if it represents 10ft, whereas a drop ratio of 0.5 will resize basilisk_2x2 to 1x1.\n
    \n
    > *Context: Previously, assets would auto scale when dropped onto the grid if they have a dimension in their name, eg. goblin_1x1 would fit exactly 1 grid cell, dragon_3x3 would be resized to 3 by 3 grid cells. This was using a method based on the 5ft-system to automatically adjust this when a location had a bigger size (eg. 10ft maps would automatically make goblin_2x2 fit in 1 cell). This however would break anything that wasn’t using the 5ft-system.*\n
    \n
    Dice History Improvements\n
    -------------------------\n
    \n
    The dice history will now show who rolled the dice (it was previously only shown on hover) and contains more details on the specific roll instead of only showing the final result.
    """
  +type: "link"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 3
  +favouriteCount: 47
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1729060583 {#2414
    date: 2024-10-16 08:36:23.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 33449
  -titleTs: "'2024.1':2 'planar':1 'releas':3"
  -bodyTs: "'/2024.1':51 '/blog/release-2024.1/).':38 '/docs/game/notes/).':235 '/kruptein/planarally/releases/':50 '/kruptein/planarally/releases/tag/2024.1)':54 '0.5':289 '1':254,276,321,367 '10ft':283,358 '1x1':272,295,317 '2x2':293,364 '3':330,332 '3x3':325 '5ft':344,380 '5ft-system':343,379 'access':189,196 'accompani':69 'activ':84 'adjust':348 'allow':115 'anyth':373 'asset':236,241,261,298 'attach':162 'auto':300 'automat':347,361 'avail':44 'base':340 'basilisk':292 'behind':66,81,105 'bigger':355 'block':56,61,90,101,125 'blog':34 'break':372 'call':65,172 'campaign':152 'cell':278,323,334,368 'certain':182 'check':229 'compil':27 'complet':79 'concept':159 'contain':403 'context':296 'default':257 'defin':239 'detail':405 'dice':382,386,394 'differ':147 'dimens':269,311 'document':232 'dragon':324 'drop':237,246,251,286,303 'edit':219 'eg':191,270,315,357 'element':171 'even':279 'everyth':104 'exact':320 'exampl':114 'exist':71 'features/changes':31 'final':415 'fit':319,365 'full':40,222 'fulli':109 'game':23 'github':47 'github.com':49,53 'github.com/kruptein/planarally/releases/':48 'github.com/kruptein/planarally/releases/tag/2024.1)':52 'give':194,206 'goblin':271,316,363 'granular':188 'grid':277,306,322,333 'heard':6 'histori':383,387 'host':17 'hover':401 'howev':370 'i.e':136 'import':30 'improv':384 'instead':410 'introduc':64 'item':204 'locat':352 'longer':145 'look':134 'make':362 'manag':166,175 'map':249,359 'mark':87 'mean':259 'method':339 'mode':62,73,82 'name':314 'never':5 'new':59,169,226 'note':42,140,150,153,154,174,183,212,227,231 'obscur':110 'onto':304 'open':13 'open-sourc':12 'overhaul':141 'overview':223 'particular':208 'planar':9 'player':130,199,209 'possibl':179 'post':35 'previous':297,397 'privat':211 'pure':264 'ratio':238,252,287 'releas':41 'renam':77 'render':93 'repres':282 'resiz':263,291,328 'result':416 'retriev':202 'right':190 'roll':392,409 'scale':244,301 'self':16 'self-host':15 'shape':86,102,149,164 'share':181 'show':128,390,413 'shown':399 'singl':158 'size':356 'sourc':14 'specif':408 'specifi':268 'still':127 'system':228,345,381 'tabletop':19 'take':274 'tree':120,138 'trunk':121,139 'ttrpg':22 'ui':170 'updat':57 'use':337,377 'user':186 've':26 'view':195,217 'virtual':18 'vision':55,60,72,89,100,124 'vtt':20 'wasn':375 'wherea':284 'would':299,318,326,360,371 'www.planarally.io':37,234 'www.planarally.io/blog/release-2024.1/).':36 'www.planarally.io/docs/game/notes/).':233"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1706456482
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/11249384"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706370082 {#1793
    date: 2024-01-27 16:41:22.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"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\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#275
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#269
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#271
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1943 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "PlanarAlly-2024-1-Release"
  +title: "PlanarAlly 2024.1 Release!"
  +url: "https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1"
  +body: """
    For those that have never heard of it, PlanarAlly is an open-source self-hosted virtual tabletop (VTT) for TTRPG games. Here I’ve compiled the most important features/changes from their [blog post](https://www.planarally.io/blog/release-2024.1/). The full release notes are available on their GitHub: [github.com/Kruptein/PlanarAlly/releases/…/2024.1](https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1)\n
    \n
    Vision Blocking Update\n
    ----------------------\n
    \n
    A new vision blocking mode is introduced, called *behind*. It will accompany the existing vision mode which will be renamed to *complete*.\n
    \n
    When *behind* mode is active, the shape marked as vision blocking will be rendered as if it’s not a vision blocking shape, but everything behind it will be fully obscured. This will for example allow you to have a tree trunk that is vision blocking, but still show the players what they are looking at (i.e. a tree trunk).\n
    \n
    Notes Overhaul\n
    --------------\n
    \n
    There is no longer a difference between shape notes and campaign notes. Notes are now a single concept, can be attached to shapes and managed through a new UI element called the Note Manager.\n
    \n
    It’s now possible to share certain notes to other users with granular access rights, eg. you can give *view* access to all players when they retrieve an item, or give a particular player a private note that only they can *view* and *edit*.\n
    \n
    For a full overview of the new note system, check the [notes documentation](https://www.planarally.io/docs/game/notes/).\n
    \n
    Asset Drop Ratio\n
    ----------------\n
    \n
    Defines how assets should be scaled when dropped on the map. A drop ratio of 1 is the default, it means the asset will resize purely on it’s specified dimensions, eg. goblin_1x1 will take up 1 grid cell even if it represents 10ft, whereas a drop ratio of 0.5 will resize basilisk_2x2 to 1x1.\n
    \n
    > *Context: Previously, assets would auto scale when dropped onto the grid if they have a dimension in their name, eg. goblin_1x1 would fit exactly 1 grid cell, dragon_3x3 would be resized to 3 by 3 grid cells. This was using a method based on the 5ft-system to automatically adjust this when a location had a bigger size (eg. 10ft maps would automatically make goblin_2x2 fit in 1 cell). This however would break anything that wasn’t using the 5ft-system.*\n
    \n
    Dice History Improvements\n
    -------------------------\n
    \n
    The dice history will now show who rolled the dice (it was previously only shown on hover) and contains more details on the specific roll instead of only showing the final result.
    """
  +type: "link"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 3
  +favouriteCount: 47
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1729060583 {#2414
    date: 2024-10-16 08:36:23.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 33449
  -titleTs: "'2024.1':2 'planar':1 'releas':3"
  -bodyTs: "'/2024.1':51 '/blog/release-2024.1/).':38 '/docs/game/notes/).':235 '/kruptein/planarally/releases/':50 '/kruptein/planarally/releases/tag/2024.1)':54 '0.5':289 '1':254,276,321,367 '10ft':283,358 '1x1':272,295,317 '2x2':293,364 '3':330,332 '3x3':325 '5ft':344,380 '5ft-system':343,379 'access':189,196 'accompani':69 'activ':84 'adjust':348 'allow':115 'anyth':373 'asset':236,241,261,298 'attach':162 'auto':300 'automat':347,361 'avail':44 'base':340 'basilisk':292 'behind':66,81,105 'bigger':355 'block':56,61,90,101,125 'blog':34 'break':372 'call':65,172 'campaign':152 'cell':278,323,334,368 'certain':182 'check':229 'compil':27 'complet':79 'concept':159 'contain':403 'context':296 'default':257 'defin':239 'detail':405 'dice':382,386,394 'differ':147 'dimens':269,311 'document':232 'dragon':324 'drop':237,246,251,286,303 'edit':219 'eg':191,270,315,357 'element':171 'even':279 'everyth':104 'exact':320 'exampl':114 'exist':71 'features/changes':31 'final':415 'fit':319,365 'full':40,222 'fulli':109 'game':23 'github':47 'github.com':49,53 'github.com/kruptein/planarally/releases/':48 'github.com/kruptein/planarally/releases/tag/2024.1)':52 'give':194,206 'goblin':271,316,363 'granular':188 'grid':277,306,322,333 'heard':6 'histori':383,387 'host':17 'hover':401 'howev':370 'i.e':136 'import':30 'improv':384 'instead':410 'introduc':64 'item':204 'locat':352 'longer':145 'look':134 'make':362 'manag':166,175 'map':249,359 'mark':87 'mean':259 'method':339 'mode':62,73,82 'name':314 'never':5 'new':59,169,226 'note':42,140,150,153,154,174,183,212,227,231 'obscur':110 'onto':304 'open':13 'open-sourc':12 'overhaul':141 'overview':223 'particular':208 'planar':9 'player':130,199,209 'possibl':179 'post':35 'previous':297,397 'privat':211 'pure':264 'ratio':238,252,287 'releas':41 'renam':77 'render':93 'repres':282 'resiz':263,291,328 'result':416 'retriev':202 'right':190 'roll':392,409 'scale':244,301 'self':16 'self-host':15 'shape':86,102,149,164 'share':181 'show':128,390,413 'shown':399 'singl':158 'size':356 'sourc':14 'specif':408 'specifi':268 'still':127 'system':228,345,381 'tabletop':19 'take':274 'tree':120,138 'trunk':121,139 'ttrpg':22 'ui':170 'updat':57 'use':337,377 'user':186 've':26 'view':195,217 'virtual':18 'vision':55,60,72,89,100,124 'vtt':20 'wasn':375 'wherea':284 'would':299,318,326,360,371 'www.planarally.io':37,234 'www.planarally.io/blog/release-2024.1/).':36 'www.planarally.io/docs/game/notes/).':233"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1706456482
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/11249384"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706370082 {#1793
    date: 2024-01-27 16:41:22.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"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\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "selfhosted@lemmy.world"
    +title: "selfhosted"
    +description: """
      A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
      \n
      Rules:\n
      \n
      - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
      - No spam posting.\n
      - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
      - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
      - No trolling.\n
      \n
      Resources:\n
      \n
      - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
      - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
      - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
      \n
      > Any issues on the community? Report it using the report flag.\n
      \n
      > Questions? DM the mods!
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 222
    +entryCommentCount: 3916
    +postCount: 0
    +postCommentCount: 0
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729582735 {#275
      date: 2024-10-22 09:38:55.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 120
    +apId: "selfhosted@lemmy.world"
    +apProfileId: "https://lemmy.world/c/selfhosted"
    +apPublicUrl: "https://lemmy.world/c/selfhosted"
    +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
    +apInboxUrl: "https://lemmy.world/inbox"
    +apDomain: "lemmy.world"
    +apPreferredUsername: "selfhosted"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703473826 {#269
      date: 2023-12-25 04:10:26.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1703473826 {#271
      date: 2023-12-25 04:10:26.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1943 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "PlanarAlly-2024-1-Release"
  +title: "PlanarAlly 2024.1 Release!"
  +url: "https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1"
  +body: """
    For those that have never heard of it, PlanarAlly is an open-source self-hosted virtual tabletop (VTT) for TTRPG games. Here I’ve compiled the most important features/changes from their [blog post](https://www.planarally.io/blog/release-2024.1/). The full release notes are available on their GitHub: [github.com/Kruptein/PlanarAlly/releases/…/2024.1](https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1)\n
    \n
    Vision Blocking Update\n
    ----------------------\n
    \n
    A new vision blocking mode is introduced, called *behind*. It will accompany the existing vision mode which will be renamed to *complete*.\n
    \n
    When *behind* mode is active, the shape marked as vision blocking will be rendered as if it’s not a vision blocking shape, but everything behind it will be fully obscured. This will for example allow you to have a tree trunk that is vision blocking, but still show the players what they are looking at (i.e. a tree trunk).\n
    \n
    Notes Overhaul\n
    --------------\n
    \n
    There is no longer a difference between shape notes and campaign notes. Notes are now a single concept, can be attached to shapes and managed through a new UI element called the Note Manager.\n
    \n
    It’s now possible to share certain notes to other users with granular access rights, eg. you can give *view* access to all players when they retrieve an item, or give a particular player a private note that only they can *view* and *edit*.\n
    \n
    For a full overview of the new note system, check the [notes documentation](https://www.planarally.io/docs/game/notes/).\n
    \n
    Asset Drop Ratio\n
    ----------------\n
    \n
    Defines how assets should be scaled when dropped on the map. A drop ratio of 1 is the default, it means the asset will resize purely on it’s specified dimensions, eg. goblin_1x1 will take up 1 grid cell even if it represents 10ft, whereas a drop ratio of 0.5 will resize basilisk_2x2 to 1x1.\n
    \n
    > *Context: Previously, assets would auto scale when dropped onto the grid if they have a dimension in their name, eg. goblin_1x1 would fit exactly 1 grid cell, dragon_3x3 would be resized to 3 by 3 grid cells. This was using a method based on the 5ft-system to automatically adjust this when a location had a bigger size (eg. 10ft maps would automatically make goblin_2x2 fit in 1 cell). This however would break anything that wasn’t using the 5ft-system.*\n
    \n
    Dice History Improvements\n
    -------------------------\n
    \n
    The dice history will now show who rolled the dice (it was previously only shown on hover) and contains more details on the specific roll instead of only showing the final result.
    """
  +type: "link"
  +lang: "en"
  +isOc: false
  +hasEmbed: false
  +commentCount: 3
  +favouriteCount: 47
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1729060583 {#2414
    date: 2024-10-16 08:36:23.0 +02:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 33449
  -titleTs: "'2024.1':2 'planar':1 'releas':3"
  -bodyTs: "'/2024.1':51 '/blog/release-2024.1/).':38 '/docs/game/notes/).':235 '/kruptein/planarally/releases/':50 '/kruptein/planarally/releases/tag/2024.1)':54 '0.5':289 '1':254,276,321,367 '10ft':283,358 '1x1':272,295,317 '2x2':293,364 '3':330,332 '3x3':325 '5ft':344,380 '5ft-system':343,379 'access':189,196 'accompani':69 'activ':84 'adjust':348 'allow':115 'anyth':373 'asset':236,241,261,298 'attach':162 'auto':300 'automat':347,361 'avail':44 'base':340 'basilisk':292 'behind':66,81,105 'bigger':355 'block':56,61,90,101,125 'blog':34 'break':372 'call':65,172 'campaign':152 'cell':278,323,334,368 'certain':182 'check':229 'compil':27 'complet':79 'concept':159 'contain':403 'context':296 'default':257 'defin':239 'detail':405 'dice':382,386,394 'differ':147 'dimens':269,311 'document':232 'dragon':324 'drop':237,246,251,286,303 'edit':219 'eg':191,270,315,357 'element':171 'even':279 'everyth':104 'exact':320 'exampl':114 'exist':71 'features/changes':31 'final':415 'fit':319,365 'full':40,222 'fulli':109 'game':23 'github':47 'github.com':49,53 'github.com/kruptein/planarally/releases/':48 'github.com/kruptein/planarally/releases/tag/2024.1)':52 'give':194,206 'goblin':271,316,363 'granular':188 'grid':277,306,322,333 'heard':6 'histori':383,387 'host':17 'hover':401 'howev':370 'i.e':136 'import':30 'improv':384 'instead':410 'introduc':64 'item':204 'locat':352 'longer':145 'look':134 'make':362 'manag':166,175 'map':249,359 'mark':87 'mean':259 'method':339 'mode':62,73,82 'name':314 'never':5 'new':59,169,226 'note':42,140,150,153,154,174,183,212,227,231 'obscur':110 'onto':304 'open':13 'open-sourc':12 'overhaul':141 'overview':223 'particular':208 'planar':9 'player':130,199,209 'possibl':179 'post':35 'previous':297,397 'privat':211 'pure':264 'ratio':238,252,287 'releas':41 'renam':77 'render':93 'repres':282 'resiz':263,291,328 'result':416 'retriev':202 'right':190 'roll':392,409 'scale':244,301 'self':16 'self-host':15 'shape':86,102,149,164 'share':181 'show':128,390,413 'shown':399 'singl':158 'size':356 'sourc':14 'specif':408 'specifi':268 'still':127 'system':228,345,381 'tabletop':19 'take':274 'tree':120,138 'trunk':121,139 'ttrpg':22 'ui':170 'updat':57 'use':337,377 'user':186 've':26 'view':195,217 'virtual':18 'vision':55,60,72,89,100,124 'vtt':20 'wasn':375 'wherea':284 'would':299,318,326,360,371 'www.planarally.io':37,234 'www.planarally.io/blog/release-2024.1/).':36 'www.planarally.io/docs/game/notes/).':233"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1706456482
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/11249384"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706370082 {#1793
    date: 2024-01-27 16:41:22.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"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 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
6 DENIED moderate
App\Entity\EntryComment {#4133
  +user: App\Entity\User {#4081 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "PlanarAlly-2024-1-Release"
    +title: "PlanarAlly 2024.1 Release!"
    +url: "https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1"
    +body: """
      For those that have never heard of it, PlanarAlly is an open-source self-hosted virtual tabletop (VTT) for TTRPG games. Here I’ve compiled the most important features/changes from their [blog post](https://www.planarally.io/blog/release-2024.1/). The full release notes are available on their GitHub: [github.com/Kruptein/PlanarAlly/releases/…/2024.1](https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1)\n
      \n
      Vision Blocking Update\n
      ----------------------\n
      \n
      A new vision blocking mode is introduced, called *behind*. It will accompany the existing vision mode which will be renamed to *complete*.\n
      \n
      When *behind* mode is active, the shape marked as vision blocking will be rendered as if it’s not a vision blocking shape, but everything behind it will be fully obscured. This will for example allow you to have a tree trunk that is vision blocking, but still show the players what they are looking at (i.e. a tree trunk).\n
      \n
      Notes Overhaul\n
      --------------\n
      \n
      There is no longer a difference between shape notes and campaign notes. Notes are now a single concept, can be attached to shapes and managed through a new UI element called the Note Manager.\n
      \n
      It’s now possible to share certain notes to other users with granular access rights, eg. you can give *view* access to all players when they retrieve an item, or give a particular player a private note that only they can *view* and *edit*.\n
      \n
      For a full overview of the new note system, check the [notes documentation](https://www.planarally.io/docs/game/notes/).\n
      \n
      Asset Drop Ratio\n
      ----------------\n
      \n
      Defines how assets should be scaled when dropped on the map. A drop ratio of 1 is the default, it means the asset will resize purely on it’s specified dimensions, eg. goblin_1x1 will take up 1 grid cell even if it represents 10ft, whereas a drop ratio of 0.5 will resize basilisk_2x2 to 1x1.\n
      \n
      > *Context: Previously, assets would auto scale when dropped onto the grid if they have a dimension in their name, eg. goblin_1x1 would fit exactly 1 grid cell, dragon_3x3 would be resized to 3 by 3 grid cells. This was using a method based on the 5ft-system to automatically adjust this when a location had a bigger size (eg. 10ft maps would automatically make goblin_2x2 fit in 1 cell). This however would break anything that wasn’t using the 5ft-system.*\n
      \n
      Dice History Improvements\n
      -------------------------\n
      \n
      The dice history will now show who rolled the dice (it was previously only shown on hover) and contains more details on the specific roll instead of only showing the final result.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729060583 {#2414
      date: 2024-10-16 08:36:23.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 33449
    -titleTs: "'2024.1':2 'planar':1 'releas':3"
    -bodyTs: "'/2024.1':51 '/blog/release-2024.1/).':38 '/docs/game/notes/).':235 '/kruptein/planarally/releases/':50 '/kruptein/planarally/releases/tag/2024.1)':54 '0.5':289 '1':254,276,321,367 '10ft':283,358 '1x1':272,295,317 '2x2':293,364 '3':330,332 '3x3':325 '5ft':344,380 '5ft-system':343,379 'access':189,196 'accompani':69 'activ':84 'adjust':348 'allow':115 'anyth':373 'asset':236,241,261,298 'attach':162 'auto':300 'automat':347,361 'avail':44 'base':340 'basilisk':292 'behind':66,81,105 'bigger':355 'block':56,61,90,101,125 'blog':34 'break':372 'call':65,172 'campaign':152 'cell':278,323,334,368 'certain':182 'check':229 'compil':27 'complet':79 'concept':159 'contain':403 'context':296 'default':257 'defin':239 'detail':405 'dice':382,386,394 'differ':147 'dimens':269,311 'document':232 'dragon':324 'drop':237,246,251,286,303 'edit':219 'eg':191,270,315,357 'element':171 'even':279 'everyth':104 'exact':320 'exampl':114 'exist':71 'features/changes':31 'final':415 'fit':319,365 'full':40,222 'fulli':109 'game':23 'github':47 'github.com':49,53 'github.com/kruptein/planarally/releases/':48 'github.com/kruptein/planarally/releases/tag/2024.1)':52 'give':194,206 'goblin':271,316,363 'granular':188 'grid':277,306,322,333 'heard':6 'histori':383,387 'host':17 'hover':401 'howev':370 'i.e':136 'import':30 'improv':384 'instead':410 'introduc':64 'item':204 'locat':352 'longer':145 'look':134 'make':362 'manag':166,175 'map':249,359 'mark':87 'mean':259 'method':339 'mode':62,73,82 'name':314 'never':5 'new':59,169,226 'note':42,140,150,153,154,174,183,212,227,231 'obscur':110 'onto':304 'open':13 'open-sourc':12 'overhaul':141 'overview':223 'particular':208 'planar':9 'player':130,199,209 'possibl':179 'post':35 'previous':297,397 'privat':211 'pure':264 'ratio':238,252,287 'releas':41 'renam':77 'render':93 'repres':282 'resiz':263,291,328 'result':416 'retriev':202 'right':190 'roll':392,409 'scale':244,301 'self':16 'self-host':15 'shape':86,102,149,164 'share':181 'show':128,390,413 'shown':399 'singl':158 'size':356 'sourc':14 'specif':408 'specifi':268 'still':127 'system':228,345,381 'tabletop':19 'take':274 'tree':120,138 'trunk':121,139 'ttrpg':22 'ui':170 'updat':57 'use':337,377 'user':186 've':26 'view':195,217 'virtual':18 'vision':55,60,72,89,100,124 'vtt':20 'wasn':375 'wherea':284 'would':299,318,326,360,371 'www.planarally.io':37,234 'www.planarally.io/blog/release-2024.1/).':36 'www.planarally.io/docs/game/notes/).':233"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706456482
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/11249384"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706370082 {#1793
      date: 2024-01-27 16:41:22.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "This looks cool, but I'm not sure there's any reason to use it over Foundry if you already have a license."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1729060583 {#4142
    date: 2024-10-16 08:36:23.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Jozzo@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4131 …}
  +nested: Doctrine\ORM\PersistentCollection {#4129 …}
  +votes: Doctrine\ORM\PersistentCollection {#4127 …}
  +reports: Doctrine\ORM\PersistentCollection {#4125 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4093 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4097 …}
  -id: 345338
  -bodyTs: "'alreadi':20 'cool':3 'foundri':17 'licens':23 'look':2 'm':6 'reason':12 'sure':8 'use':14"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://incremental.social/m/selfhosted@lemmy.world/t/5334/-/comment/45981"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706382909 {#4078
    date: 2024-01-27 20:15:09.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
7 DENIED edit
App\Entity\EntryComment {#4133
  +user: App\Entity\User {#4081 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "PlanarAlly-2024-1-Release"
    +title: "PlanarAlly 2024.1 Release!"
    +url: "https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1"
    +body: """
      For those that have never heard of it, PlanarAlly is an open-source self-hosted virtual tabletop (VTT) for TTRPG games. Here I’ve compiled the most important features/changes from their [blog post](https://www.planarally.io/blog/release-2024.1/). The full release notes are available on their GitHub: [github.com/Kruptein/PlanarAlly/releases/…/2024.1](https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1)\n
      \n
      Vision Blocking Update\n
      ----------------------\n
      \n
      A new vision blocking mode is introduced, called *behind*. It will accompany the existing vision mode which will be renamed to *complete*.\n
      \n
      When *behind* mode is active, the shape marked as vision blocking will be rendered as if it’s not a vision blocking shape, but everything behind it will be fully obscured. This will for example allow you to have a tree trunk that is vision blocking, but still show the players what they are looking at (i.e. a tree trunk).\n
      \n
      Notes Overhaul\n
      --------------\n
      \n
      There is no longer a difference between shape notes and campaign notes. Notes are now a single concept, can be attached to shapes and managed through a new UI element called the Note Manager.\n
      \n
      It’s now possible to share certain notes to other users with granular access rights, eg. you can give *view* access to all players when they retrieve an item, or give a particular player a private note that only they can *view* and *edit*.\n
      \n
      For a full overview of the new note system, check the [notes documentation](https://www.planarally.io/docs/game/notes/).\n
      \n
      Asset Drop Ratio\n
      ----------------\n
      \n
      Defines how assets should be scaled when dropped on the map. A drop ratio of 1 is the default, it means the asset will resize purely on it’s specified dimensions, eg. goblin_1x1 will take up 1 grid cell even if it represents 10ft, whereas a drop ratio of 0.5 will resize basilisk_2x2 to 1x1.\n
      \n
      > *Context: Previously, assets would auto scale when dropped onto the grid if they have a dimension in their name, eg. goblin_1x1 would fit exactly 1 grid cell, dragon_3x3 would be resized to 3 by 3 grid cells. This was using a method based on the 5ft-system to automatically adjust this when a location had a bigger size (eg. 10ft maps would automatically make goblin_2x2 fit in 1 cell). This however would break anything that wasn’t using the 5ft-system.*\n
      \n
      Dice History Improvements\n
      -------------------------\n
      \n
      The dice history will now show who rolled the dice (it was previously only shown on hover) and contains more details on the specific roll instead of only showing the final result.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729060583 {#2414
      date: 2024-10-16 08:36:23.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 33449
    -titleTs: "'2024.1':2 'planar':1 'releas':3"
    -bodyTs: "'/2024.1':51 '/blog/release-2024.1/).':38 '/docs/game/notes/).':235 '/kruptein/planarally/releases/':50 '/kruptein/planarally/releases/tag/2024.1)':54 '0.5':289 '1':254,276,321,367 '10ft':283,358 '1x1':272,295,317 '2x2':293,364 '3':330,332 '3x3':325 '5ft':344,380 '5ft-system':343,379 'access':189,196 'accompani':69 'activ':84 'adjust':348 'allow':115 'anyth':373 'asset':236,241,261,298 'attach':162 'auto':300 'automat':347,361 'avail':44 'base':340 'basilisk':292 'behind':66,81,105 'bigger':355 'block':56,61,90,101,125 'blog':34 'break':372 'call':65,172 'campaign':152 'cell':278,323,334,368 'certain':182 'check':229 'compil':27 'complet':79 'concept':159 'contain':403 'context':296 'default':257 'defin':239 'detail':405 'dice':382,386,394 'differ':147 'dimens':269,311 'document':232 'dragon':324 'drop':237,246,251,286,303 'edit':219 'eg':191,270,315,357 'element':171 'even':279 'everyth':104 'exact':320 'exampl':114 'exist':71 'features/changes':31 'final':415 'fit':319,365 'full':40,222 'fulli':109 'game':23 'github':47 'github.com':49,53 'github.com/kruptein/planarally/releases/':48 'github.com/kruptein/planarally/releases/tag/2024.1)':52 'give':194,206 'goblin':271,316,363 'granular':188 'grid':277,306,322,333 'heard':6 'histori':383,387 'host':17 'hover':401 'howev':370 'i.e':136 'import':30 'improv':384 'instead':410 'introduc':64 'item':204 'locat':352 'longer':145 'look':134 'make':362 'manag':166,175 'map':249,359 'mark':87 'mean':259 'method':339 'mode':62,73,82 'name':314 'never':5 'new':59,169,226 'note':42,140,150,153,154,174,183,212,227,231 'obscur':110 'onto':304 'open':13 'open-sourc':12 'overhaul':141 'overview':223 'particular':208 'planar':9 'player':130,199,209 'possibl':179 'post':35 'previous':297,397 'privat':211 'pure':264 'ratio':238,252,287 'releas':41 'renam':77 'render':93 'repres':282 'resiz':263,291,328 'result':416 'retriev':202 'right':190 'roll':392,409 'scale':244,301 'self':16 'self-host':15 'shape':86,102,149,164 'share':181 'show':128,390,413 'shown':399 'singl':158 'size':356 'sourc':14 'specif':408 'specifi':268 'still':127 'system':228,345,381 'tabletop':19 'take':274 'tree':120,138 'trunk':121,139 'ttrpg':22 'ui':170 'updat':57 'use':337,377 'user':186 've':26 'view':195,217 'virtual':18 'vision':55,60,72,89,100,124 'vtt':20 'wasn':375 'wherea':284 'would':299,318,326,360,371 'www.planarally.io':37,234 'www.planarally.io/blog/release-2024.1/).':36 'www.planarally.io/docs/game/notes/).':233"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706456482
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/11249384"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706370082 {#1793
      date: 2024-01-27 16:41:22.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "This looks cool, but I'm not sure there's any reason to use it over Foundry if you already have a license."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1729060583 {#4142
    date: 2024-10-16 08:36:23.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Jozzo@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4131 …}
  +nested: Doctrine\ORM\PersistentCollection {#4129 …}
  +votes: Doctrine\ORM\PersistentCollection {#4127 …}
  +reports: Doctrine\ORM\PersistentCollection {#4125 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4093 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4097 …}
  -id: 345338
  -bodyTs: "'alreadi':20 'cool':3 'foundri':17 'licens':23 'look':2 'm':6 'reason':12 'sure':8 'use':14"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://incremental.social/m/selfhosted@lemmy.world/t/5334/-/comment/45981"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706382909 {#4078
    date: 2024-01-27 20:15:09.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
8 DENIED moderate
App\Entity\EntryComment {#4133
  +user: App\Entity\User {#4081 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "PlanarAlly-2024-1-Release"
    +title: "PlanarAlly 2024.1 Release!"
    +url: "https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1"
    +body: """
      For those that have never heard of it, PlanarAlly is an open-source self-hosted virtual tabletop (VTT) for TTRPG games. Here I’ve compiled the most important features/changes from their [blog post](https://www.planarally.io/blog/release-2024.1/). The full release notes are available on their GitHub: [github.com/Kruptein/PlanarAlly/releases/…/2024.1](https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1)\n
      \n
      Vision Blocking Update\n
      ----------------------\n
      \n
      A new vision blocking mode is introduced, called *behind*. It will accompany the existing vision mode which will be renamed to *complete*.\n
      \n
      When *behind* mode is active, the shape marked as vision blocking will be rendered as if it’s not a vision blocking shape, but everything behind it will be fully obscured. This will for example allow you to have a tree trunk that is vision blocking, but still show the players what they are looking at (i.e. a tree trunk).\n
      \n
      Notes Overhaul\n
      --------------\n
      \n
      There is no longer a difference between shape notes and campaign notes. Notes are now a single concept, can be attached to shapes and managed through a new UI element called the Note Manager.\n
      \n
      It’s now possible to share certain notes to other users with granular access rights, eg. you can give *view* access to all players when they retrieve an item, or give a particular player a private note that only they can *view* and *edit*.\n
      \n
      For a full overview of the new note system, check the [notes documentation](https://www.planarally.io/docs/game/notes/).\n
      \n
      Asset Drop Ratio\n
      ----------------\n
      \n
      Defines how assets should be scaled when dropped on the map. A drop ratio of 1 is the default, it means the asset will resize purely on it’s specified dimensions, eg. goblin_1x1 will take up 1 grid cell even if it represents 10ft, whereas a drop ratio of 0.5 will resize basilisk_2x2 to 1x1.\n
      \n
      > *Context: Previously, assets would auto scale when dropped onto the grid if they have a dimension in their name, eg. goblin_1x1 would fit exactly 1 grid cell, dragon_3x3 would be resized to 3 by 3 grid cells. This was using a method based on the 5ft-system to automatically adjust this when a location had a bigger size (eg. 10ft maps would automatically make goblin_2x2 fit in 1 cell). This however would break anything that wasn’t using the 5ft-system.*\n
      \n
      Dice History Improvements\n
      -------------------------\n
      \n
      The dice history will now show who rolled the dice (it was previously only shown on hover) and contains more details on the specific roll instead of only showing the final result.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729060583 {#2414
      date: 2024-10-16 08:36:23.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 33449
    -titleTs: "'2024.1':2 'planar':1 'releas':3"
    -bodyTs: "'/2024.1':51 '/blog/release-2024.1/).':38 '/docs/game/notes/).':235 '/kruptein/planarally/releases/':50 '/kruptein/planarally/releases/tag/2024.1)':54 '0.5':289 '1':254,276,321,367 '10ft':283,358 '1x1':272,295,317 '2x2':293,364 '3':330,332 '3x3':325 '5ft':344,380 '5ft-system':343,379 'access':189,196 'accompani':69 'activ':84 'adjust':348 'allow':115 'anyth':373 'asset':236,241,261,298 'attach':162 'auto':300 'automat':347,361 'avail':44 'base':340 'basilisk':292 'behind':66,81,105 'bigger':355 'block':56,61,90,101,125 'blog':34 'break':372 'call':65,172 'campaign':152 'cell':278,323,334,368 'certain':182 'check':229 'compil':27 'complet':79 'concept':159 'contain':403 'context':296 'default':257 'defin':239 'detail':405 'dice':382,386,394 'differ':147 'dimens':269,311 'document':232 'dragon':324 'drop':237,246,251,286,303 'edit':219 'eg':191,270,315,357 'element':171 'even':279 'everyth':104 'exact':320 'exampl':114 'exist':71 'features/changes':31 'final':415 'fit':319,365 'full':40,222 'fulli':109 'game':23 'github':47 'github.com':49,53 'github.com/kruptein/planarally/releases/':48 'github.com/kruptein/planarally/releases/tag/2024.1)':52 'give':194,206 'goblin':271,316,363 'granular':188 'grid':277,306,322,333 'heard':6 'histori':383,387 'host':17 'hover':401 'howev':370 'i.e':136 'import':30 'improv':384 'instead':410 'introduc':64 'item':204 'locat':352 'longer':145 'look':134 'make':362 'manag':166,175 'map':249,359 'mark':87 'mean':259 'method':339 'mode':62,73,82 'name':314 'never':5 'new':59,169,226 'note':42,140,150,153,154,174,183,212,227,231 'obscur':110 'onto':304 'open':13 'open-sourc':12 'overhaul':141 'overview':223 'particular':208 'planar':9 'player':130,199,209 'possibl':179 'post':35 'previous':297,397 'privat':211 'pure':264 'ratio':238,252,287 'releas':41 'renam':77 'render':93 'repres':282 'resiz':263,291,328 'result':416 'retriev':202 'right':190 'roll':392,409 'scale':244,301 'self':16 'self-host':15 'shape':86,102,149,164 'share':181 'show':128,390,413 'shown':399 'singl':158 'size':356 'sourc':14 'specif':408 'specifi':268 'still':127 'system':228,345,381 'tabletop':19 'take':274 'tree':120,138 'trunk':121,139 'ttrpg':22 'ui':170 'updat':57 'use':337,377 'user':186 've':26 'view':195,217 'virtual':18 'vision':55,60,72,89,100,124 'vtt':20 'wasn':375 'wherea':284 'would':299,318,326,360,371 'www.planarally.io':37,234 'www.planarally.io/blog/release-2024.1/).':36 'www.planarally.io/docs/game/notes/).':233"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706456482
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/11249384"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706370082 {#1793
      date: 2024-01-27 16:41:22.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "This looks cool, but I'm not sure there's any reason to use it over Foundry if you already have a license."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1729060583 {#4142
    date: 2024-10-16 08:36:23.0 +02:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Jozzo@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4131 …}
  +nested: Doctrine\ORM\PersistentCollection {#4129 …}
  +votes: Doctrine\ORM\PersistentCollection {#4127 …}
  +reports: Doctrine\ORM\PersistentCollection {#4125 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4093 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4097 …}
  -id: 345338
  -bodyTs: "'alreadi':20 'cool':3 'foundri':17 'licens':23 'look':2 'm':6 'reason':12 'sure':8 'use':14"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://incremental.social/m/selfhosted@lemmy.world/t/5334/-/comment/45981"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706382909 {#4078
    date: 2024-01-27 20:15:09.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
9 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
10 DENIED moderate
App\Entity\EntryComment {#4252
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "PlanarAlly-2024-1-Release"
    +title: "PlanarAlly 2024.1 Release!"
    +url: "https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1"
    +body: """
      For those that have never heard of it, PlanarAlly is an open-source self-hosted virtual tabletop (VTT) for TTRPG games. Here I’ve compiled the most important features/changes from their [blog post](https://www.planarally.io/blog/release-2024.1/). The full release notes are available on their GitHub: [github.com/Kruptein/PlanarAlly/releases/…/2024.1](https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1)\n
      \n
      Vision Blocking Update\n
      ----------------------\n
      \n
      A new vision blocking mode is introduced, called *behind*. It will accompany the existing vision mode which will be renamed to *complete*.\n
      \n
      When *behind* mode is active, the shape marked as vision blocking will be rendered as if it’s not a vision blocking shape, but everything behind it will be fully obscured. This will for example allow you to have a tree trunk that is vision blocking, but still show the players what they are looking at (i.e. a tree trunk).\n
      \n
      Notes Overhaul\n
      --------------\n
      \n
      There is no longer a difference between shape notes and campaign notes. Notes are now a single concept, can be attached to shapes and managed through a new UI element called the Note Manager.\n
      \n
      It’s now possible to share certain notes to other users with granular access rights, eg. you can give *view* access to all players when they retrieve an item, or give a particular player a private note that only they can *view* and *edit*.\n
      \n
      For a full overview of the new note system, check the [notes documentation](https://www.planarally.io/docs/game/notes/).\n
      \n
      Asset Drop Ratio\n
      ----------------\n
      \n
      Defines how assets should be scaled when dropped on the map. A drop ratio of 1 is the default, it means the asset will resize purely on it’s specified dimensions, eg. goblin_1x1 will take up 1 grid cell even if it represents 10ft, whereas a drop ratio of 0.5 will resize basilisk_2x2 to 1x1.\n
      \n
      > *Context: Previously, assets would auto scale when dropped onto the grid if they have a dimension in their name, eg. goblin_1x1 would fit exactly 1 grid cell, dragon_3x3 would be resized to 3 by 3 grid cells. This was using a method based on the 5ft-system to automatically adjust this when a location had a bigger size (eg. 10ft maps would automatically make goblin_2x2 fit in 1 cell). This however would break anything that wasn’t using the 5ft-system.*\n
      \n
      Dice History Improvements\n
      -------------------------\n
      \n
      The dice history will now show who rolled the dice (it was previously only shown on hover) and contains more details on the specific roll instead of only showing the final result.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729060583 {#2414
      date: 2024-10-16 08:36:23.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 33449
    -titleTs: "'2024.1':2 'planar':1 'releas':3"
    -bodyTs: "'/2024.1':51 '/blog/release-2024.1/).':38 '/docs/game/notes/).':235 '/kruptein/planarally/releases/':50 '/kruptein/planarally/releases/tag/2024.1)':54 '0.5':289 '1':254,276,321,367 '10ft':283,358 '1x1':272,295,317 '2x2':293,364 '3':330,332 '3x3':325 '5ft':344,380 '5ft-system':343,379 'access':189,196 'accompani':69 'activ':84 'adjust':348 'allow':115 'anyth':373 'asset':236,241,261,298 'attach':162 'auto':300 'automat':347,361 'avail':44 'base':340 'basilisk':292 'behind':66,81,105 'bigger':355 'block':56,61,90,101,125 'blog':34 'break':372 'call':65,172 'campaign':152 'cell':278,323,334,368 'certain':182 'check':229 'compil':27 'complet':79 'concept':159 'contain':403 'context':296 'default':257 'defin':239 'detail':405 'dice':382,386,394 'differ':147 'dimens':269,311 'document':232 'dragon':324 'drop':237,246,251,286,303 'edit':219 'eg':191,270,315,357 'element':171 'even':279 'everyth':104 'exact':320 'exampl':114 'exist':71 'features/changes':31 'final':415 'fit':319,365 'full':40,222 'fulli':109 'game':23 'github':47 'github.com':49,53 'github.com/kruptein/planarally/releases/':48 'github.com/kruptein/planarally/releases/tag/2024.1)':52 'give':194,206 'goblin':271,316,363 'granular':188 'grid':277,306,322,333 'heard':6 'histori':383,387 'host':17 'hover':401 'howev':370 'i.e':136 'import':30 'improv':384 'instead':410 'introduc':64 'item':204 'locat':352 'longer':145 'look':134 'make':362 'manag':166,175 'map':249,359 'mark':87 'mean':259 'method':339 'mode':62,73,82 'name':314 'never':5 'new':59,169,226 'note':42,140,150,153,154,174,183,212,227,231 'obscur':110 'onto':304 'open':13 'open-sourc':12 'overhaul':141 'overview':223 'particular':208 'planar':9 'player':130,199,209 'possibl':179 'post':35 'previous':297,397 'privat':211 'pure':264 'ratio':238,252,287 'releas':41 'renam':77 'render':93 'repres':282 'resiz':263,291,328 'result':416 'retriev':202 'right':190 'roll':392,409 'scale':244,301 'self':16 'self-host':15 'shape':86,102,149,164 'share':181 'show':128,390,413 'shown':399 'singl':158 'size':356 'sourc':14 'specif':408 'specifi':268 'still':127 'system':228,345,381 'tabletop':19 'take':274 'tree':120,138 'trunk':121,139 'ttrpg':22 'ui':170 'updat':57 'use':337,377 'user':186 've':26 'view':195,217 'virtual':18 'vision':55,60,72,89,100,124 'vtt':20 'wasn':375 'wherea':284 'would':299,318,326,360,371 'www.planarally.io':37,234 'www.planarally.io/blog/release-2024.1/).':36 'www.planarally.io/docs/game/notes/).':233"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706456482
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/11249384"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706370082 {#1793
      date: 2024-01-27 16:41:22.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4133
    +user: App\Entity\User {#4081 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "This looks cool, but I'm not sure there's any reason to use it over Foundry if you already have a license."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1729060583 {#4142
      date: 2024-10-16 08:36:23.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Jozzo@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4131 …}
    +nested: Doctrine\ORM\PersistentCollection {#4129 …}
    +votes: Doctrine\ORM\PersistentCollection {#4127 …}
    +reports: Doctrine\ORM\PersistentCollection {#4125 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4093 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4097 …}
    -id: 345338
    -bodyTs: "'alreadi':20 'cool':3 'foundri':17 'licens':23 'look':2 'm':6 'reason':12 'sure':8 'use':14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://incremental.social/m/selfhosted@lemmy.world/t/5334/-/comment/45981"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706382909 {#4078
      date: 2024-01-27 20:15:09.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4133}
  +body: "You’re probably right, but it’s an alternative for people who don’t."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706403912 {#4257
    date: 2024-01-28 02:05:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Jozzo@lemmy.world"
    "@thepaperpilot@incremental.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4260 …}
  +nested: Doctrine\ORM\PersistentCollection {#4264 …}
  +votes: Doctrine\ORM\PersistentCollection {#4266 …}
  +reports: Doctrine\ORM\PersistentCollection {#4267 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4269 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4271 …}
  -id: 346101
  -bodyTs: "'altern':9 'peopl':11 'probabl':3 're':2 'right':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7078831"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706403912 {#4254
    date: 2024-01-28 02:05:12.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
11 DENIED edit
App\Entity\EntryComment {#4252
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "PlanarAlly-2024-1-Release"
    +title: "PlanarAlly 2024.1 Release!"
    +url: "https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1"
    +body: """
      For those that have never heard of it, PlanarAlly is an open-source self-hosted virtual tabletop (VTT) for TTRPG games. Here I’ve compiled the most important features/changes from their [blog post](https://www.planarally.io/blog/release-2024.1/). The full release notes are available on their GitHub: [github.com/Kruptein/PlanarAlly/releases/…/2024.1](https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1)\n
      \n
      Vision Blocking Update\n
      ----------------------\n
      \n
      A new vision blocking mode is introduced, called *behind*. It will accompany the existing vision mode which will be renamed to *complete*.\n
      \n
      When *behind* mode is active, the shape marked as vision blocking will be rendered as if it’s not a vision blocking shape, but everything behind it will be fully obscured. This will for example allow you to have a tree trunk that is vision blocking, but still show the players what they are looking at (i.e. a tree trunk).\n
      \n
      Notes Overhaul\n
      --------------\n
      \n
      There is no longer a difference between shape notes and campaign notes. Notes are now a single concept, can be attached to shapes and managed through a new UI element called the Note Manager.\n
      \n
      It’s now possible to share certain notes to other users with granular access rights, eg. you can give *view* access to all players when they retrieve an item, or give a particular player a private note that only they can *view* and *edit*.\n
      \n
      For a full overview of the new note system, check the [notes documentation](https://www.planarally.io/docs/game/notes/).\n
      \n
      Asset Drop Ratio\n
      ----------------\n
      \n
      Defines how assets should be scaled when dropped on the map. A drop ratio of 1 is the default, it means the asset will resize purely on it’s specified dimensions, eg. goblin_1x1 will take up 1 grid cell even if it represents 10ft, whereas a drop ratio of 0.5 will resize basilisk_2x2 to 1x1.\n
      \n
      > *Context: Previously, assets would auto scale when dropped onto the grid if they have a dimension in their name, eg. goblin_1x1 would fit exactly 1 grid cell, dragon_3x3 would be resized to 3 by 3 grid cells. This was using a method based on the 5ft-system to automatically adjust this when a location had a bigger size (eg. 10ft maps would automatically make goblin_2x2 fit in 1 cell). This however would break anything that wasn’t using the 5ft-system.*\n
      \n
      Dice History Improvements\n
      -------------------------\n
      \n
      The dice history will now show who rolled the dice (it was previously only shown on hover) and contains more details on the specific roll instead of only showing the final result.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729060583 {#2414
      date: 2024-10-16 08:36:23.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 33449
    -titleTs: "'2024.1':2 'planar':1 'releas':3"
    -bodyTs: "'/2024.1':51 '/blog/release-2024.1/).':38 '/docs/game/notes/).':235 '/kruptein/planarally/releases/':50 '/kruptein/planarally/releases/tag/2024.1)':54 '0.5':289 '1':254,276,321,367 '10ft':283,358 '1x1':272,295,317 '2x2':293,364 '3':330,332 '3x3':325 '5ft':344,380 '5ft-system':343,379 'access':189,196 'accompani':69 'activ':84 'adjust':348 'allow':115 'anyth':373 'asset':236,241,261,298 'attach':162 'auto':300 'automat':347,361 'avail':44 'base':340 'basilisk':292 'behind':66,81,105 'bigger':355 'block':56,61,90,101,125 'blog':34 'break':372 'call':65,172 'campaign':152 'cell':278,323,334,368 'certain':182 'check':229 'compil':27 'complet':79 'concept':159 'contain':403 'context':296 'default':257 'defin':239 'detail':405 'dice':382,386,394 'differ':147 'dimens':269,311 'document':232 'dragon':324 'drop':237,246,251,286,303 'edit':219 'eg':191,270,315,357 'element':171 'even':279 'everyth':104 'exact':320 'exampl':114 'exist':71 'features/changes':31 'final':415 'fit':319,365 'full':40,222 'fulli':109 'game':23 'github':47 'github.com':49,53 'github.com/kruptein/planarally/releases/':48 'github.com/kruptein/planarally/releases/tag/2024.1)':52 'give':194,206 'goblin':271,316,363 'granular':188 'grid':277,306,322,333 'heard':6 'histori':383,387 'host':17 'hover':401 'howev':370 'i.e':136 'import':30 'improv':384 'instead':410 'introduc':64 'item':204 'locat':352 'longer':145 'look':134 'make':362 'manag':166,175 'map':249,359 'mark':87 'mean':259 'method':339 'mode':62,73,82 'name':314 'never':5 'new':59,169,226 'note':42,140,150,153,154,174,183,212,227,231 'obscur':110 'onto':304 'open':13 'open-sourc':12 'overhaul':141 'overview':223 'particular':208 'planar':9 'player':130,199,209 'possibl':179 'post':35 'previous':297,397 'privat':211 'pure':264 'ratio':238,252,287 'releas':41 'renam':77 'render':93 'repres':282 'resiz':263,291,328 'result':416 'retriev':202 'right':190 'roll':392,409 'scale':244,301 'self':16 'self-host':15 'shape':86,102,149,164 'share':181 'show':128,390,413 'shown':399 'singl':158 'size':356 'sourc':14 'specif':408 'specifi':268 'still':127 'system':228,345,381 'tabletop':19 'take':274 'tree':120,138 'trunk':121,139 'ttrpg':22 'ui':170 'updat':57 'use':337,377 'user':186 've':26 'view':195,217 'virtual':18 'vision':55,60,72,89,100,124 'vtt':20 'wasn':375 'wherea':284 'would':299,318,326,360,371 'www.planarally.io':37,234 'www.planarally.io/blog/release-2024.1/).':36 'www.planarally.io/docs/game/notes/).':233"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706456482
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/11249384"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706370082 {#1793
      date: 2024-01-27 16:41:22.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4133
    +user: App\Entity\User {#4081 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "This looks cool, but I'm not sure there's any reason to use it over Foundry if you already have a license."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1729060583 {#4142
      date: 2024-10-16 08:36:23.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Jozzo@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4131 …}
    +nested: Doctrine\ORM\PersistentCollection {#4129 …}
    +votes: Doctrine\ORM\PersistentCollection {#4127 …}
    +reports: Doctrine\ORM\PersistentCollection {#4125 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4093 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4097 …}
    -id: 345338
    -bodyTs: "'alreadi':20 'cool':3 'foundri':17 'licens':23 'look':2 'm':6 'reason':12 'sure':8 'use':14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://incremental.social/m/selfhosted@lemmy.world/t/5334/-/comment/45981"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706382909 {#4078
      date: 2024-01-27 20:15:09.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4133}
  +body: "You’re probably right, but it’s an alternative for people who don’t."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706403912 {#4257
    date: 2024-01-28 02:05:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Jozzo@lemmy.world"
    "@thepaperpilot@incremental.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4260 …}
  +nested: Doctrine\ORM\PersistentCollection {#4264 …}
  +votes: Doctrine\ORM\PersistentCollection {#4266 …}
  +reports: Doctrine\ORM\PersistentCollection {#4267 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4269 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4271 …}
  -id: 346101
  -bodyTs: "'altern':9 'peopl':11 'probabl':3 're':2 'right':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7078831"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706403912 {#4254
    date: 2024-01-28 02:05:12.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
12 DENIED moderate
App\Entity\EntryComment {#4252
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "PlanarAlly-2024-1-Release"
    +title: "PlanarAlly 2024.1 Release!"
    +url: "https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1"
    +body: """
      For those that have never heard of it, PlanarAlly is an open-source self-hosted virtual tabletop (VTT) for TTRPG games. Here I’ve compiled the most important features/changes from their [blog post](https://www.planarally.io/blog/release-2024.1/). The full release notes are available on their GitHub: [github.com/Kruptein/PlanarAlly/releases/…/2024.1](https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1)\n
      \n
      Vision Blocking Update\n
      ----------------------\n
      \n
      A new vision blocking mode is introduced, called *behind*. It will accompany the existing vision mode which will be renamed to *complete*.\n
      \n
      When *behind* mode is active, the shape marked as vision blocking will be rendered as if it’s not a vision blocking shape, but everything behind it will be fully obscured. This will for example allow you to have a tree trunk that is vision blocking, but still show the players what they are looking at (i.e. a tree trunk).\n
      \n
      Notes Overhaul\n
      --------------\n
      \n
      There is no longer a difference between shape notes and campaign notes. Notes are now a single concept, can be attached to shapes and managed through a new UI element called the Note Manager.\n
      \n
      It’s now possible to share certain notes to other users with granular access rights, eg. you can give *view* access to all players when they retrieve an item, or give a particular player a private note that only they can *view* and *edit*.\n
      \n
      For a full overview of the new note system, check the [notes documentation](https://www.planarally.io/docs/game/notes/).\n
      \n
      Asset Drop Ratio\n
      ----------------\n
      \n
      Defines how assets should be scaled when dropped on the map. A drop ratio of 1 is the default, it means the asset will resize purely on it’s specified dimensions, eg. goblin_1x1 will take up 1 grid cell even if it represents 10ft, whereas a drop ratio of 0.5 will resize basilisk_2x2 to 1x1.\n
      \n
      > *Context: Previously, assets would auto scale when dropped onto the grid if they have a dimension in their name, eg. goblin_1x1 would fit exactly 1 grid cell, dragon_3x3 would be resized to 3 by 3 grid cells. This was using a method based on the 5ft-system to automatically adjust this when a location had a bigger size (eg. 10ft maps would automatically make goblin_2x2 fit in 1 cell). This however would break anything that wasn’t using the 5ft-system.*\n
      \n
      Dice History Improvements\n
      -------------------------\n
      \n
      The dice history will now show who rolled the dice (it was previously only shown on hover) and contains more details on the specific roll instead of only showing the final result.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729060583 {#2414
      date: 2024-10-16 08:36:23.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 33449
    -titleTs: "'2024.1':2 'planar':1 'releas':3"
    -bodyTs: "'/2024.1':51 '/blog/release-2024.1/).':38 '/docs/game/notes/).':235 '/kruptein/planarally/releases/':50 '/kruptein/planarally/releases/tag/2024.1)':54 '0.5':289 '1':254,276,321,367 '10ft':283,358 '1x1':272,295,317 '2x2':293,364 '3':330,332 '3x3':325 '5ft':344,380 '5ft-system':343,379 'access':189,196 'accompani':69 'activ':84 'adjust':348 'allow':115 'anyth':373 'asset':236,241,261,298 'attach':162 'auto':300 'automat':347,361 'avail':44 'base':340 'basilisk':292 'behind':66,81,105 'bigger':355 'block':56,61,90,101,125 'blog':34 'break':372 'call':65,172 'campaign':152 'cell':278,323,334,368 'certain':182 'check':229 'compil':27 'complet':79 'concept':159 'contain':403 'context':296 'default':257 'defin':239 'detail':405 'dice':382,386,394 'differ':147 'dimens':269,311 'document':232 'dragon':324 'drop':237,246,251,286,303 'edit':219 'eg':191,270,315,357 'element':171 'even':279 'everyth':104 'exact':320 'exampl':114 'exist':71 'features/changes':31 'final':415 'fit':319,365 'full':40,222 'fulli':109 'game':23 'github':47 'github.com':49,53 'github.com/kruptein/planarally/releases/':48 'github.com/kruptein/planarally/releases/tag/2024.1)':52 'give':194,206 'goblin':271,316,363 'granular':188 'grid':277,306,322,333 'heard':6 'histori':383,387 'host':17 'hover':401 'howev':370 'i.e':136 'import':30 'improv':384 'instead':410 'introduc':64 'item':204 'locat':352 'longer':145 'look':134 'make':362 'manag':166,175 'map':249,359 'mark':87 'mean':259 'method':339 'mode':62,73,82 'name':314 'never':5 'new':59,169,226 'note':42,140,150,153,154,174,183,212,227,231 'obscur':110 'onto':304 'open':13 'open-sourc':12 'overhaul':141 'overview':223 'particular':208 'planar':9 'player':130,199,209 'possibl':179 'post':35 'previous':297,397 'privat':211 'pure':264 'ratio':238,252,287 'releas':41 'renam':77 'render':93 'repres':282 'resiz':263,291,328 'result':416 'retriev':202 'right':190 'roll':392,409 'scale':244,301 'self':16 'self-host':15 'shape':86,102,149,164 'share':181 'show':128,390,413 'shown':399 'singl':158 'size':356 'sourc':14 'specif':408 'specifi':268 'still':127 'system':228,345,381 'tabletop':19 'take':274 'tree':120,138 'trunk':121,139 'ttrpg':22 'ui':170 'updat':57 'use':337,377 'user':186 've':26 'view':195,217 'virtual':18 'vision':55,60,72,89,100,124 'vtt':20 'wasn':375 'wherea':284 'would':299,318,326,360,371 'www.planarally.io':37,234 'www.planarally.io/blog/release-2024.1/).':36 'www.planarally.io/docs/game/notes/).':233"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706456482
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/11249384"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706370082 {#1793
      date: 2024-01-27 16:41:22.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: App\Entity\EntryComment {#4133
    +user: App\Entity\User {#4081 …}
    +entry: App\Entity\Entry {#2419}
    +magazine: App\Entity\Magazine {#265}
    +image: null
    +parent: null
    +root: null
    +body: "This looks cool, but I'm not sure there's any reason to use it over Foundry if you already have a license."
    +lang: "en"
    +isAdult: false
    +favouriteCount: 1
    +score: 0
    +lastActive: DateTime @1729060583 {#4142
      date: 2024-10-16 08:36:23.0 +02:00
    }
    +ip: null
    +tags: null
    +mentions: [
      "@Jozzo@lemmy.world"
    ]
    +children: Doctrine\ORM\PersistentCollection {#4131 …}
    +nested: Doctrine\ORM\PersistentCollection {#4129 …}
    +votes: Doctrine\ORM\PersistentCollection {#4127 …}
    +reports: Doctrine\ORM\PersistentCollection {#4125 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4093 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4097 …}
    -id: 345338
    -bodyTs: "'alreadi':20 'cool':3 'foundri':17 'licens':23 'look':2 'm':6 'reason':12 'sure':8 'use':14"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://incremental.social/m/selfhosted@lemmy.world/t/5334/-/comment/45981"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706382909 {#4078
      date: 2024-01-27 20:15:09.0 +01:00
    }
  }
  +root: App\Entity\EntryComment {#4133}
  +body: "You’re probably right, but it’s an alternative for people who don’t."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1706403912 {#4257
    date: 2024-01-28 02:05:12.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Jozzo@lemmy.world"
    "@thepaperpilot@incremental.social"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4260 …}
  +nested: Doctrine\ORM\PersistentCollection {#4264 …}
  +votes: Doctrine\ORM\PersistentCollection {#4266 …}
  +reports: Doctrine\ORM\PersistentCollection {#4267 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4269 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4271 …}
  -id: 346101
  -bodyTs: "'altern':9 'peopl':11 'probabl':3 're':2 'right':4"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7078831"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706403912 {#4254
    date: 2024-01-28 02:05:12.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
13 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
14 DENIED moderate
App\Entity\EntryComment {#4165
  +user: App\Entity\User {#4154 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "PlanarAlly-2024-1-Release"
    +title: "PlanarAlly 2024.1 Release!"
    +url: "https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1"
    +body: """
      For those that have never heard of it, PlanarAlly is an open-source self-hosted virtual tabletop (VTT) for TTRPG games. Here I’ve compiled the most important features/changes from their [blog post](https://www.planarally.io/blog/release-2024.1/). The full release notes are available on their GitHub: [github.com/Kruptein/PlanarAlly/releases/…/2024.1](https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1)\n
      \n
      Vision Blocking Update\n
      ----------------------\n
      \n
      A new vision blocking mode is introduced, called *behind*. It will accompany the existing vision mode which will be renamed to *complete*.\n
      \n
      When *behind* mode is active, the shape marked as vision blocking will be rendered as if it’s not a vision blocking shape, but everything behind it will be fully obscured. This will for example allow you to have a tree trunk that is vision blocking, but still show the players what they are looking at (i.e. a tree trunk).\n
      \n
      Notes Overhaul\n
      --------------\n
      \n
      There is no longer a difference between shape notes and campaign notes. Notes are now a single concept, can be attached to shapes and managed through a new UI element called the Note Manager.\n
      \n
      It’s now possible to share certain notes to other users with granular access rights, eg. you can give *view* access to all players when they retrieve an item, or give a particular player a private note that only they can *view* and *edit*.\n
      \n
      For a full overview of the new note system, check the [notes documentation](https://www.planarally.io/docs/game/notes/).\n
      \n
      Asset Drop Ratio\n
      ----------------\n
      \n
      Defines how assets should be scaled when dropped on the map. A drop ratio of 1 is the default, it means the asset will resize purely on it’s specified dimensions, eg. goblin_1x1 will take up 1 grid cell even if it represents 10ft, whereas a drop ratio of 0.5 will resize basilisk_2x2 to 1x1.\n
      \n
      > *Context: Previously, assets would auto scale when dropped onto the grid if they have a dimension in their name, eg. goblin_1x1 would fit exactly 1 grid cell, dragon_3x3 would be resized to 3 by 3 grid cells. This was using a method based on the 5ft-system to automatically adjust this when a location had a bigger size (eg. 10ft maps would automatically make goblin_2x2 fit in 1 cell). This however would break anything that wasn’t using the 5ft-system.*\n
      \n
      Dice History Improvements\n
      -------------------------\n
      \n
      The dice history will now show who rolled the dice (it was previously only shown on hover) and contains more details on the specific roll instead of only showing the final result.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729060583 {#2414
      date: 2024-10-16 08:36:23.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 33449
    -titleTs: "'2024.1':2 'planar':1 'releas':3"
    -bodyTs: "'/2024.1':51 '/blog/release-2024.1/).':38 '/docs/game/notes/).':235 '/kruptein/planarally/releases/':50 '/kruptein/planarally/releases/tag/2024.1)':54 '0.5':289 '1':254,276,321,367 '10ft':283,358 '1x1':272,295,317 '2x2':293,364 '3':330,332 '3x3':325 '5ft':344,380 '5ft-system':343,379 'access':189,196 'accompani':69 'activ':84 'adjust':348 'allow':115 'anyth':373 'asset':236,241,261,298 'attach':162 'auto':300 'automat':347,361 'avail':44 'base':340 'basilisk':292 'behind':66,81,105 'bigger':355 'block':56,61,90,101,125 'blog':34 'break':372 'call':65,172 'campaign':152 'cell':278,323,334,368 'certain':182 'check':229 'compil':27 'complet':79 'concept':159 'contain':403 'context':296 'default':257 'defin':239 'detail':405 'dice':382,386,394 'differ':147 'dimens':269,311 'document':232 'dragon':324 'drop':237,246,251,286,303 'edit':219 'eg':191,270,315,357 'element':171 'even':279 'everyth':104 'exact':320 'exampl':114 'exist':71 'features/changes':31 'final':415 'fit':319,365 'full':40,222 'fulli':109 'game':23 'github':47 'github.com':49,53 'github.com/kruptein/planarally/releases/':48 'github.com/kruptein/planarally/releases/tag/2024.1)':52 'give':194,206 'goblin':271,316,363 'granular':188 'grid':277,306,322,333 'heard':6 'histori':383,387 'host':17 'hover':401 'howev':370 'i.e':136 'import':30 'improv':384 'instead':410 'introduc':64 'item':204 'locat':352 'longer':145 'look':134 'make':362 'manag':166,175 'map':249,359 'mark':87 'mean':259 'method':339 'mode':62,73,82 'name':314 'never':5 'new':59,169,226 'note':42,140,150,153,154,174,183,212,227,231 'obscur':110 'onto':304 'open':13 'open-sourc':12 'overhaul':141 'overview':223 'particular':208 'planar':9 'player':130,199,209 'possibl':179 'post':35 'previous':297,397 'privat':211 'pure':264 'ratio':238,252,287 'releas':41 'renam':77 'render':93 'repres':282 'resiz':263,291,328 'result':416 'retriev':202 'right':190 'roll':392,409 'scale':244,301 'self':16 'self-host':15 'shape':86,102,149,164 'share':181 'show':128,390,413 'shown':399 'singl':158 'size':356 'sourc':14 'specif':408 'specifi':268 'still':127 'system':228,345,381 'tabletop':19 'take':274 'tree':120,138 'trunk':121,139 'ttrpg':22 'ui':170 'updat':57 'use':337,377 'user':186 've':26 'view':195,217 'virtual':18 'vision':55,60,72,89,100,124 'vtt':20 'wasn':375 'wherea':284 'would':299,318,326,360,371 'www.planarally.io':37,234 'www.planarally.io/blog/release-2024.1/).':36 'www.planarally.io/docs/game/notes/).':233"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706456482
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/11249384"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706370082 {#1793
      date: 2024-01-27 16:41:22.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Now this is fucking awesome! Trying this tonight!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 9
  +score: 0
  +lastActive: DateTime @1706372371 {#4171
    date: 2024-01-27 17:19:31.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Jozzo@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4170 …}
  +nested: Doctrine\ORM\PersistentCollection {#4169 …}
  +votes: Doctrine\ORM\PersistentCollection {#4160 …}
  +reports: Doctrine\ORM\PersistentCollection {#4163 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4158 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4156 …}
  -id: 344920
  -bodyTs: "'awesom':5 'fuck':4 'tonight':8 'tri':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7066278"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706372371 {#4176
    date: 2024-01-27 17:19:31.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
15 DENIED edit
App\Entity\EntryComment {#4165
  +user: App\Entity\User {#4154 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "PlanarAlly-2024-1-Release"
    +title: "PlanarAlly 2024.1 Release!"
    +url: "https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1"
    +body: """
      For those that have never heard of it, PlanarAlly is an open-source self-hosted virtual tabletop (VTT) for TTRPG games. Here I’ve compiled the most important features/changes from their [blog post](https://www.planarally.io/blog/release-2024.1/). The full release notes are available on their GitHub: [github.com/Kruptein/PlanarAlly/releases/…/2024.1](https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1)\n
      \n
      Vision Blocking Update\n
      ----------------------\n
      \n
      A new vision blocking mode is introduced, called *behind*. It will accompany the existing vision mode which will be renamed to *complete*.\n
      \n
      When *behind* mode is active, the shape marked as vision blocking will be rendered as if it’s not a vision blocking shape, but everything behind it will be fully obscured. This will for example allow you to have a tree trunk that is vision blocking, but still show the players what they are looking at (i.e. a tree trunk).\n
      \n
      Notes Overhaul\n
      --------------\n
      \n
      There is no longer a difference between shape notes and campaign notes. Notes are now a single concept, can be attached to shapes and managed through a new UI element called the Note Manager.\n
      \n
      It’s now possible to share certain notes to other users with granular access rights, eg. you can give *view* access to all players when they retrieve an item, or give a particular player a private note that only they can *view* and *edit*.\n
      \n
      For a full overview of the new note system, check the [notes documentation](https://www.planarally.io/docs/game/notes/).\n
      \n
      Asset Drop Ratio\n
      ----------------\n
      \n
      Defines how assets should be scaled when dropped on the map. A drop ratio of 1 is the default, it means the asset will resize purely on it’s specified dimensions, eg. goblin_1x1 will take up 1 grid cell even if it represents 10ft, whereas a drop ratio of 0.5 will resize basilisk_2x2 to 1x1.\n
      \n
      > *Context: Previously, assets would auto scale when dropped onto the grid if they have a dimension in their name, eg. goblin_1x1 would fit exactly 1 grid cell, dragon_3x3 would be resized to 3 by 3 grid cells. This was using a method based on the 5ft-system to automatically adjust this when a location had a bigger size (eg. 10ft maps would automatically make goblin_2x2 fit in 1 cell). This however would break anything that wasn’t using the 5ft-system.*\n
      \n
      Dice History Improvements\n
      -------------------------\n
      \n
      The dice history will now show who rolled the dice (it was previously only shown on hover) and contains more details on the specific roll instead of only showing the final result.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729060583 {#2414
      date: 2024-10-16 08:36:23.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 33449
    -titleTs: "'2024.1':2 'planar':1 'releas':3"
    -bodyTs: "'/2024.1':51 '/blog/release-2024.1/).':38 '/docs/game/notes/).':235 '/kruptein/planarally/releases/':50 '/kruptein/planarally/releases/tag/2024.1)':54 '0.5':289 '1':254,276,321,367 '10ft':283,358 '1x1':272,295,317 '2x2':293,364 '3':330,332 '3x3':325 '5ft':344,380 '5ft-system':343,379 'access':189,196 'accompani':69 'activ':84 'adjust':348 'allow':115 'anyth':373 'asset':236,241,261,298 'attach':162 'auto':300 'automat':347,361 'avail':44 'base':340 'basilisk':292 'behind':66,81,105 'bigger':355 'block':56,61,90,101,125 'blog':34 'break':372 'call':65,172 'campaign':152 'cell':278,323,334,368 'certain':182 'check':229 'compil':27 'complet':79 'concept':159 'contain':403 'context':296 'default':257 'defin':239 'detail':405 'dice':382,386,394 'differ':147 'dimens':269,311 'document':232 'dragon':324 'drop':237,246,251,286,303 'edit':219 'eg':191,270,315,357 'element':171 'even':279 'everyth':104 'exact':320 'exampl':114 'exist':71 'features/changes':31 'final':415 'fit':319,365 'full':40,222 'fulli':109 'game':23 'github':47 'github.com':49,53 'github.com/kruptein/planarally/releases/':48 'github.com/kruptein/planarally/releases/tag/2024.1)':52 'give':194,206 'goblin':271,316,363 'granular':188 'grid':277,306,322,333 'heard':6 'histori':383,387 'host':17 'hover':401 'howev':370 'i.e':136 'import':30 'improv':384 'instead':410 'introduc':64 'item':204 'locat':352 'longer':145 'look':134 'make':362 'manag':166,175 'map':249,359 'mark':87 'mean':259 'method':339 'mode':62,73,82 'name':314 'never':5 'new':59,169,226 'note':42,140,150,153,154,174,183,212,227,231 'obscur':110 'onto':304 'open':13 'open-sourc':12 'overhaul':141 'overview':223 'particular':208 'planar':9 'player':130,199,209 'possibl':179 'post':35 'previous':297,397 'privat':211 'pure':264 'ratio':238,252,287 'releas':41 'renam':77 'render':93 'repres':282 'resiz':263,291,328 'result':416 'retriev':202 'right':190 'roll':392,409 'scale':244,301 'self':16 'self-host':15 'shape':86,102,149,164 'share':181 'show':128,390,413 'shown':399 'singl':158 'size':356 'sourc':14 'specif':408 'specifi':268 'still':127 'system':228,345,381 'tabletop':19 'take':274 'tree':120,138 'trunk':121,139 'ttrpg':22 'ui':170 'updat':57 'use':337,377 'user':186 've':26 'view':195,217 'virtual':18 'vision':55,60,72,89,100,124 'vtt':20 'wasn':375 'wherea':284 'would':299,318,326,360,371 'www.planarally.io':37,234 'www.planarally.io/blog/release-2024.1/).':36 'www.planarally.io/docs/game/notes/).':233"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706456482
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/11249384"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706370082 {#1793
      date: 2024-01-27 16:41:22.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Now this is fucking awesome! Trying this tonight!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 9
  +score: 0
  +lastActive: DateTime @1706372371 {#4171
    date: 2024-01-27 17:19:31.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Jozzo@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4170 …}
  +nested: Doctrine\ORM\PersistentCollection {#4169 …}
  +votes: Doctrine\ORM\PersistentCollection {#4160 …}
  +reports: Doctrine\ORM\PersistentCollection {#4163 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4158 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4156 …}
  -id: 344920
  -bodyTs: "'awesom':5 'fuck':4 'tonight':8 'tri':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7066278"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706372371 {#4176
    date: 2024-01-27 17:19:31.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
16 DENIED moderate
App\Entity\EntryComment {#4165
  +user: App\Entity\User {#4154 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "selfhosted@lemmy.world"
      +title: "selfhosted"
      +description: """
        A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
        \n
        Rules:\n
        \n
        - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
        - No spam posting.\n
        - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
        - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
        - No trolling.\n
        \n
        Resources:\n
        \n
        - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
        - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
        - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
        \n
        > Any issues on the community? Report it using the report flag.\n
        \n
        > Questions? DM the mods!
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 222
      +entryCommentCount: 3916
      +postCount: 0
      +postCommentCount: 0
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729582735 {#275
        date: 2024-10-22 09:38:55.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 120
      +apId: "selfhosted@lemmy.world"
      +apProfileId: "https://lemmy.world/c/selfhosted"
      +apPublicUrl: "https://lemmy.world/c/selfhosted"
      +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
      +apInboxUrl: "https://lemmy.world/inbox"
      +apDomain: "lemmy.world"
      +apPreferredUsername: "selfhosted"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1703473826 {#269
        date: 2023-12-25 04:10:26.0 +01:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1703473826 {#271
        date: 2023-12-25 04:10:26.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "PlanarAlly-2024-1-Release"
    +title: "PlanarAlly 2024.1 Release!"
    +url: "https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1"
    +body: """
      For those that have never heard of it, PlanarAlly is an open-source self-hosted virtual tabletop (VTT) for TTRPG games. Here I’ve compiled the most important features/changes from their [blog post](https://www.planarally.io/blog/release-2024.1/). The full release notes are available on their GitHub: [github.com/Kruptein/PlanarAlly/releases/…/2024.1](https://github.com/Kruptein/PlanarAlly/releases/tag/2024.1)\n
      \n
      Vision Blocking Update\n
      ----------------------\n
      \n
      A new vision blocking mode is introduced, called *behind*. It will accompany the existing vision mode which will be renamed to *complete*.\n
      \n
      When *behind* mode is active, the shape marked as vision blocking will be rendered as if it’s not a vision blocking shape, but everything behind it will be fully obscured. This will for example allow you to have a tree trunk that is vision blocking, but still show the players what they are looking at (i.e. a tree trunk).\n
      \n
      Notes Overhaul\n
      --------------\n
      \n
      There is no longer a difference between shape notes and campaign notes. Notes are now a single concept, can be attached to shapes and managed through a new UI element called the Note Manager.\n
      \n
      It’s now possible to share certain notes to other users with granular access rights, eg. you can give *view* access to all players when they retrieve an item, or give a particular player a private note that only they can *view* and *edit*.\n
      \n
      For a full overview of the new note system, check the [notes documentation](https://www.planarally.io/docs/game/notes/).\n
      \n
      Asset Drop Ratio\n
      ----------------\n
      \n
      Defines how assets should be scaled when dropped on the map. A drop ratio of 1 is the default, it means the asset will resize purely on it’s specified dimensions, eg. goblin_1x1 will take up 1 grid cell even if it represents 10ft, whereas a drop ratio of 0.5 will resize basilisk_2x2 to 1x1.\n
      \n
      > *Context: Previously, assets would auto scale when dropped onto the grid if they have a dimension in their name, eg. goblin_1x1 would fit exactly 1 grid cell, dragon_3x3 would be resized to 3 by 3 grid cells. This was using a method based on the 5ft-system to automatically adjust this when a location had a bigger size (eg. 10ft maps would automatically make goblin_2x2 fit in 1 cell). This however would break anything that wasn’t using the 5ft-system.*\n
      \n
      Dice History Improvements\n
      -------------------------\n
      \n
      The dice history will now show who rolled the dice (it was previously only shown on hover) and contains more details on the specific roll instead of only showing the final result.
      """
    +type: "link"
    +lang: "en"
    +isOc: false
    +hasEmbed: false
    +commentCount: 3
    +favouriteCount: 47
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1729060583 {#2414
      date: 2024-10-16 08:36:23.0 +02:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 33449
    -titleTs: "'2024.1':2 'planar':1 'releas':3"
    -bodyTs: "'/2024.1':51 '/blog/release-2024.1/).':38 '/docs/game/notes/).':235 '/kruptein/planarally/releases/':50 '/kruptein/planarally/releases/tag/2024.1)':54 '0.5':289 '1':254,276,321,367 '10ft':283,358 '1x1':272,295,317 '2x2':293,364 '3':330,332 '3x3':325 '5ft':344,380 '5ft-system':343,379 'access':189,196 'accompani':69 'activ':84 'adjust':348 'allow':115 'anyth':373 'asset':236,241,261,298 'attach':162 'auto':300 'automat':347,361 'avail':44 'base':340 'basilisk':292 'behind':66,81,105 'bigger':355 'block':56,61,90,101,125 'blog':34 'break':372 'call':65,172 'campaign':152 'cell':278,323,334,368 'certain':182 'check':229 'compil':27 'complet':79 'concept':159 'contain':403 'context':296 'default':257 'defin':239 'detail':405 'dice':382,386,394 'differ':147 'dimens':269,311 'document':232 'dragon':324 'drop':237,246,251,286,303 'edit':219 'eg':191,270,315,357 'element':171 'even':279 'everyth':104 'exact':320 'exampl':114 'exist':71 'features/changes':31 'final':415 'fit':319,365 'full':40,222 'fulli':109 'game':23 'github':47 'github.com':49,53 'github.com/kruptein/planarally/releases/':48 'github.com/kruptein/planarally/releases/tag/2024.1)':52 'give':194,206 'goblin':271,316,363 'granular':188 'grid':277,306,322,333 'heard':6 'histori':383,387 'host':17 'hover':401 'howev':370 'i.e':136 'import':30 'improv':384 'instead':410 'introduc':64 'item':204 'locat':352 'longer':145 'look':134 'make':362 'manag':166,175 'map':249,359 'mark':87 'mean':259 'method':339 'mode':62,73,82 'name':314 'never':5 'new':59,169,226 'note':42,140,150,153,154,174,183,212,227,231 'obscur':110 'onto':304 'open':13 'open-sourc':12 'overhaul':141 'overview':223 'particular':208 'planar':9 'player':130,199,209 'possibl':179 'post':35 'previous':297,397 'privat':211 'pure':264 'ratio':238,252,287 'releas':41 'renam':77 'render':93 'repres':282 'resiz':263,291,328 'result':416 'retriev':202 'right':190 'roll':392,409 'scale':244,301 'self':16 'self-host':15 'shape':86,102,149,164 'share':181 'show':128,390,413 'shown':399 'singl':158 'size':356 'sourc':14 'specif':408 'specifi':268 'still':127 'system':228,345,381 'tabletop':19 'take':274 'tree':120,138 'trunk':121,139 'ttrpg':22 'ui':170 'updat':57 'use':337,377 'user':186 've':26 'view':195,217 'virtual':18 'vision':55,60,72,89,100,124 'vtt':20 'wasn':375 'wherea':284 'would':299,318,326,360,371 'www.planarally.io':37,234 'www.planarally.io/blog/release-2024.1/).':36 'www.planarally.io/docs/game/notes/).':233"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1706456482
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/11249384"
    +editedAt: null
    +createdAt: DateTimeImmutable @1706370082 {#1793
      date: 2024-01-27 16:41:22.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Now this is fucking awesome! Trying this tonight!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 9
  +score: 0
  +lastActive: DateTime @1706372371 {#4171
    date: 2024-01-27 17:19:31.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@Jozzo@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4170 …}
  +nested: Doctrine\ORM\PersistentCollection {#4169 …}
  +votes: Doctrine\ORM\PersistentCollection {#4160 …}
  +reports: Doctrine\ORM\PersistentCollection {#4163 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4158 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4156 …}
  -id: 344920
  -bodyTs: "'awesom':5 'fuck':4 'tonight':8 'tri':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/7066278"
  +editedAt: null
  +createdAt: DateTimeImmutable @1706372371 {#4176
    date: 2024-01-27 17:19:31.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
17 DENIED edit
App\Entity\Magazine {#265
  +icon: Proxies\__CG__\App\Entity\Image {#246 …}
  +name: "selfhosted@lemmy.world"
  +title: "selfhosted"
  +description: """
    A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.\n
    \n
    Rules:\n
    \n
    - Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.\n
    - No spam posting.\n
    - Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.\n
    - Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).\n
    - No trolling.\n
    \n
    Resources:\n
    \n
    - [awesome-selfhosted software](https://github.com/awesome-selfhosted/awesome-selfhosted)\n
    - [awesome-sysadmin](https://github.com/awesome-foss/awesome-sysadmin) resources\n
    - [Self-Hosted Podcast from Jupiter Broadcasting](https://selfhosted.show)\n
    \n
    > Any issues on the community? Report it using the report flag.\n
    \n
    > Questions? DM the mods!
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 222
  +entryCommentCount: 3916
  +postCount: 0
  +postCommentCount: 0
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729582735 {#275
    date: 2024-10-22 09:38:55.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#237 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
  +entries: Doctrine\ORM\PersistentCollection {#180 …}
  +posts: Doctrine\ORM\PersistentCollection {#138 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
  +bans: Doctrine\ORM\PersistentCollection {#117 …}
  +reports: Doctrine\ORM\PersistentCollection {#103 …}
  +badges: Doctrine\ORM\PersistentCollection {#81 …}
  +logs: Doctrine\ORM\PersistentCollection {#71 …}
  +awards: Doctrine\ORM\PersistentCollection {#1346 …}
  +categories: Doctrine\ORM\PersistentCollection {#1823 …}
  -id: 120
  +apId: "selfhosted@lemmy.world"
  +apProfileId: "https://lemmy.world/c/selfhosted"
  +apPublicUrl: "https://lemmy.world/c/selfhosted"
  +apFollowersUrl: "https://lemmy.world/c/selfhosted/followers"
  +apInboxUrl: "https://lemmy.world/inbox"
  +apDomain: "lemmy.world"
  +apPreferredUsername: "selfhosted"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1703473826 {#269
    date: 2023-12-25 04:10:26.0 +01:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1703473826 {#271
    date: 2023-12-25 04:10:26.0 +01: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