Components

20 Twig Components
45 Render Count
149 ms Render Time
16.0 MiB Memory Usage

Components

Name Metadata Render Count Render Time
settings_row_switch
"App\Twig\Components\SettingsRowSwitchComponent"
components/_settings_row_switch.html.twig
15 2.97ms
date
"App\Twig\Components\DateComponent"
components/date.html.twig
6 1.25ms
user_settings_row_switch
"App\Twig\Components\UserSettingsRowSwitchComponent"
components/_user_settings_row_switch.html.twig
4 1.02ms
user_inline
"App\Twig\Components\UserInlineComponent"
components/user_inline.html.twig
2 30.86ms
user_avatar
"App\Twig\Components\UserAvatarComponent"
components/user_avatar.html.twig
2 7.35ms
settings_row_enum
"App\Twig\Components\SettingsRowEnumComponent"
components/_settings_row_enum.html.twig
2 0.46ms
entry_comment
"App\Twig\Components\EntryCommentComponent"
components/entry_comment.html.twig
1 58.62ms
date_edited
"App\Twig\Components\DateEditedComponent"
components/date_edited.html.twig
1 0.23ms
vote
"App\Twig\Components\VoteComponent"
components/vote.html.twig
1 0.61ms
boost
"App\Twig\Components\BoostComponent"
components/boost.html.twig
1 1.23ms
user_actions
"App\Twig\Components\UserActionsComponent"
components/user_actions.html.twig
1 0.72ms
magazine_box
"App\Twig\Components\MagazineBoxComponent"
components/magazine_box.html.twig
1 25.20ms
magazine_sub
"App\Twig\Components\MagazineSubComponent"
components/magazine_sub.html.twig
1 0.65ms
related_magazines
"App\Twig\Components\RelatedMagazinesComponent"
components/_cached.html.twig
1 2.60ms
active_users
"App\Twig\Components\ActiveUsersComponent"
components/_cached.html.twig
1 7.21ms
related_categories
"App\Twig\Components\RelatedCategoriesComponent"
components/_cached.html.twig
1 11.15ms
related_posts
"App\Twig\Components\RelatedPostsComponent"
components/_cached.html.twig
1 12.59ms
related_entries
"App\Twig\Components\RelatedEntriesComponent"
components/_cached.html.twig
1 4.31ms
support_us_block
"App\Twig\Components\SupportUsBlock"
components/_cached.html.twig
1 2.31ms
featured_magazines
"App\Twig\Components\FeaturedMagazinesComponent"
components/_cached.html.twig
1 12.75ms

Render calls

entry_comment App\Twig\Components\EntryCommentComponent 16.0 MiB 58.62 ms
Input props
[
  "comment" => App\Entity\EntryComment {#1374
    +user: Proxies\__CG__\App\Entity\User {#1370
      +avatar: Proxies\__CG__\App\Entity\Image {#2467 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2471 …}
      +email: "aard@kyu.de"
      +username: "@aard@kyu.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728279043 {#2468
        date: 2024-10-07 07:30:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2371 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2370 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2360 …}
      +entries: Doctrine\ORM\PersistentCollection {#2361 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2372 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2386 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2385 …}
      +posts: Doctrine\ORM\PersistentCollection {#2378 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1883 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1403 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2083 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1384 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2080 …}
      +follows: Doctrine\ORM\PersistentCollection {#2088 …}
      +followers: Doctrine\ORM\PersistentCollection {#2098 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2351 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2350 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2326 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2329 …}
      +reports: Doctrine\ORM\PersistentCollection {#2347 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2340 …}
      +violations: Doctrine\ORM\PersistentCollection {#2339 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2159 …}
      +awards: Doctrine\ORM\PersistentCollection {#2341 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2065 …}
      +categories: Doctrine\ORM\PersistentCollection {#2045 …}
      -id: 35299
      -password: "$2y$13$FItg78.ydeF8sZHWgp8ZduWbtwIvwBxS20xMncvu3m.TVDQjpr2c6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2104 …}
      +apId: "aard@kyu.de"
      +apProfileId: "https://kyu.de/u/aard"
      +apPublicUrl: "https://kyu.de/u/aard"
      +apFollowersUrl: null
      +apInboxUrl: "https://kyu.de/inbox"
      +apDomain: "kyu.de"
      +apPreferredUsername: "aard"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719151062 {#2470
        date: 2024-06-23 15:57:42.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1690441364 {#2469
        date: 2023-07-27 09:02:44.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#1856 …}
    +magazine: App\Entity\Magazine {#312
      +icon: Proxies\__CG__\App\Entity\Image {#293 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#320
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#284 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
      +entries: Doctrine\ORM\PersistentCollection {#227 …}
      +posts: Doctrine\ORM\PersistentCollection {#185 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
      +bans: Doctrine\ORM\PersistentCollection {#164 …}
      +reports: Doctrine\ORM\PersistentCollection {#150 …}
      +badges: Doctrine\ORM\PersistentCollection {#128 …}
      +logs: Doctrine\ORM\PersistentCollection {#118 …}
      +awards: Doctrine\ORM\PersistentCollection {#107 …}
      +categories: Doctrine\ORM\PersistentCollection {#94 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#321
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#315
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
    +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
    +body: """
      I assume you mean “lookup”, as import doesn’t really make much sense.\n
      \n
      I’m currently using this with wofi, though I’ll eventually rewrite it as anyrun plugin, which provides a bit more control:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">#!/usr/bin/env python3\n
      </span><span style="color:#323232;">from argparse import ArgumentParser\n
      </span><span style="color:#323232;">import subprocess\n
      </span><span style="color:#323232;">import json\n
      </span><span style="color:#323232;">import os\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">ssh_config_file = "~/.ssh/config"\n
      </span><span style="color:#323232;">ssh_known_hosts_file = "~/.ssh/known_hosts"\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Returns a list of all hosts\n
      </span><span style="color:#323232;">def get_hosts():\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    hosts = []\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    with open(os.path.expanduser(ssh_config_file)) as f:\n
      </span><span style="color:#323232;">        content = f.readlines()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    for line in content:\n
      </span><span style="color:#323232;">        line = line.lstrip()\n
      </span><span style="color:#323232;">        # Ignore wildcards\n
      </span><span style="color:#323232;">        if line.startswith('Host ') and not '*' in line:\n
      </span><span style="color:#323232;">            for host in line.split()[1:]:\n
      </span><span style="color:#323232;">                hosts.append(host)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    # Removes duplicate entries\n
      </span><span style="color:#323232;">    hosts = sorted(set(hosts))\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    return hosts\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">def get_known_hosts():\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    hosts = []\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    with open(os.path.expanduser(ssh_known_hosts_file)) as f:\n
      </span><span style="color:#323232;">        content = f.readlines()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    for line in content:\n
      </span><span style="color:#323232;">        line = line.lstrip()\n
      </span><span style="color:#323232;">        host_entry = line.partition(" ")[0]\n
      </span><span style="color:#323232;">        hosts.append(host_entry.partition(",")[0])\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    # Removes duplicate entries\n
      </span><span style="color:#323232;">    hosts = sorted(set(hosts))\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    return hosts\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Returns a newline seperated UFT-8 encoded string of all ssh hosts\n
      </span><span style="color:#323232;">def parse_hosts(hosts):\n
      </span><span style="color:#323232;">    return "n".join(hosts).encode("UTF-8")\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Executes wofi with the given input string\n
      </span><span style="color:#323232;">def show_wofi(command, hosts):\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    process = subprocess.Popen(command,shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE)\n
      </span><span style="color:#323232;">    ret = process.communicate(input=hosts)\n
      </span><span style="color:#323232;">    host, rest = ret\n
      </span><span style="color:#323232;">    return host\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Switches the focus to the given id\n
      </span><span style="color:#323232;">def ssh_to_host(host, terminal, ssh_command):\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if "]:" in host:\n
      </span><span style="color:#323232;">        host, port = host[1:].split("]:")\n
      </span><span style="color:#323232;">        command = "{terminal} '{ssh_command} {host} -p {port}'".format(terminal=terminal, ssh_command=ssh_command, host=host, port=port)\n
      </span><span style="color:#323232;">    else:\n
      </span><span style="color:#323232;">        command = "{terminal} '{ssh_command} {host}'".format(terminal=terminal, ssh_command=ssh_command, host=host)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    process = subprocess.Popen(command,shell=True)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Entry point\n
      </span><span style="color:#323232;">if __name__ == "__main__":\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    parser = ArgumentParser(description="Wofi based ssh launcher")\n
      </span><span style="color:#323232;">    parser.add_argument("terminal", help='Terminal command to use')\n
      </span><span style="color:#323232;">    parser.add_argument("--ssh-command", dest='ssh_command', default='ssh', help='ssh command to use (default=ssh)')\n
      </span><span style="color:#323232;">    parser.add_argument("--mode", dest='mode', default='known_hosts', help='where to read from (default=known_hosts)')\n
      </span><span style="color:#323232;">    parser.add_argument("--command", default='wofi -p "SSH hosts: " -d -i --hide-scroll', help='launcher command to use')\n
      </span><span style="color:#323232;">    args = parser.parse_args()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if (args.mode == "config"):\n
      </span><span style="color:#323232;">        hosts = get_hosts()\n
      </span><span style="color:#323232;">    elif (args.mode == "known_hosts"):\n
      </span><span style="color:#323232;">        hosts = get_known_hosts()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    parsed_hosts = parse_hosts(hosts)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    selected = show_wofi(args.command, parsed_hosts)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    selected_host = selected.decode('utf-8').rstrip()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if selected_host != "":\n
      </span><span style="color:#323232;">        ssh_to_host(selected_host, args.terminal, args.ssh_command)\n
      </span>\n
      ```
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1699900856 {#1769
      date: 2023-11-13 19:40:56.0 +01:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@Oha@lemmy.ohaa.xyz"
      "@heartsofwar@lemmy.world"
      "@aard@kyu.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2466 …}
    +nested: Doctrine\ORM\PersistentCollection {#2288 …}
    +votes: Doctrine\ORM\PersistentCollection {#2446 …}
    +reports: Doctrine\ORM\PersistentCollection {#2439 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
    +notifications: Doctrine\ORM\PersistentCollection {#60 …}
    -id: 120575
    -bodyTs: "'-8':151,168,363 '/.ssh/config':51 '/.ssh/known_hosts':56 '/usr/bin/env':36 '0':133,136 '1':96,220 'anyrun':28 'arg':331,333 'argpars':39 'args.command':356 'args.mode':335,341 'args.ssh':374 'args.terminal':373 'argument':273,281,298,314 'argumentpars':41,266 'assum':2 'base':269 'bit':33 'command':179,183,213,222,225,233,235,241,244,250,252,257,277,284,287,292,315,328,375 'config':49,71,336 'content':75,80,122,127 'control':35 'current':16 'd':321 'def':63,108,158,176,206 'default':288,295,302,310,316 'descript':267 'dest':285,300 'doesn':8 'duplic':100,138 'elif':340 'els':240 'encod':152,166 'entri':101,131,139,260 'eventu':24 'execut':169 'f':74,121 'f.readlines':76,123 'file':50,55,72,119 'focus':201 'format':229,246 'get':64,109,338,345 'given':173,204 'help':275,290,305,326 'hide':324 'hide-scrol':323 'host':54,62,65,66,87,93,98,102,105,107,111,112,118,130,140,143,145,157,160,161,165,180,193,194,198,209,210,216,217,219,226,236,237,245,253,254,304,312,320,337,339,343,344,347,349,351,352,358,360,367,370,372 'host_entry.partition':135 'hosts.append':97,134 'id':205 'ignor':83 'import':7,40,42,44,46 'input':174,192 'join':164 'json':45 'known':53,110,117,303,311,342,346 'launcher':271,327 'line':78,81,91,125,128 'line.lstrip':82,129 'line.partition':132 'line.split':95 'line.startswith':86 'list':59 'll':23 'lookup':5 'm':15 'main':264 'make':11 'mean':4 'mode':299,301 'much':12 'n':163 'name':263 'newlin':148 'open':68,114 'os':47 'os.path.expanduser':69,115 'p':227,318 'pars':159,348,350,357 'parser':265 'parser.add':272,280,297,313 'parser.parse':332 'plugin':29 'point':261 'port':218,228,238,239 'process':181,255 'process.communicate':191 'provid':31 'python3':37 'read':308 'realli':10 'remov':99,137 'rest':195 'ret':190,196 'return':57,106,144,146,162,197 'rewrit':25 'rstrip':364 'scroll':325 'select':353,359,366,371 'selected.decode':361 'sens':13 'seper':149 'set':104,142 'shell':184,258 'show':177,354 'sort':103,141 'split':221 'ssh':48,52,70,116,156,207,212,224,232,234,243,249,251,270,283,286,289,291,296,319,368 'ssh-command':282 'stdin':186 'stdout':188 'string':153,175 'subprocess':43 'subprocess.pipe':187,189 'subprocess.popen':182,256 'switch':199 'termin':211,223,230,231,242,247,248,274,276 'though':21 'true':185,259 'uft':150 'use':17,279,294,330 'utf':167,362 'wildcard':84 'wofi':20,170,178,268,317,355"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kyu.de/comment/2226561"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699900856 {#1969
      date: 2023-11-13 19:40:56.0 +01:00
    }
  }
  "showEntryTitle" => false
  "showMagazineName" => false
]
Attributes
[]
Component
App\Twig\Components\EntryCommentComponent {#1709
  +comment: App\Entity\EntryComment {#1374
    +user: Proxies\__CG__\App\Entity\User {#1370
      +avatar: Proxies\__CG__\App\Entity\Image {#2467 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2471 …}
      +email: "aard@kyu.de"
      +username: "@aard@kyu.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728279043 {#2468
        date: 2024-10-07 07:30:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2371 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2370 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2360 …}
      +entries: Doctrine\ORM\PersistentCollection {#2361 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2372 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2386 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2385 …}
      +posts: Doctrine\ORM\PersistentCollection {#2378 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1883 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1403 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2083 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1384 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2080 …}
      +follows: Doctrine\ORM\PersistentCollection {#2088 …}
      +followers: Doctrine\ORM\PersistentCollection {#2098 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2351 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2350 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2326 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2329 …}
      +reports: Doctrine\ORM\PersistentCollection {#2347 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2340 …}
      +violations: Doctrine\ORM\PersistentCollection {#2339 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2159 …}
      +awards: Doctrine\ORM\PersistentCollection {#2341 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2065 …}
      +categories: Doctrine\ORM\PersistentCollection {#2045 …}
      -id: 35299
      -password: "$2y$13$FItg78.ydeF8sZHWgp8ZduWbtwIvwBxS20xMncvu3m.TVDQjpr2c6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2104 …}
      +apId: "aard@kyu.de"
      +apProfileId: "https://kyu.de/u/aard"
      +apPublicUrl: "https://kyu.de/u/aard"
      +apFollowersUrl: null
      +apInboxUrl: "https://kyu.de/inbox"
      +apDomain: "kyu.de"
      +apPreferredUsername: "aard"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719151062 {#2470
        date: 2024-06-23 15:57:42.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1690441364 {#2469
        date: 2023-07-27 09:02:44.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#1856 …}
    +magazine: App\Entity\Magazine {#312
      +icon: Proxies\__CG__\App\Entity\Image {#293 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#320
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#284 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
      +entries: Doctrine\ORM\PersistentCollection {#227 …}
      +posts: Doctrine\ORM\PersistentCollection {#185 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
      +bans: Doctrine\ORM\PersistentCollection {#164 …}
      +reports: Doctrine\ORM\PersistentCollection {#150 …}
      +badges: Doctrine\ORM\PersistentCollection {#128 …}
      +logs: Doctrine\ORM\PersistentCollection {#118 …}
      +awards: Doctrine\ORM\PersistentCollection {#107 …}
      +categories: Doctrine\ORM\PersistentCollection {#94 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#321
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#315
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
    +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
    +body: """
      I assume you mean “lookup”, as import doesn’t really make much sense.\n
      \n
      I’m currently using this with wofi, though I’ll eventually rewrite it as anyrun plugin, which provides a bit more control:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">#!/usr/bin/env python3\n
      </span><span style="color:#323232;">from argparse import ArgumentParser\n
      </span><span style="color:#323232;">import subprocess\n
      </span><span style="color:#323232;">import json\n
      </span><span style="color:#323232;">import os\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">ssh_config_file = "~/.ssh/config"\n
      </span><span style="color:#323232;">ssh_known_hosts_file = "~/.ssh/known_hosts"\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Returns a list of all hosts\n
      </span><span style="color:#323232;">def get_hosts():\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    hosts = []\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    with open(os.path.expanduser(ssh_config_file)) as f:\n
      </span><span style="color:#323232;">        content = f.readlines()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    for line in content:\n
      </span><span style="color:#323232;">        line = line.lstrip()\n
      </span><span style="color:#323232;">        # Ignore wildcards\n
      </span><span style="color:#323232;">        if line.startswith('Host ') and not '*' in line:\n
      </span><span style="color:#323232;">            for host in line.split()[1:]:\n
      </span><span style="color:#323232;">                hosts.append(host)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    # Removes duplicate entries\n
      </span><span style="color:#323232;">    hosts = sorted(set(hosts))\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    return hosts\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">def get_known_hosts():\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    hosts = []\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    with open(os.path.expanduser(ssh_known_hosts_file)) as f:\n
      </span><span style="color:#323232;">        content = f.readlines()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    for line in content:\n
      </span><span style="color:#323232;">        line = line.lstrip()\n
      </span><span style="color:#323232;">        host_entry = line.partition(" ")[0]\n
      </span><span style="color:#323232;">        hosts.append(host_entry.partition(",")[0])\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    # Removes duplicate entries\n
      </span><span style="color:#323232;">    hosts = sorted(set(hosts))\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    return hosts\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Returns a newline seperated UFT-8 encoded string of all ssh hosts\n
      </span><span style="color:#323232;">def parse_hosts(hosts):\n
      </span><span style="color:#323232;">    return "n".join(hosts).encode("UTF-8")\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Executes wofi with the given input string\n
      </span><span style="color:#323232;">def show_wofi(command, hosts):\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    process = subprocess.Popen(command,shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE)\n
      </span><span style="color:#323232;">    ret = process.communicate(input=hosts)\n
      </span><span style="color:#323232;">    host, rest = ret\n
      </span><span style="color:#323232;">    return host\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Switches the focus to the given id\n
      </span><span style="color:#323232;">def ssh_to_host(host, terminal, ssh_command):\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if "]:" in host:\n
      </span><span style="color:#323232;">        host, port = host[1:].split("]:")\n
      </span><span style="color:#323232;">        command = "{terminal} '{ssh_command} {host} -p {port}'".format(terminal=terminal, ssh_command=ssh_command, host=host, port=port)\n
      </span><span style="color:#323232;">    else:\n
      </span><span style="color:#323232;">        command = "{terminal} '{ssh_command} {host}'".format(terminal=terminal, ssh_command=ssh_command, host=host)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    process = subprocess.Popen(command,shell=True)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Entry point\n
      </span><span style="color:#323232;">if __name__ == "__main__":\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    parser = ArgumentParser(description="Wofi based ssh launcher")\n
      </span><span style="color:#323232;">    parser.add_argument("terminal", help='Terminal command to use')\n
      </span><span style="color:#323232;">    parser.add_argument("--ssh-command", dest='ssh_command', default='ssh', help='ssh command to use (default=ssh)')\n
      </span><span style="color:#323232;">    parser.add_argument("--mode", dest='mode', default='known_hosts', help='where to read from (default=known_hosts)')\n
      </span><span style="color:#323232;">    parser.add_argument("--command", default='wofi -p "SSH hosts: " -d -i --hide-scroll', help='launcher command to use')\n
      </span><span style="color:#323232;">    args = parser.parse_args()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if (args.mode == "config"):\n
      </span><span style="color:#323232;">        hosts = get_hosts()\n
      </span><span style="color:#323232;">    elif (args.mode == "known_hosts"):\n
      </span><span style="color:#323232;">        hosts = get_known_hosts()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    parsed_hosts = parse_hosts(hosts)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    selected = show_wofi(args.command, parsed_hosts)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    selected_host = selected.decode('utf-8').rstrip()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if selected_host != "":\n
      </span><span style="color:#323232;">        ssh_to_host(selected_host, args.terminal, args.ssh_command)\n
      </span>\n
      ```
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1699900856 {#1769
      date: 2023-11-13 19:40:56.0 +01:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@Oha@lemmy.ohaa.xyz"
      "@heartsofwar@lemmy.world"
      "@aard@kyu.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2466 …}
    +nested: Doctrine\ORM\PersistentCollection {#2288 …}
    +votes: Doctrine\ORM\PersistentCollection {#2446 …}
    +reports: Doctrine\ORM\PersistentCollection {#2439 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
    +notifications: Doctrine\ORM\PersistentCollection {#60 …}
    -id: 120575
    -bodyTs: "'-8':151,168,363 '/.ssh/config':51 '/.ssh/known_hosts':56 '/usr/bin/env':36 '0':133,136 '1':96,220 'anyrun':28 'arg':331,333 'argpars':39 'args.command':356 'args.mode':335,341 'args.ssh':374 'args.terminal':373 'argument':273,281,298,314 'argumentpars':41,266 'assum':2 'base':269 'bit':33 'command':179,183,213,222,225,233,235,241,244,250,252,257,277,284,287,292,315,328,375 'config':49,71,336 'content':75,80,122,127 'control':35 'current':16 'd':321 'def':63,108,158,176,206 'default':288,295,302,310,316 'descript':267 'dest':285,300 'doesn':8 'duplic':100,138 'elif':340 'els':240 'encod':152,166 'entri':101,131,139,260 'eventu':24 'execut':169 'f':74,121 'f.readlines':76,123 'file':50,55,72,119 'focus':201 'format':229,246 'get':64,109,338,345 'given':173,204 'help':275,290,305,326 'hide':324 'hide-scrol':323 'host':54,62,65,66,87,93,98,102,105,107,111,112,118,130,140,143,145,157,160,161,165,180,193,194,198,209,210,216,217,219,226,236,237,245,253,254,304,312,320,337,339,343,344,347,349,351,352,358,360,367,370,372 'host_entry.partition':135 'hosts.append':97,134 'id':205 'ignor':83 'import':7,40,42,44,46 'input':174,192 'join':164 'json':45 'known':53,110,117,303,311,342,346 'launcher':271,327 'line':78,81,91,125,128 'line.lstrip':82,129 'line.partition':132 'line.split':95 'line.startswith':86 'list':59 'll':23 'lookup':5 'm':15 'main':264 'make':11 'mean':4 'mode':299,301 'much':12 'n':163 'name':263 'newlin':148 'open':68,114 'os':47 'os.path.expanduser':69,115 'p':227,318 'pars':159,348,350,357 'parser':265 'parser.add':272,280,297,313 'parser.parse':332 'plugin':29 'point':261 'port':218,228,238,239 'process':181,255 'process.communicate':191 'provid':31 'python3':37 'read':308 'realli':10 'remov':99,137 'rest':195 'ret':190,196 'return':57,106,144,146,162,197 'rewrit':25 'rstrip':364 'scroll':325 'select':353,359,366,371 'selected.decode':361 'sens':13 'seper':149 'set':104,142 'shell':184,258 'show':177,354 'sort':103,141 'split':221 'ssh':48,52,70,116,156,207,212,224,232,234,243,249,251,270,283,286,289,291,296,319,368 'ssh-command':282 'stdin':186 'stdout':188 'string':153,175 'subprocess':43 'subprocess.pipe':187,189 'subprocess.popen':182,256 'switch':199 'termin':211,223,230,231,242,247,248,274,276 'though':21 'true':185,259 'uft':150 'use':17,279,294,330 'utf':167,362 'wildcard':84 'wofi':20,170,178,268,317,355"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kyu.de/comment/2226561"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699900856 {#1969
      date: 2023-11-13 19:40:56.0 +01:00
    }
  }
  +showMagazineName: false
  +showEntryTitle: false
  +showNested: false
  +level: 1
  +canSeeTrash: false
  +dateAsUrl: false
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -authorizationChecker: Symfony\Component\Security\Core\Authorization\AuthorizationChecker {#931 …}
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 25.98 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1370
    +avatar: Proxies\__CG__\App\Entity\Image {#2467 …}
    +cover: Proxies\__CG__\App\Entity\Image {#2471 …}
    +email: "aard@kyu.de"
    +username: "@aard@kyu.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1728279043 {#2468
      date: 2024-10-07 07:30:43.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2371 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2370 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2360 …}
    +entries: Doctrine\ORM\PersistentCollection {#2361 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2372 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2386 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2385 …}
    +posts: Doctrine\ORM\PersistentCollection {#2378 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1883 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1403 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2083 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1384 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2080 …}
    +follows: Doctrine\ORM\PersistentCollection {#2088 …}
    +followers: Doctrine\ORM\PersistentCollection {#2098 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2351 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2350 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2326 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2329 …}
    +reports: Doctrine\ORM\PersistentCollection {#2347 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2340 …}
    +violations: Doctrine\ORM\PersistentCollection {#2339 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2159 …}
    +awards: Doctrine\ORM\PersistentCollection {#2341 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2065 …}
    +categories: Doctrine\ORM\PersistentCollection {#2045 …}
    -id: 35299
    -password: "$2y$13$FItg78.ydeF8sZHWgp8ZduWbtwIvwBxS20xMncvu3m.TVDQjpr2c6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2104 …}
    +apId: "aard@kyu.de"
    +apProfileId: "https://kyu.de/u/aard"
    +apPublicUrl: "https://kyu.de/u/aard"
    +apFollowersUrl: null
    +apInboxUrl: "https://kyu.de/inbox"
    +apDomain: "kyu.de"
    +apPreferredUsername: "aard"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1719151062 {#2470
      date: 2024-06-23 15:57:42.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1690441364 {#2469
      date: 2023-07-27 09:02:44.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "showAvatar" => false
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#1731
  +user: Proxies\__CG__\App\Entity\User {#1370
    +avatar: Proxies\__CG__\App\Entity\Image {#2467 …}
    +cover: Proxies\__CG__\App\Entity\Image {#2471 …}
    +email: "aard@kyu.de"
    +username: "@aard@kyu.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1728279043 {#2468
      date: 2024-10-07 07:30:43.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2371 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2370 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2360 …}
    +entries: Doctrine\ORM\PersistentCollection {#2361 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2372 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2386 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2385 …}
    +posts: Doctrine\ORM\PersistentCollection {#2378 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1883 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1403 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2083 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1384 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2080 …}
    +follows: Doctrine\ORM\PersistentCollection {#2088 …}
    +followers: Doctrine\ORM\PersistentCollection {#2098 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2351 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2350 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2326 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2329 …}
    +reports: Doctrine\ORM\PersistentCollection {#2347 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2340 …}
    +violations: Doctrine\ORM\PersistentCollection {#2339 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2159 …}
    +awards: Doctrine\ORM\PersistentCollection {#2341 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2065 …}
    +categories: Doctrine\ORM\PersistentCollection {#2045 …}
    -id: 35299
    -password: "$2y$13$FItg78.ydeF8sZHWgp8ZduWbtwIvwBxS20xMncvu3m.TVDQjpr2c6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2104 …}
    +apId: "aard@kyu.de"
    +apProfileId: "https://kyu.de/u/aard"
    +apPublicUrl: "https://kyu.de/u/aard"
    +apFollowersUrl: null
    +apInboxUrl: "https://kyu.de/inbox"
    +apDomain: "kyu.de"
    +apPreferredUsername: "aard"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1719151062 {#2470
      date: 2024-06-23 15:57:42.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1690441364 {#2469
      date: 2023-07-27 09:02:44.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.33 ms
Input props
[
  "date" => DateTimeImmutable @1699900856 {#1969
    date: 2023-11-13 19:40:56.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#2224
  +date: DateTimeImmutable @1699900856 {#1969
    date: 2023-11-13 19:40:56.0 +01:00
  }
}
date_edited App\Twig\Components\DateEditedComponent 16.0 MiB 0.23 ms
Input props
[
  "createdAt" => DateTimeImmutable @1699900856 {#1969
    date: 2023-11-13 19:40:56.0 +01:00
  }
  "editedAt" => null
]
Attributes
[]
Component
App\Twig\Components\DateEditedComponent {#2199
  +createdAt: DateTimeImmutable @1699900856 {#1969
    date: 2023-11-13 19:40:56.0 +01:00
  }
  +editedAt: null
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 0.68 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1370
    +avatar: Proxies\__CG__\App\Entity\Image {#2467 …}
    +cover: Proxies\__CG__\App\Entity\Image {#2471 …}
    +email: "aard@kyu.de"
    +username: "@aard@kyu.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1728279043 {#2468
      date: 2024-10-07 07:30:43.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2371 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2370 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2360 …}
    +entries: Doctrine\ORM\PersistentCollection {#2361 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2372 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2386 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2385 …}
    +posts: Doctrine\ORM\PersistentCollection {#2378 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1883 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1403 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2083 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1384 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2080 …}
    +follows: Doctrine\ORM\PersistentCollection {#2088 …}
    +followers: Doctrine\ORM\PersistentCollection {#2098 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2351 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2350 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2326 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2329 …}
    +reports: Doctrine\ORM\PersistentCollection {#2347 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2340 …}
    +violations: Doctrine\ORM\PersistentCollection {#2339 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2159 …}
    +awards: Doctrine\ORM\PersistentCollection {#2341 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2065 …}
    +categories: Doctrine\ORM\PersistentCollection {#2045 …}
    -id: 35299
    -password: "$2y$13$FItg78.ydeF8sZHWgp8ZduWbtwIvwBxS20xMncvu3m.TVDQjpr2c6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2104 …}
    +apId: "aard@kyu.de"
    +apProfileId: "https://kyu.de/u/aard"
    +apPublicUrl: "https://kyu.de/u/aard"
    +apFollowersUrl: null
    +apInboxUrl: "https://kyu.de/inbox"
    +apDomain: "kyu.de"
    +apPreferredUsername: "aard"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1719151062 {#2470
      date: 2024-06-23 15:57:42.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1690441364 {#2469
      date: 2023-07-27 09:02:44.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  "width" => 40
  "height" => 40
  "asLink" => true
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#2039
  +width: 40
  +height: 40
  +user: Proxies\__CG__\App\Entity\User {#1370
    +avatar: Proxies\__CG__\App\Entity\Image {#2467 …}
    +cover: Proxies\__CG__\App\Entity\Image {#2471 …}
    +email: "aard@kyu.de"
    +username: "@aard@kyu.de"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1728279043 {#2468
      date: 2024-10-07 07:30:43.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2371 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2370 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2360 …}
    +entries: Doctrine\ORM\PersistentCollection {#2361 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2372 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2386 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2385 …}
    +posts: Doctrine\ORM\PersistentCollection {#2378 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#1883 …}
    +postComments: Doctrine\ORM\PersistentCollection {#1403 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2083 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#1384 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2080 …}
    +follows: Doctrine\ORM\PersistentCollection {#2088 …}
    +followers: Doctrine\ORM\PersistentCollection {#2098 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2351 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2350 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2326 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2329 …}
    +reports: Doctrine\ORM\PersistentCollection {#2347 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2340 …}
    +violations: Doctrine\ORM\PersistentCollection {#2339 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2159 …}
    +awards: Doctrine\ORM\PersistentCollection {#2341 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2065 …}
    +categories: Doctrine\ORM\PersistentCollection {#2045 …}
    -id: 35299
    -password: "$2y$13$FItg78.ydeF8sZHWgp8ZduWbtwIvwBxS20xMncvu3m.TVDQjpr2c6"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2104 …}
    +apId: "aard@kyu.de"
    +apProfileId: "https://kyu.de/u/aard"
    +apPublicUrl: "https://kyu.de/u/aard"
    +apFollowersUrl: null
    +apInboxUrl: "https://kyu.de/inbox"
    +apDomain: "kyu.de"
    +apPreferredUsername: "aard"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1719151062 {#2470
      date: 2024-06-23 15:57:42.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1690441364 {#2469
      date: 2023-07-27 09:02:44.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +asLink: true
}
vote App\Twig\Components\VoteComponent 16.0 MiB 0.61 ms
Input props
[
  "subject" => App\Entity\EntryComment {#1374
    +user: Proxies\__CG__\App\Entity\User {#1370
      +avatar: Proxies\__CG__\App\Entity\Image {#2467 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2471 …}
      +email: "aard@kyu.de"
      +username: "@aard@kyu.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728279043 {#2468
        date: 2024-10-07 07:30:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2371 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2370 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2360 …}
      +entries: Doctrine\ORM\PersistentCollection {#2361 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2372 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2386 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2385 …}
      +posts: Doctrine\ORM\PersistentCollection {#2378 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1883 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1403 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2083 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1384 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2080 …}
      +follows: Doctrine\ORM\PersistentCollection {#2088 …}
      +followers: Doctrine\ORM\PersistentCollection {#2098 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2351 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2350 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2326 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2329 …}
      +reports: Doctrine\ORM\PersistentCollection {#2347 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2340 …}
      +violations: Doctrine\ORM\PersistentCollection {#2339 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2159 …}
      +awards: Doctrine\ORM\PersistentCollection {#2341 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2065 …}
      +categories: Doctrine\ORM\PersistentCollection {#2045 …}
      -id: 35299
      -password: "$2y$13$FItg78.ydeF8sZHWgp8ZduWbtwIvwBxS20xMncvu3m.TVDQjpr2c6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2104 …}
      +apId: "aard@kyu.de"
      +apProfileId: "https://kyu.de/u/aard"
      +apPublicUrl: "https://kyu.de/u/aard"
      +apFollowersUrl: null
      +apInboxUrl: "https://kyu.de/inbox"
      +apDomain: "kyu.de"
      +apPreferredUsername: "aard"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719151062 {#2470
        date: 2024-06-23 15:57:42.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1690441364 {#2469
        date: 2023-07-27 09:02:44.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#1856 …}
    +magazine: App\Entity\Magazine {#312
      +icon: Proxies\__CG__\App\Entity\Image {#293 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#320
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#284 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
      +entries: Doctrine\ORM\PersistentCollection {#227 …}
      +posts: Doctrine\ORM\PersistentCollection {#185 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
      +bans: Doctrine\ORM\PersistentCollection {#164 …}
      +reports: Doctrine\ORM\PersistentCollection {#150 …}
      +badges: Doctrine\ORM\PersistentCollection {#128 …}
      +logs: Doctrine\ORM\PersistentCollection {#118 …}
      +awards: Doctrine\ORM\PersistentCollection {#107 …}
      +categories: Doctrine\ORM\PersistentCollection {#94 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#321
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#315
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
    +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
    +body: """
      I assume you mean “lookup”, as import doesn’t really make much sense.\n
      \n
      I’m currently using this with wofi, though I’ll eventually rewrite it as anyrun plugin, which provides a bit more control:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">#!/usr/bin/env python3\n
      </span><span style="color:#323232;">from argparse import ArgumentParser\n
      </span><span style="color:#323232;">import subprocess\n
      </span><span style="color:#323232;">import json\n
      </span><span style="color:#323232;">import os\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">ssh_config_file = "~/.ssh/config"\n
      </span><span style="color:#323232;">ssh_known_hosts_file = "~/.ssh/known_hosts"\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Returns a list of all hosts\n
      </span><span style="color:#323232;">def get_hosts():\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    hosts = []\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    with open(os.path.expanduser(ssh_config_file)) as f:\n
      </span><span style="color:#323232;">        content = f.readlines()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    for line in content:\n
      </span><span style="color:#323232;">        line = line.lstrip()\n
      </span><span style="color:#323232;">        # Ignore wildcards\n
      </span><span style="color:#323232;">        if line.startswith('Host ') and not '*' in line:\n
      </span><span style="color:#323232;">            for host in line.split()[1:]:\n
      </span><span style="color:#323232;">                hosts.append(host)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    # Removes duplicate entries\n
      </span><span style="color:#323232;">    hosts = sorted(set(hosts))\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    return hosts\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">def get_known_hosts():\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    hosts = []\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    with open(os.path.expanduser(ssh_known_hosts_file)) as f:\n
      </span><span style="color:#323232;">        content = f.readlines()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    for line in content:\n
      </span><span style="color:#323232;">        line = line.lstrip()\n
      </span><span style="color:#323232;">        host_entry = line.partition(" ")[0]\n
      </span><span style="color:#323232;">        hosts.append(host_entry.partition(",")[0])\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    # Removes duplicate entries\n
      </span><span style="color:#323232;">    hosts = sorted(set(hosts))\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    return hosts\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Returns a newline seperated UFT-8 encoded string of all ssh hosts\n
      </span><span style="color:#323232;">def parse_hosts(hosts):\n
      </span><span style="color:#323232;">    return "n".join(hosts).encode("UTF-8")\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Executes wofi with the given input string\n
      </span><span style="color:#323232;">def show_wofi(command, hosts):\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    process = subprocess.Popen(command,shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE)\n
      </span><span style="color:#323232;">    ret = process.communicate(input=hosts)\n
      </span><span style="color:#323232;">    host, rest = ret\n
      </span><span style="color:#323232;">    return host\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Switches the focus to the given id\n
      </span><span style="color:#323232;">def ssh_to_host(host, terminal, ssh_command):\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if "]:" in host:\n
      </span><span style="color:#323232;">        host, port = host[1:].split("]:")\n
      </span><span style="color:#323232;">        command = "{terminal} '{ssh_command} {host} -p {port}'".format(terminal=terminal, ssh_command=ssh_command, host=host, port=port)\n
      </span><span style="color:#323232;">    else:\n
      </span><span style="color:#323232;">        command = "{terminal} '{ssh_command} {host}'".format(terminal=terminal, ssh_command=ssh_command, host=host)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    process = subprocess.Popen(command,shell=True)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Entry point\n
      </span><span style="color:#323232;">if __name__ == "__main__":\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    parser = ArgumentParser(description="Wofi based ssh launcher")\n
      </span><span style="color:#323232;">    parser.add_argument("terminal", help='Terminal command to use')\n
      </span><span style="color:#323232;">    parser.add_argument("--ssh-command", dest='ssh_command', default='ssh', help='ssh command to use (default=ssh)')\n
      </span><span style="color:#323232;">    parser.add_argument("--mode", dest='mode', default='known_hosts', help='where to read from (default=known_hosts)')\n
      </span><span style="color:#323232;">    parser.add_argument("--command", default='wofi -p "SSH hosts: " -d -i --hide-scroll', help='launcher command to use')\n
      </span><span style="color:#323232;">    args = parser.parse_args()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if (args.mode == "config"):\n
      </span><span style="color:#323232;">        hosts = get_hosts()\n
      </span><span style="color:#323232;">    elif (args.mode == "known_hosts"):\n
      </span><span style="color:#323232;">        hosts = get_known_hosts()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    parsed_hosts = parse_hosts(hosts)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    selected = show_wofi(args.command, parsed_hosts)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    selected_host = selected.decode('utf-8').rstrip()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if selected_host != "":\n
      </span><span style="color:#323232;">        ssh_to_host(selected_host, args.terminal, args.ssh_command)\n
      </span>\n
      ```
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1699900856 {#1769
      date: 2023-11-13 19:40:56.0 +01:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@Oha@lemmy.ohaa.xyz"
      "@heartsofwar@lemmy.world"
      "@aard@kyu.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2466 …}
    +nested: Doctrine\ORM\PersistentCollection {#2288 …}
    +votes: Doctrine\ORM\PersistentCollection {#2446 …}
    +reports: Doctrine\ORM\PersistentCollection {#2439 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
    +notifications: Doctrine\ORM\PersistentCollection {#60 …}
    -id: 120575
    -bodyTs: "'-8':151,168,363 '/.ssh/config':51 '/.ssh/known_hosts':56 '/usr/bin/env':36 '0':133,136 '1':96,220 'anyrun':28 'arg':331,333 'argpars':39 'args.command':356 'args.mode':335,341 'args.ssh':374 'args.terminal':373 'argument':273,281,298,314 'argumentpars':41,266 'assum':2 'base':269 'bit':33 'command':179,183,213,222,225,233,235,241,244,250,252,257,277,284,287,292,315,328,375 'config':49,71,336 'content':75,80,122,127 'control':35 'current':16 'd':321 'def':63,108,158,176,206 'default':288,295,302,310,316 'descript':267 'dest':285,300 'doesn':8 'duplic':100,138 'elif':340 'els':240 'encod':152,166 'entri':101,131,139,260 'eventu':24 'execut':169 'f':74,121 'f.readlines':76,123 'file':50,55,72,119 'focus':201 'format':229,246 'get':64,109,338,345 'given':173,204 'help':275,290,305,326 'hide':324 'hide-scrol':323 'host':54,62,65,66,87,93,98,102,105,107,111,112,118,130,140,143,145,157,160,161,165,180,193,194,198,209,210,216,217,219,226,236,237,245,253,254,304,312,320,337,339,343,344,347,349,351,352,358,360,367,370,372 'host_entry.partition':135 'hosts.append':97,134 'id':205 'ignor':83 'import':7,40,42,44,46 'input':174,192 'join':164 'json':45 'known':53,110,117,303,311,342,346 'launcher':271,327 'line':78,81,91,125,128 'line.lstrip':82,129 'line.partition':132 'line.split':95 'line.startswith':86 'list':59 'll':23 'lookup':5 'm':15 'main':264 'make':11 'mean':4 'mode':299,301 'much':12 'n':163 'name':263 'newlin':148 'open':68,114 'os':47 'os.path.expanduser':69,115 'p':227,318 'pars':159,348,350,357 'parser':265 'parser.add':272,280,297,313 'parser.parse':332 'plugin':29 'point':261 'port':218,228,238,239 'process':181,255 'process.communicate':191 'provid':31 'python3':37 'read':308 'realli':10 'remov':99,137 'rest':195 'ret':190,196 'return':57,106,144,146,162,197 'rewrit':25 'rstrip':364 'scroll':325 'select':353,359,366,371 'selected.decode':361 'sens':13 'seper':149 'set':104,142 'shell':184,258 'show':177,354 'sort':103,141 'split':221 'ssh':48,52,70,116,156,207,212,224,232,234,243,249,251,270,283,286,289,291,296,319,368 'ssh-command':282 'stdin':186 'stdout':188 'string':153,175 'subprocess':43 'subprocess.pipe':187,189 'subprocess.popen':182,256 'switch':199 'termin':211,223,230,231,242,247,248,274,276 'though':21 'true':185,259 'uft':150 'use':17,279,294,330 'utf':167,362 'wildcard':84 'wofi':20,170,178,268,317,355"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kyu.de/comment/2226561"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699900856 {#1969
      date: 2023-11-13 19:40:56.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\VoteComponent {#2496
  +subject: App\Entity\EntryComment {#1374
    +user: Proxies\__CG__\App\Entity\User {#1370
      +avatar: Proxies\__CG__\App\Entity\Image {#2467 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2471 …}
      +email: "aard@kyu.de"
      +username: "@aard@kyu.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728279043 {#2468
        date: 2024-10-07 07:30:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2371 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2370 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2360 …}
      +entries: Doctrine\ORM\PersistentCollection {#2361 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2372 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2386 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2385 …}
      +posts: Doctrine\ORM\PersistentCollection {#2378 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1883 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1403 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2083 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1384 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2080 …}
      +follows: Doctrine\ORM\PersistentCollection {#2088 …}
      +followers: Doctrine\ORM\PersistentCollection {#2098 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2351 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2350 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2326 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2329 …}
      +reports: Doctrine\ORM\PersistentCollection {#2347 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2340 …}
      +violations: Doctrine\ORM\PersistentCollection {#2339 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2159 …}
      +awards: Doctrine\ORM\PersistentCollection {#2341 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2065 …}
      +categories: Doctrine\ORM\PersistentCollection {#2045 …}
      -id: 35299
      -password: "$2y$13$FItg78.ydeF8sZHWgp8ZduWbtwIvwBxS20xMncvu3m.TVDQjpr2c6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2104 …}
      +apId: "aard@kyu.de"
      +apProfileId: "https://kyu.de/u/aard"
      +apPublicUrl: "https://kyu.de/u/aard"
      +apFollowersUrl: null
      +apInboxUrl: "https://kyu.de/inbox"
      +apDomain: "kyu.de"
      +apPreferredUsername: "aard"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719151062 {#2470
        date: 2024-06-23 15:57:42.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1690441364 {#2469
        date: 2023-07-27 09:02:44.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#1856 …}
    +magazine: App\Entity\Magazine {#312
      +icon: Proxies\__CG__\App\Entity\Image {#293 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#320
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#284 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
      +entries: Doctrine\ORM\PersistentCollection {#227 …}
      +posts: Doctrine\ORM\PersistentCollection {#185 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
      +bans: Doctrine\ORM\PersistentCollection {#164 …}
      +reports: Doctrine\ORM\PersistentCollection {#150 …}
      +badges: Doctrine\ORM\PersistentCollection {#128 …}
      +logs: Doctrine\ORM\PersistentCollection {#118 …}
      +awards: Doctrine\ORM\PersistentCollection {#107 …}
      +categories: Doctrine\ORM\PersistentCollection {#94 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#321
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#315
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
    +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
    +body: """
      I assume you mean “lookup”, as import doesn’t really make much sense.\n
      \n
      I’m currently using this with wofi, though I’ll eventually rewrite it as anyrun plugin, which provides a bit more control:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">#!/usr/bin/env python3\n
      </span><span style="color:#323232;">from argparse import ArgumentParser\n
      </span><span style="color:#323232;">import subprocess\n
      </span><span style="color:#323232;">import json\n
      </span><span style="color:#323232;">import os\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">ssh_config_file = "~/.ssh/config"\n
      </span><span style="color:#323232;">ssh_known_hosts_file = "~/.ssh/known_hosts"\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Returns a list of all hosts\n
      </span><span style="color:#323232;">def get_hosts():\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    hosts = []\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    with open(os.path.expanduser(ssh_config_file)) as f:\n
      </span><span style="color:#323232;">        content = f.readlines()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    for line in content:\n
      </span><span style="color:#323232;">        line = line.lstrip()\n
      </span><span style="color:#323232;">        # Ignore wildcards\n
      </span><span style="color:#323232;">        if line.startswith('Host ') and not '*' in line:\n
      </span><span style="color:#323232;">            for host in line.split()[1:]:\n
      </span><span style="color:#323232;">                hosts.append(host)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    # Removes duplicate entries\n
      </span><span style="color:#323232;">    hosts = sorted(set(hosts))\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    return hosts\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">def get_known_hosts():\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    hosts = []\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    with open(os.path.expanduser(ssh_known_hosts_file)) as f:\n
      </span><span style="color:#323232;">        content = f.readlines()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    for line in content:\n
      </span><span style="color:#323232;">        line = line.lstrip()\n
      </span><span style="color:#323232;">        host_entry = line.partition(" ")[0]\n
      </span><span style="color:#323232;">        hosts.append(host_entry.partition(",")[0])\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    # Removes duplicate entries\n
      </span><span style="color:#323232;">    hosts = sorted(set(hosts))\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    return hosts\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Returns a newline seperated UFT-8 encoded string of all ssh hosts\n
      </span><span style="color:#323232;">def parse_hosts(hosts):\n
      </span><span style="color:#323232;">    return "n".join(hosts).encode("UTF-8")\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Executes wofi with the given input string\n
      </span><span style="color:#323232;">def show_wofi(command, hosts):\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    process = subprocess.Popen(command,shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE)\n
      </span><span style="color:#323232;">    ret = process.communicate(input=hosts)\n
      </span><span style="color:#323232;">    host, rest = ret\n
      </span><span style="color:#323232;">    return host\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Switches the focus to the given id\n
      </span><span style="color:#323232;">def ssh_to_host(host, terminal, ssh_command):\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if "]:" in host:\n
      </span><span style="color:#323232;">        host, port = host[1:].split("]:")\n
      </span><span style="color:#323232;">        command = "{terminal} '{ssh_command} {host} -p {port}'".format(terminal=terminal, ssh_command=ssh_command, host=host, port=port)\n
      </span><span style="color:#323232;">    else:\n
      </span><span style="color:#323232;">        command = "{terminal} '{ssh_command} {host}'".format(terminal=terminal, ssh_command=ssh_command, host=host)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    process = subprocess.Popen(command,shell=True)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Entry point\n
      </span><span style="color:#323232;">if __name__ == "__main__":\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    parser = ArgumentParser(description="Wofi based ssh launcher")\n
      </span><span style="color:#323232;">    parser.add_argument("terminal", help='Terminal command to use')\n
      </span><span style="color:#323232;">    parser.add_argument("--ssh-command", dest='ssh_command', default='ssh', help='ssh command to use (default=ssh)')\n
      </span><span style="color:#323232;">    parser.add_argument("--mode", dest='mode', default='known_hosts', help='where to read from (default=known_hosts)')\n
      </span><span style="color:#323232;">    parser.add_argument("--command", default='wofi -p "SSH hosts: " -d -i --hide-scroll', help='launcher command to use')\n
      </span><span style="color:#323232;">    args = parser.parse_args()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if (args.mode == "config"):\n
      </span><span style="color:#323232;">        hosts = get_hosts()\n
      </span><span style="color:#323232;">    elif (args.mode == "known_hosts"):\n
      </span><span style="color:#323232;">        hosts = get_known_hosts()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    parsed_hosts = parse_hosts(hosts)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    selected = show_wofi(args.command, parsed_hosts)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    selected_host = selected.decode('utf-8').rstrip()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if selected_host != "":\n
      </span><span style="color:#323232;">        ssh_to_host(selected_host, args.terminal, args.ssh_command)\n
      </span>\n
      ```
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1699900856 {#1769
      date: 2023-11-13 19:40:56.0 +01:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@Oha@lemmy.ohaa.xyz"
      "@heartsofwar@lemmy.world"
      "@aard@kyu.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2466 …}
    +nested: Doctrine\ORM\PersistentCollection {#2288 …}
    +votes: Doctrine\ORM\PersistentCollection {#2446 …}
    +reports: Doctrine\ORM\PersistentCollection {#2439 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
    +notifications: Doctrine\ORM\PersistentCollection {#60 …}
    -id: 120575
    -bodyTs: "'-8':151,168,363 '/.ssh/config':51 '/.ssh/known_hosts':56 '/usr/bin/env':36 '0':133,136 '1':96,220 'anyrun':28 'arg':331,333 'argpars':39 'args.command':356 'args.mode':335,341 'args.ssh':374 'args.terminal':373 'argument':273,281,298,314 'argumentpars':41,266 'assum':2 'base':269 'bit':33 'command':179,183,213,222,225,233,235,241,244,250,252,257,277,284,287,292,315,328,375 'config':49,71,336 'content':75,80,122,127 'control':35 'current':16 'd':321 'def':63,108,158,176,206 'default':288,295,302,310,316 'descript':267 'dest':285,300 'doesn':8 'duplic':100,138 'elif':340 'els':240 'encod':152,166 'entri':101,131,139,260 'eventu':24 'execut':169 'f':74,121 'f.readlines':76,123 'file':50,55,72,119 'focus':201 'format':229,246 'get':64,109,338,345 'given':173,204 'help':275,290,305,326 'hide':324 'hide-scrol':323 'host':54,62,65,66,87,93,98,102,105,107,111,112,118,130,140,143,145,157,160,161,165,180,193,194,198,209,210,216,217,219,226,236,237,245,253,254,304,312,320,337,339,343,344,347,349,351,352,358,360,367,370,372 'host_entry.partition':135 'hosts.append':97,134 'id':205 'ignor':83 'import':7,40,42,44,46 'input':174,192 'join':164 'json':45 'known':53,110,117,303,311,342,346 'launcher':271,327 'line':78,81,91,125,128 'line.lstrip':82,129 'line.partition':132 'line.split':95 'line.startswith':86 'list':59 'll':23 'lookup':5 'm':15 'main':264 'make':11 'mean':4 'mode':299,301 'much':12 'n':163 'name':263 'newlin':148 'open':68,114 'os':47 'os.path.expanduser':69,115 'p':227,318 'pars':159,348,350,357 'parser':265 'parser.add':272,280,297,313 'parser.parse':332 'plugin':29 'point':261 'port':218,228,238,239 'process':181,255 'process.communicate':191 'provid':31 'python3':37 'read':308 'realli':10 'remov':99,137 'rest':195 'ret':190,196 'return':57,106,144,146,162,197 'rewrit':25 'rstrip':364 'scroll':325 'select':353,359,366,371 'selected.decode':361 'sens':13 'seper':149 'set':104,142 'shell':184,258 'show':177,354 'sort':103,141 'split':221 'ssh':48,52,70,116,156,207,212,224,232,234,243,249,251,270,283,286,289,291,296,319,368 'ssh-command':282 'stdin':186 'stdout':188 'string':153,175 'subprocess':43 'subprocess.pipe':187,189 'subprocess.popen':182,256 'switch':199 'termin':211,223,230,231,242,247,248,274,276 'though':21 'true':185,259 'uft':150 'use':17,279,294,330 'utf':167,362 'wildcard':84 'wofi':20,170,178,268,317,355"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kyu.de/comment/2226561"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699900856 {#1969
      date: 2023-11-13 19:40:56.0 +01:00
    }
  }
  +formDest: "entry_comment"
  +showDownvote: true
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
boost App\Twig\Components\BoostComponent 16.0 MiB 1.23 ms
Input props
[
  "subject" => App\Entity\EntryComment {#1374
    +user: Proxies\__CG__\App\Entity\User {#1370
      +avatar: Proxies\__CG__\App\Entity\Image {#2467 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2471 …}
      +email: "aard@kyu.de"
      +username: "@aard@kyu.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728279043 {#2468
        date: 2024-10-07 07:30:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2371 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2370 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2360 …}
      +entries: Doctrine\ORM\PersistentCollection {#2361 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2372 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2386 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2385 …}
      +posts: Doctrine\ORM\PersistentCollection {#2378 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1883 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1403 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2083 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1384 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2080 …}
      +follows: Doctrine\ORM\PersistentCollection {#2088 …}
      +followers: Doctrine\ORM\PersistentCollection {#2098 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2351 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2350 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2326 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2329 …}
      +reports: Doctrine\ORM\PersistentCollection {#2347 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2340 …}
      +violations: Doctrine\ORM\PersistentCollection {#2339 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2159 …}
      +awards: Doctrine\ORM\PersistentCollection {#2341 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2065 …}
      +categories: Doctrine\ORM\PersistentCollection {#2045 …}
      -id: 35299
      -password: "$2y$13$FItg78.ydeF8sZHWgp8ZduWbtwIvwBxS20xMncvu3m.TVDQjpr2c6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2104 …}
      +apId: "aard@kyu.de"
      +apProfileId: "https://kyu.de/u/aard"
      +apPublicUrl: "https://kyu.de/u/aard"
      +apFollowersUrl: null
      +apInboxUrl: "https://kyu.de/inbox"
      +apDomain: "kyu.de"
      +apPreferredUsername: "aard"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719151062 {#2470
        date: 2024-06-23 15:57:42.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1690441364 {#2469
        date: 2023-07-27 09:02:44.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#1856 …}
    +magazine: App\Entity\Magazine {#312
      +icon: Proxies\__CG__\App\Entity\Image {#293 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#320
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#284 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
      +entries: Doctrine\ORM\PersistentCollection {#227 …}
      +posts: Doctrine\ORM\PersistentCollection {#185 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
      +bans: Doctrine\ORM\PersistentCollection {#164 …}
      +reports: Doctrine\ORM\PersistentCollection {#150 …}
      +badges: Doctrine\ORM\PersistentCollection {#128 …}
      +logs: Doctrine\ORM\PersistentCollection {#118 …}
      +awards: Doctrine\ORM\PersistentCollection {#107 …}
      +categories: Doctrine\ORM\PersistentCollection {#94 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#321
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#315
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
    +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
    +body: """
      I assume you mean “lookup”, as import doesn’t really make much sense.\n
      \n
      I’m currently using this with wofi, though I’ll eventually rewrite it as anyrun plugin, which provides a bit more control:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">#!/usr/bin/env python3\n
      </span><span style="color:#323232;">from argparse import ArgumentParser\n
      </span><span style="color:#323232;">import subprocess\n
      </span><span style="color:#323232;">import json\n
      </span><span style="color:#323232;">import os\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">ssh_config_file = "~/.ssh/config"\n
      </span><span style="color:#323232;">ssh_known_hosts_file = "~/.ssh/known_hosts"\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Returns a list of all hosts\n
      </span><span style="color:#323232;">def get_hosts():\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    hosts = []\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    with open(os.path.expanduser(ssh_config_file)) as f:\n
      </span><span style="color:#323232;">        content = f.readlines()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    for line in content:\n
      </span><span style="color:#323232;">        line = line.lstrip()\n
      </span><span style="color:#323232;">        # Ignore wildcards\n
      </span><span style="color:#323232;">        if line.startswith('Host ') and not '*' in line:\n
      </span><span style="color:#323232;">            for host in line.split()[1:]:\n
      </span><span style="color:#323232;">                hosts.append(host)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    # Removes duplicate entries\n
      </span><span style="color:#323232;">    hosts = sorted(set(hosts))\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    return hosts\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">def get_known_hosts():\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    hosts = []\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    with open(os.path.expanduser(ssh_known_hosts_file)) as f:\n
      </span><span style="color:#323232;">        content = f.readlines()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    for line in content:\n
      </span><span style="color:#323232;">        line = line.lstrip()\n
      </span><span style="color:#323232;">        host_entry = line.partition(" ")[0]\n
      </span><span style="color:#323232;">        hosts.append(host_entry.partition(",")[0])\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    # Removes duplicate entries\n
      </span><span style="color:#323232;">    hosts = sorted(set(hosts))\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    return hosts\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Returns a newline seperated UFT-8 encoded string of all ssh hosts\n
      </span><span style="color:#323232;">def parse_hosts(hosts):\n
      </span><span style="color:#323232;">    return "n".join(hosts).encode("UTF-8")\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Executes wofi with the given input string\n
      </span><span style="color:#323232;">def show_wofi(command, hosts):\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    process = subprocess.Popen(command,shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE)\n
      </span><span style="color:#323232;">    ret = process.communicate(input=hosts)\n
      </span><span style="color:#323232;">    host, rest = ret\n
      </span><span style="color:#323232;">    return host\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Switches the focus to the given id\n
      </span><span style="color:#323232;">def ssh_to_host(host, terminal, ssh_command):\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if "]:" in host:\n
      </span><span style="color:#323232;">        host, port = host[1:].split("]:")\n
      </span><span style="color:#323232;">        command = "{terminal} '{ssh_command} {host} -p {port}'".format(terminal=terminal, ssh_command=ssh_command, host=host, port=port)\n
      </span><span style="color:#323232;">    else:\n
      </span><span style="color:#323232;">        command = "{terminal} '{ssh_command} {host}'".format(terminal=terminal, ssh_command=ssh_command, host=host)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    process = subprocess.Popen(command,shell=True)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Entry point\n
      </span><span style="color:#323232;">if __name__ == "__main__":\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    parser = ArgumentParser(description="Wofi based ssh launcher")\n
      </span><span style="color:#323232;">    parser.add_argument("terminal", help='Terminal command to use')\n
      </span><span style="color:#323232;">    parser.add_argument("--ssh-command", dest='ssh_command', default='ssh', help='ssh command to use (default=ssh)')\n
      </span><span style="color:#323232;">    parser.add_argument("--mode", dest='mode', default='known_hosts', help='where to read from (default=known_hosts)')\n
      </span><span style="color:#323232;">    parser.add_argument("--command", default='wofi -p "SSH hosts: " -d -i --hide-scroll', help='launcher command to use')\n
      </span><span style="color:#323232;">    args = parser.parse_args()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if (args.mode == "config"):\n
      </span><span style="color:#323232;">        hosts = get_hosts()\n
      </span><span style="color:#323232;">    elif (args.mode == "known_hosts"):\n
      </span><span style="color:#323232;">        hosts = get_known_hosts()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    parsed_hosts = parse_hosts(hosts)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    selected = show_wofi(args.command, parsed_hosts)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    selected_host = selected.decode('utf-8').rstrip()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if selected_host != "":\n
      </span><span style="color:#323232;">        ssh_to_host(selected_host, args.terminal, args.ssh_command)\n
      </span>\n
      ```
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1699900856 {#1769
      date: 2023-11-13 19:40:56.0 +01:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@Oha@lemmy.ohaa.xyz"
      "@heartsofwar@lemmy.world"
      "@aard@kyu.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2466 …}
    +nested: Doctrine\ORM\PersistentCollection {#2288 …}
    +votes: Doctrine\ORM\PersistentCollection {#2446 …}
    +reports: Doctrine\ORM\PersistentCollection {#2439 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
    +notifications: Doctrine\ORM\PersistentCollection {#60 …}
    -id: 120575
    -bodyTs: "'-8':151,168,363 '/.ssh/config':51 '/.ssh/known_hosts':56 '/usr/bin/env':36 '0':133,136 '1':96,220 'anyrun':28 'arg':331,333 'argpars':39 'args.command':356 'args.mode':335,341 'args.ssh':374 'args.terminal':373 'argument':273,281,298,314 'argumentpars':41,266 'assum':2 'base':269 'bit':33 'command':179,183,213,222,225,233,235,241,244,250,252,257,277,284,287,292,315,328,375 'config':49,71,336 'content':75,80,122,127 'control':35 'current':16 'd':321 'def':63,108,158,176,206 'default':288,295,302,310,316 'descript':267 'dest':285,300 'doesn':8 'duplic':100,138 'elif':340 'els':240 'encod':152,166 'entri':101,131,139,260 'eventu':24 'execut':169 'f':74,121 'f.readlines':76,123 'file':50,55,72,119 'focus':201 'format':229,246 'get':64,109,338,345 'given':173,204 'help':275,290,305,326 'hide':324 'hide-scrol':323 'host':54,62,65,66,87,93,98,102,105,107,111,112,118,130,140,143,145,157,160,161,165,180,193,194,198,209,210,216,217,219,226,236,237,245,253,254,304,312,320,337,339,343,344,347,349,351,352,358,360,367,370,372 'host_entry.partition':135 'hosts.append':97,134 'id':205 'ignor':83 'import':7,40,42,44,46 'input':174,192 'join':164 'json':45 'known':53,110,117,303,311,342,346 'launcher':271,327 'line':78,81,91,125,128 'line.lstrip':82,129 'line.partition':132 'line.split':95 'line.startswith':86 'list':59 'll':23 'lookup':5 'm':15 'main':264 'make':11 'mean':4 'mode':299,301 'much':12 'n':163 'name':263 'newlin':148 'open':68,114 'os':47 'os.path.expanduser':69,115 'p':227,318 'pars':159,348,350,357 'parser':265 'parser.add':272,280,297,313 'parser.parse':332 'plugin':29 'point':261 'port':218,228,238,239 'process':181,255 'process.communicate':191 'provid':31 'python3':37 'read':308 'realli':10 'remov':99,137 'rest':195 'ret':190,196 'return':57,106,144,146,162,197 'rewrit':25 'rstrip':364 'scroll':325 'select':353,359,366,371 'selected.decode':361 'sens':13 'seper':149 'set':104,142 'shell':184,258 'show':177,354 'sort':103,141 'split':221 'ssh':48,52,70,116,156,207,212,224,232,234,243,249,251,270,283,286,289,291,296,319,368 'ssh-command':282 'stdin':186 'stdout':188 'string':153,175 'subprocess':43 'subprocess.pipe':187,189 'subprocess.popen':182,256 'switch':199 'termin':211,223,230,231,242,247,248,274,276 'though':21 'true':185,259 'uft':150 'use':17,279,294,330 'utf':167,362 'wildcard':84 'wofi':20,170,178,268,317,355"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kyu.de/comment/2226561"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699900856 {#1969
      date: 2023-11-13 19:40:56.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\BoostComponent {#2563
  +formDest: "entry_comment"
  +subject: App\Entity\EntryComment {#1374
    +user: Proxies\__CG__\App\Entity\User {#1370
      +avatar: Proxies\__CG__\App\Entity\Image {#2467 …}
      +cover: Proxies\__CG__\App\Entity\Image {#2471 …}
      +email: "aard@kyu.de"
      +username: "@aard@kyu.de"
      +roles: []
      +followersCount: 0
      +homepage: "front"
      +about: null
      +lastActive: DateTime @1728279043 {#2468
        date: 2024-10-07 07:30:43.0 +02:00
      }
      +markedForDeletionAt: null
      +fields: null
      +oauthGithubId: null
      +oauthGoogleId: null
      +oauthFacebookId: null
      +oauthKeycloakId: null
      +hideAdult: true
      +showSubscribedUsers: true
      +showSubscribedMagazines: true
      +showSubscribedDomains: true
      +preferredLanguages: []
      +featuredMagazines: null
      +showProfileSubscriptions: true
      +showProfileFollowings: true
      +markNewComments: false
      +notifyOnNewEntry: false
      +notifyOnNewEntryReply: false
      +notifyOnNewEntryCommentReply: false
      +notifyOnNewPost: false
      +notifyOnNewPostReply: false
      +notifyOnNewPostCommentReply: false
      +addMentionsEntries: false
      +addMentionsPosts: true
      +isBanned: false
      +isVerified: false
      +isDeleted: false
      +isBot: false
      +spamProtection: true
      +customCss: null
      +ignoreMagazinesCustomCss: false
      +moderatorTokens: Doctrine\ORM\PersistentCollection {#2371 …}
      +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2370 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#2360 …}
      +entries: Doctrine\ORM\PersistentCollection {#2361 …}
      +entryVotes: Doctrine\ORM\PersistentCollection {#2372 …}
      +entryComments: Doctrine\ORM\PersistentCollection {#2386 …}
      +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2385 …}
      +posts: Doctrine\ORM\PersistentCollection {#2378 …}
      +postVotes: Doctrine\ORM\PersistentCollection {#1883 …}
      +postComments: Doctrine\ORM\PersistentCollection {#1403 …}
      +postCommentVotes: Doctrine\ORM\PersistentCollection {#2083 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#1384 …}
      +subscribedDomains: Doctrine\ORM\PersistentCollection {#2080 …}
      +follows: Doctrine\ORM\PersistentCollection {#2088 …}
      +followers: Doctrine\ORM\PersistentCollection {#2098 …}
      +blocks: Doctrine\ORM\PersistentCollection {#2351 …}
      +blockers: Doctrine\ORM\PersistentCollection {#2350 …}
      +blockedMagazines: Doctrine\ORM\PersistentCollection {#2326 …}
      +blockedDomains: Doctrine\ORM\PersistentCollection {#2329 …}
      +reports: Doctrine\ORM\PersistentCollection {#2347 …}
      +favourites: Doctrine\ORM\PersistentCollection {#2340 …}
      +violations: Doctrine\ORM\PersistentCollection {#2339 …}
      +notifications: Doctrine\ORM\PersistentCollection {#2159 …}
      +awards: Doctrine\ORM\PersistentCollection {#2341 …}
      +subscribedCategories: Doctrine\ORM\PersistentCollection {#2065 …}
      +categories: Doctrine\ORM\PersistentCollection {#2045 …}
      -id: 35299
      -password: "$2y$13$FItg78.ydeF8sZHWgp8ZduWbtwIvwBxS20xMncvu3m.TVDQjpr2c6"
      -totpSecret: null
      -totpBackupCodes: []
      -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2104 …}
      +apId: "aard@kyu.de"
      +apProfileId: "https://kyu.de/u/aard"
      +apPublicUrl: "https://kyu.de/u/aard"
      +apFollowersUrl: null
      +apInboxUrl: "https://kyu.de/inbox"
      +apDomain: "kyu.de"
      +apPreferredUsername: "aard"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: false
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1719151062 {#2470
        date: 2024-06-23 15:57:42.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1690441364 {#2469
        date: 2023-07-27 09:02:44.0 +02:00
      }
      +__isInitialized__: true
       …2
    }
    +entry: App\Entity\Entry {#1856 …}
    +magazine: App\Entity\Magazine {#312
      +icon: Proxies\__CG__\App\Entity\Image {#293 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#320
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#284 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
      +entries: Doctrine\ORM\PersistentCollection {#227 …}
      +posts: Doctrine\ORM\PersistentCollection {#185 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
      +bans: Doctrine\ORM\PersistentCollection {#164 …}
      +reports: Doctrine\ORM\PersistentCollection {#150 …}
      +badges: Doctrine\ORM\PersistentCollection {#128 …}
      +logs: Doctrine\ORM\PersistentCollection {#118 …}
      +awards: Doctrine\ORM\PersistentCollection {#107 …}
      +categories: Doctrine\ORM\PersistentCollection {#94 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#321
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#315
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: null
    +parent: Proxies\__CG__\App\Entity\EntryComment {#2451 …}
    +root: Proxies\__CG__\App\Entity\EntryComment {#2356 …}
    +body: """
      I assume you mean “lookup”, as import doesn’t really make much sense.\n
      \n
      I’m currently using this with wofi, though I’ll eventually rewrite it as anyrun plugin, which provides a bit more control:\n
      \n
      ```\n
      \n
      <span style="color:#323232;">#!/usr/bin/env python3\n
      </span><span style="color:#323232;">from argparse import ArgumentParser\n
      </span><span style="color:#323232;">import subprocess\n
      </span><span style="color:#323232;">import json\n
      </span><span style="color:#323232;">import os\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">ssh_config_file = "~/.ssh/config"\n
      </span><span style="color:#323232;">ssh_known_hosts_file = "~/.ssh/known_hosts"\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Returns a list of all hosts\n
      </span><span style="color:#323232;">def get_hosts():\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    hosts = []\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    with open(os.path.expanduser(ssh_config_file)) as f:\n
      </span><span style="color:#323232;">        content = f.readlines()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    for line in content:\n
      </span><span style="color:#323232;">        line = line.lstrip()\n
      </span><span style="color:#323232;">        # Ignore wildcards\n
      </span><span style="color:#323232;">        if line.startswith('Host ') and not '*' in line:\n
      </span><span style="color:#323232;">            for host in line.split()[1:]:\n
      </span><span style="color:#323232;">                hosts.append(host)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    # Removes duplicate entries\n
      </span><span style="color:#323232;">    hosts = sorted(set(hosts))\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    return hosts\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">def get_known_hosts():\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    hosts = []\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    with open(os.path.expanduser(ssh_known_hosts_file)) as f:\n
      </span><span style="color:#323232;">        content = f.readlines()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    for line in content:\n
      </span><span style="color:#323232;">        line = line.lstrip()\n
      </span><span style="color:#323232;">        host_entry = line.partition(" ")[0]\n
      </span><span style="color:#323232;">        hosts.append(host_entry.partition(",")[0])\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    # Removes duplicate entries\n
      </span><span style="color:#323232;">    hosts = sorted(set(hosts))\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    return hosts\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Returns a newline seperated UFT-8 encoded string of all ssh hosts\n
      </span><span style="color:#323232;">def parse_hosts(hosts):\n
      </span><span style="color:#323232;">    return "n".join(hosts).encode("UTF-8")\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Executes wofi with the given input string\n
      </span><span style="color:#323232;">def show_wofi(command, hosts):\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    process = subprocess.Popen(command,shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE)\n
      </span><span style="color:#323232;">    ret = process.communicate(input=hosts)\n
      </span><span style="color:#323232;">    host, rest = ret\n
      </span><span style="color:#323232;">    return host\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Switches the focus to the given id\n
      </span><span style="color:#323232;">def ssh_to_host(host, terminal, ssh_command):\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if "]:" in host:\n
      </span><span style="color:#323232;">        host, port = host[1:].split("]:")\n
      </span><span style="color:#323232;">        command = "{terminal} '{ssh_command} {host} -p {port}'".format(terminal=terminal, ssh_command=ssh_command, host=host, port=port)\n
      </span><span style="color:#323232;">    else:\n
      </span><span style="color:#323232;">        command = "{terminal} '{ssh_command} {host}'".format(terminal=terminal, ssh_command=ssh_command, host=host)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    process = subprocess.Popen(command,shell=True)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;"># Entry point\n
      </span><span style="color:#323232;">if __name__ == "__main__":\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    parser = ArgumentParser(description="Wofi based ssh launcher")\n
      </span><span style="color:#323232;">    parser.add_argument("terminal", help='Terminal command to use')\n
      </span><span style="color:#323232;">    parser.add_argument("--ssh-command", dest='ssh_command', default='ssh', help='ssh command to use (default=ssh)')\n
      </span><span style="color:#323232;">    parser.add_argument("--mode", dest='mode', default='known_hosts', help='where to read from (default=known_hosts)')\n
      </span><span style="color:#323232;">    parser.add_argument("--command", default='wofi -p "SSH hosts: " -d -i --hide-scroll', help='launcher command to use')\n
      </span><span style="color:#323232;">    args = parser.parse_args()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if (args.mode == "config"):\n
      </span><span style="color:#323232;">        hosts = get_hosts()\n
      </span><span style="color:#323232;">    elif (args.mode == "known_hosts"):\n
      </span><span style="color:#323232;">        hosts = get_known_hosts()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    parsed_hosts = parse_hosts(hosts)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    selected = show_wofi(args.command, parsed_hosts)\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    selected_host = selected.decode('utf-8').rstrip()\n
      </span><span style="color:#323232;"> \n
      </span><span style="color:#323232;">    if selected_host != "":\n
      </span><span style="color:#323232;">        ssh_to_host(selected_host, args.terminal, args.ssh_command)\n
      </span>\n
      ```
      """
    +lang: "en"
    +isAdult: false
    +favouriteCount: 3
    +score: 0
    +lastActive: DateTime @1699900856 {#1769
      date: 2023-11-13 19:40:56.0 +01:00
    }
    +ip: null
    +tags: [
      "323232"
    ]
    +mentions: [
      "@Oha@lemmy.ohaa.xyz"
      "@heartsofwar@lemmy.world"
      "@aard@kyu.de"
    ]
    +children: Doctrine\ORM\PersistentCollection {#2466 …}
    +nested: Doctrine\ORM\PersistentCollection {#2288 …}
    +votes: Doctrine\ORM\PersistentCollection {#2446 …}
    +reports: Doctrine\ORM\PersistentCollection {#2439 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2489 …}
    +notifications: Doctrine\ORM\PersistentCollection {#60 …}
    -id: 120575
    -bodyTs: "'-8':151,168,363 '/.ssh/config':51 '/.ssh/known_hosts':56 '/usr/bin/env':36 '0':133,136 '1':96,220 'anyrun':28 'arg':331,333 'argpars':39 'args.command':356 'args.mode':335,341 'args.ssh':374 'args.terminal':373 'argument':273,281,298,314 'argumentpars':41,266 'assum':2 'base':269 'bit':33 'command':179,183,213,222,225,233,235,241,244,250,252,257,277,284,287,292,315,328,375 'config':49,71,336 'content':75,80,122,127 'control':35 'current':16 'd':321 'def':63,108,158,176,206 'default':288,295,302,310,316 'descript':267 'dest':285,300 'doesn':8 'duplic':100,138 'elif':340 'els':240 'encod':152,166 'entri':101,131,139,260 'eventu':24 'execut':169 'f':74,121 'f.readlines':76,123 'file':50,55,72,119 'focus':201 'format':229,246 'get':64,109,338,345 'given':173,204 'help':275,290,305,326 'hide':324 'hide-scrol':323 'host':54,62,65,66,87,93,98,102,105,107,111,112,118,130,140,143,145,157,160,161,165,180,193,194,198,209,210,216,217,219,226,236,237,245,253,254,304,312,320,337,339,343,344,347,349,351,352,358,360,367,370,372 'host_entry.partition':135 'hosts.append':97,134 'id':205 'ignor':83 'import':7,40,42,44,46 'input':174,192 'join':164 'json':45 'known':53,110,117,303,311,342,346 'launcher':271,327 'line':78,81,91,125,128 'line.lstrip':82,129 'line.partition':132 'line.split':95 'line.startswith':86 'list':59 'll':23 'lookup':5 'm':15 'main':264 'make':11 'mean':4 'mode':299,301 'much':12 'n':163 'name':263 'newlin':148 'open':68,114 'os':47 'os.path.expanduser':69,115 'p':227,318 'pars':159,348,350,357 'parser':265 'parser.add':272,280,297,313 'parser.parse':332 'plugin':29 'point':261 'port':218,228,238,239 'process':181,255 'process.communicate':191 'provid':31 'python3':37 'read':308 'realli':10 'remov':99,137 'rest':195 'ret':190,196 'return':57,106,144,146,162,197 'rewrit':25 'rstrip':364 'scroll':325 'select':353,359,366,371 'selected.decode':361 'sens':13 'seper':149 'set':104,142 'shell':184,258 'show':177,354 'sort':103,141 'split':221 'ssh':48,52,70,116,156,207,212,224,232,234,243,249,251,270,283,286,289,291,296,319,368 'ssh-command':282 'stdin':186 'stdout':188 'string':153,175 'subprocess':43 'subprocess.pipe':187,189 'subprocess.popen':182,256 'switch':199 'termin':211,223,230,231,242,247,248,274,276 'though':21 'true':185,259 'uft':150 'use':17,279,294,330 'utf':167,362 'wildcard':84 'wofi':20,170,178,268,317,355"
    +ranking: 0
    +commentCount: 0
    +upVotes: 0
    +downVotes: 0
    +visibility: "visible             "
    +apId: "https://kyu.de/comment/2226561"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699900856 {#1969
      date: 2023-11-13 19:40:56.0 +01:00
    }
  }
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
}
user_avatar App\Twig\Components\UserAvatarComponent 16.0 MiB 6.67 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#2897
    +avatar: Proxies\__CG__\App\Entity\Image {#2912 …}
    +cover: null
    +email: "tekcaj@lemmy.ml"
    +username: "@tekcaj@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700353085 {#2909
      date: 2023-11-19 01:18:05.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2913 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2915 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2917 …}
    +entries: Doctrine\ORM\PersistentCollection {#2919 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2921 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2923 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2925 …}
    +posts: Doctrine\ORM\PersistentCollection {#2927 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2929 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2931 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2933 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2935 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2937 …}
    +follows: Doctrine\ORM\PersistentCollection {#2939 …}
    +followers: Doctrine\ORM\PersistentCollection {#2941 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2943 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2945 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2947 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2949 …}
    +reports: Doctrine\ORM\PersistentCollection {#2951 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2953 …}
    +violations: Doctrine\ORM\PersistentCollection {#2955 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2957 …}
    +awards: Doctrine\ORM\PersistentCollection {#2959 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2961 …}
    +categories: Doctrine\ORM\PersistentCollection {#2963 …}
    -id: 42247
    -password: "$2y$13$QcKe6eGBibHoqc3k8yrpSOTYNr1fAZkLaSWZpEXRAgagpI56KrGdq"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2965 …}
    +apId: "tekcaj@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/tekcaj"
    +apPublicUrl: "https://lemmy.ml/u/tekcaj"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "tekcaj"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703026000 {#2910
      date: 2023-12-19 23:46:40.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1692847767 {#2911
      date: 2023-08-24 05:29:27.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserAvatarComponent {#2976
  +width: 32
  +height: 32
  +user: Proxies\__CG__\App\Entity\User {#2897
    +avatar: Proxies\__CG__\App\Entity\Image {#2912 …}
    +cover: null
    +email: "tekcaj@lemmy.ml"
    +username: "@tekcaj@lemmy.ml"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: null
    +lastActive: DateTime @1700353085 {#2909
      date: 2023-11-19 01:18:05.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#2913 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#2915 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#2917 …}
    +entries: Doctrine\ORM\PersistentCollection {#2919 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#2921 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#2923 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#2925 …}
    +posts: Doctrine\ORM\PersistentCollection {#2927 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#2929 …}
    +postComments: Doctrine\ORM\PersistentCollection {#2931 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#2933 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#2935 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#2937 …}
    +follows: Doctrine\ORM\PersistentCollection {#2939 …}
    +followers: Doctrine\ORM\PersistentCollection {#2941 …}
    +blocks: Doctrine\ORM\PersistentCollection {#2943 …}
    +blockers: Doctrine\ORM\PersistentCollection {#2945 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#2947 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#2949 …}
    +reports: Doctrine\ORM\PersistentCollection {#2951 …}
    +favourites: Doctrine\ORM\PersistentCollection {#2953 …}
    +violations: Doctrine\ORM\PersistentCollection {#2955 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2957 …}
    +awards: Doctrine\ORM\PersistentCollection {#2959 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#2961 …}
    +categories: Doctrine\ORM\PersistentCollection {#2963 …}
    -id: 42247
    -password: "$2y$13$QcKe6eGBibHoqc3k8yrpSOTYNr1fAZkLaSWZpEXRAgagpI56KrGdq"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#2965 …}
    +apId: "tekcaj@lemmy.ml"
    +apProfileId: "https://lemmy.ml/u/tekcaj"
    +apPublicUrl: "https://lemmy.ml/u/tekcaj"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "tekcaj"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1703026000 {#2910
      date: 2023-12-19 23:46:40.0 +01:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1692847767 {#2911
      date: 2023-08-24 05:29:27.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +asLink: false
}
date App\Twig\Components\DateComponent 16.0 MiB 0.15 ms
Input props
[
  "date" => DateTimeImmutable @1700107095 {#2902
    date: 2023-11-16 04:58:15.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#3033
  +date: DateTimeImmutable @1700107095 {#2902
    date: 2023-11-16 04:58:15.0 +01:00
  }
}
date App\Twig\Components\DateComponent 16.0 MiB 0.20 ms
Input props
[
  "date" => DateTimeImmutable @1700140485 {#2896
    date: 2023-11-16 14:14:45.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#3146
  +date: DateTimeImmutable @1700140485 {#2896
    date: 2023-11-16 14:14:45.0 +01:00
  }
}
date App\Twig\Components\DateComponent 16.0 MiB 0.21 ms
Input props
[
  "date" => DateTimeImmutable @1700153786 {#2893
    date: 2023-11-16 17:56:26.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#3259
  +date: DateTimeImmutable @1700153786 {#2893
    date: 2023-11-16 17:56:26.0 +01:00
  }
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 16.0 MiB 0.31 ms
Input props
[
  "label" => "Sidebar position"
  "settingsKey" => "KBIN_GENERAL_SIDEBAR_POSITION"
  "values" => [
    [
      "name" => "Left"
      "value" => "LEFT"
    ]
    [
      "name" => "Right"
      "value" => "RIGHT"
    ]
  ]
  "defaultValue" => "RIGHT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowEnumComponent {#3346
  +label: "Sidebar position"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SIDEBAR_POSITION"
  +values: [
    [
      "name" => "Left"
      "value" => "LEFT"
    ]
    [
      "name" => "Right"
      "value" => "RIGHT"
    ]
  ]
  +defaultValue: "RIGHT"
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.26 ms
Input props
[
  "label" => "Dynamic lists"
  "settingsKey" => "KBIN_GENERAL_DYNAMIC_LISTS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3418
  +label: "Dynamic lists"
  +help: ""
  +settingsKey: "KBIN_GENERAL_DYNAMIC_LISTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.20 ms
Input props
[
  "label" => "Rounded edges"
  "settingsKey" => "KBIN_GENERAL_ROUNDED_EDGES"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3481
  +label: "Rounded edges"
  +help: ""
  +settingsKey: "KBIN_GENERAL_ROUNDED_EDGES"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.19 ms
Input props
[
  "label" => "Infinite scrolling"
  "help" => "Automatically load more content when you reach the bottom of the page."
  "settingsKey" => "KBIN_GENERAL_INFINITE_SCROLL"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3537
  +label: "Infinite scrolling"
  +help: "Automatically load more content when you reach the bottom of the page."
  +settingsKey: "KBIN_GENERAL_INFINITE_SCROLL"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.21 ms
Input props
[
  "label" => "Sticky navbar"
  "help" => "The navbar will stick to the top of the page when you scroll down."
  "settingsKey" => "KBIN_GENERAL_FIXED_NAVBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3596
  +label: "Sticky navbar"
  +help: "The navbar will stick to the top of the page when you scroll down."
  +settingsKey: "KBIN_GENERAL_FIXED_NAVBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.19 ms
Input props
[
  "label" => "Show top bar"
  "settingsKey" => "KBIN_GENERAL_TOPBAR"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3652
  +label: "Show top bar"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TOPBAR"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.19 ms
Input props
[
  "label" => "Turbo mode (experimental)"
  "settingsKey" => "KBIN_GENERAL_TURBO"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3708
  +label: "Turbo mode (experimental)"
  +help: ""
  +settingsKey: "KBIN_GENERAL_TURBO"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 16.0 MiB 0.39 ms
Input props
[
  "label" => "Mark new comments"
  "settingsKey" => "KBIN_MARK_NEW_COMMENTS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3766
  +label: "Mark new comments"
  +help: ""
  +settingsKey: "KBIN_MARK_NEW_COMMENTS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.21 ms
Input props
[
  "label" => "Show "Support Us" block"
  "settingsKey" => "KBIN_GENERAL_SUPPORT_US_BLOCK"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#3829
  +label: "Show "Support Us" block"
  +help: ""
  +settingsKey: "KBIN_GENERAL_SUPPORT_US_BLOCK"
  +defaultValue: true
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 16.0 MiB 0.21 ms
Input props
[
  "label" => "Show subscribed users"
  "settingsKey" => "KBIN_SUB_CHANNEL_USERS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3887
  +label: "Show subscribed users"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_USERS"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 16.0 MiB 0.21 ms
Input props
[
  "label" => "Show subscribed magazines"
  "settingsKey" => "KBIN_SUB_CHANNEL_MAGAZINES"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3943
  +label: "Show subscribed magazines"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_MAGAZINES"
  +defaultValue: false
  +reloadRequired: true
}
user_settings_row_switch App\Twig\Components\UserSettingsRowSwitchComponent 16.0 MiB 0.20 ms
Input props
[
  "label" => "Show subscribed domains"
  "settingsKey" => "KBIN_SUB_CHANNEL_DOMAINS"
]
Attributes
[]
Component
App\Twig\Components\UserSettingsRowSwitchComponent {#3999
  +label: "Show subscribed domains"
  +help: ""
  +settingsKey: "KBIN_SUB_CHANNEL_DOMAINS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.21 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_ENTRIES_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4055
  +label: "Auto media preview"
  +help: "Automatically expand media previews."
  +settingsKey: "KBIN_ENTRIES_SHOW_PREVIEW"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.20 ms
Input props
[
  "label" => "Compact view"
  "settingsKey" => "KBIN_ENTRIES_COMPACT"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4111
  +label: "Compact view"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_COMPACT"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.22 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_ENTRIES_SHOW_USERS_AVATARS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4167
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_USERS_AVATARS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.21 ms
Input props
[
  "label" => "Show magazines’ icons"
  "settingsKey" => "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4223
  +label: "Show magazines’ icons"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_MAGAZINES_ICONS"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.22 ms
Input props
[
  "label" => "Show thumbnails"
  "settingsKey" => "KBIN_ENTRIES_SHOW_THUMBNAILS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4279
  +label: "Show thumbnails"
  +help: ""
  +settingsKey: "KBIN_ENTRIES_SHOW_THUMBNAILS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.20 ms
Input props
[
  "label" => "Auto media preview"
  "help" => "Automatically expand media previews."
  "settingsKey" => "KBIN_POSTS_SHOW_PREVIEW"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4335
  +label: "Auto media preview"
  +help: "Automatically expand media previews."
  +settingsKey: "KBIN_POSTS_SHOW_PREVIEW"
  +defaultValue: false
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.13 ms
Input props
[
  "label" => "Show users’ avatars"
  "settingsKey" => "KBIN_POSTS_SHOW_USERS_AVATARS"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4391
  +label: "Show users’ avatars"
  +help: ""
  +settingsKey: "KBIN_POSTS_SHOW_USERS_AVATARS"
  +defaultValue: true
  +reloadRequired: true
}
settings_row_enum App\Twig\Components\SettingsRowEnumComponent 16.0 MiB 0.16 ms
Input props
[
  "label" => "Comment reply position"
  "help" => "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top."
  "settingsKey" => "KBIN_COMMENTS_REPLY_POSITION"
  "values" => [
    [
      "name" => "top"
      "value" => "TOP"
    ]
    [
      "name" => "bottom"
      "value" => "BOTTOM"
    ]
  ]
  "defaultValue" => "TOP"
]
Attributes
[]
Component
App\Twig\Components\SettingsRowEnumComponent {#4447
  +label: "Comment reply position"
  +help: "Display the comment reply form either at the top or bottom of the page. When 'infinite scroll' is enabled the position will always appear at the top."
  +settingsKey: "KBIN_COMMENTS_REPLY_POSITION"
  +values: [
    [
      "name" => "top"
      "value" => "TOP"
    ]
    [
      "name" => "bottom"
      "value" => "BOTTOM"
    ]
  ]
  +defaultValue: "TOP"
  +reloadRequired: true
}
settings_row_switch App\Twig\Components\SettingsRowSwitchComponent 16.0 MiB 0.13 ms
Input props
[
  "label" => "Show Comment Avatars"
  "help" => "Display/hide user avatars when viewing comments on a single thread or post."
  "settingsKey" => "KBIN_COMMENTS_SHOW_USER_AVATAR"
  "defaultValue" => true
]
Attributes
[]
Component
App\Twig\Components\SettingsRowSwitchComponent {#4505
  +label: "Show Comment Avatars"
  +help: "Display/hide user avatars when viewing comments on a single thread or post."
  +settingsKey: "KBIN_COMMENTS_SHOW_USER_AVATAR"
  +defaultValue: true
  +reloadRequired: true
}
user_actions App\Twig\Components\UserActionsComponent 16.0 MiB 0.72 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#1882
    +avatar: null
    +cover: Proxies\__CG__\App\Entity\Image {#4574 …}
    +email: "Oha@lemmy.ohaa.xyz"
    +username: "@Oha@lemmy.ohaa.xyz"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Hi there!\n
      =========\n
      \n
      I’m Oha and I run the funny fake download button instance. More about me: [ohaa.xyz](https://ohaa.xyz)
      """
    +lastActive: DateTime @1729460626 {#4571
      date: 2024-10-20 23:43:46.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4575 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4577 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4579 …}
    +entries: Doctrine\ORM\PersistentCollection {#4581 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4583 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4585 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4587 …}
    +posts: Doctrine\ORM\PersistentCollection {#4589 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4591 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4593 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4595 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4597 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4599 …}
    +follows: Doctrine\ORM\PersistentCollection {#4601 …}
    +followers: Doctrine\ORM\PersistentCollection {#4603 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4605 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4607 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4609 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4611 …}
    +reports: Doctrine\ORM\PersistentCollection {#4613 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4615 …}
    +violations: Doctrine\ORM\PersistentCollection {#4617 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4619 …}
    +awards: Doctrine\ORM\PersistentCollection {#4621 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4623 …}
    +categories: Doctrine\ORM\PersistentCollection {#4625 …}
    -id: 41505
    -password: "$2y$13$eeJqusvLtVDxhTLoLq60YOSnbuhziYNS2lI/Kuz7V6CMlwg.AErUS"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4627 …}
    +apId: "Oha@lemmy.ohaa.xyz"
    +apProfileId: "https://lemmy.ohaa.xyz/u/Oha"
    +apPublicUrl: "https://lemmy.ohaa.xyz/u/Oha"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ohaa.xyz/inbox"
    +apDomain: "lemmy.ohaa.xyz"
    +apPreferredUsername: "Oha"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729547911 {#4572
      date: 2024-10-21 23:58:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1692529081 {#4573
      date: 2023-08-20 12:58:01.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserActionsComponent {#4641
  +user: Proxies\__CG__\App\Entity\User {#1882
    +avatar: null
    +cover: Proxies\__CG__\App\Entity\Image {#4574 …}
    +email: "Oha@lemmy.ohaa.xyz"
    +username: "@Oha@lemmy.ohaa.xyz"
    +roles: []
    +followersCount: 0
    +homepage: "front"
    +about: """
      Hi there!\n
      =========\n
      \n
      I’m Oha and I run the funny fake download button instance. More about me: [ohaa.xyz](https://ohaa.xyz)
      """
    +lastActive: DateTime @1729460626 {#4571
      date: 2024-10-20 23:43:46.0 +02:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: false
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: true
    +notifyOnNewEntryCommentReply: true
    +notifyOnNewPost: false
    +notifyOnNewPostReply: true
    +notifyOnNewPostCommentReply: true
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: false
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#4575 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#4577 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#4579 …}
    +entries: Doctrine\ORM\PersistentCollection {#4581 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#4583 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#4585 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#4587 …}
    +posts: Doctrine\ORM\PersistentCollection {#4589 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#4591 …}
    +postComments: Doctrine\ORM\PersistentCollection {#4593 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#4595 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#4597 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#4599 …}
    +follows: Doctrine\ORM\PersistentCollection {#4601 …}
    +followers: Doctrine\ORM\PersistentCollection {#4603 …}
    +blocks: Doctrine\ORM\PersistentCollection {#4605 …}
    +blockers: Doctrine\ORM\PersistentCollection {#4607 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#4609 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#4611 …}
    +reports: Doctrine\ORM\PersistentCollection {#4613 …}
    +favourites: Doctrine\ORM\PersistentCollection {#4615 …}
    +violations: Doctrine\ORM\PersistentCollection {#4617 …}
    +notifications: Doctrine\ORM\PersistentCollection {#4619 …}
    +awards: Doctrine\ORM\PersistentCollection {#4621 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#4623 …}
    +categories: Doctrine\ORM\PersistentCollection {#4625 …}
    -id: 41505
    -password: "$2y$13$eeJqusvLtVDxhTLoLq60YOSnbuhziYNS2lI/Kuz7V6CMlwg.AErUS"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#4627 …}
    +apId: "Oha@lemmy.ohaa.xyz"
    +apProfileId: "https://lemmy.ohaa.xyz/u/Oha"
    +apPublicUrl: "https://lemmy.ohaa.xyz/u/Oha"
    +apFollowersUrl: null
    +apInboxUrl: "https://lemmy.ohaa.xyz/inbox"
    +apDomain: "lemmy.ohaa.xyz"
    +apPreferredUsername: "Oha"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: false
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729547911 {#4572
      date: 2024-10-21 23:58:31.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1692529081 {#4573
      date: 2023-08-20 12:58:01.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
}
date App\Twig\Components\DateComponent 16.0 MiB 0.18 ms
Input props
[
  "date" => DateTimeImmutable @1699895190 {#98
    date: 2023-11-13 18:06:30.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4702
  +date: DateTimeImmutable @1699895190 {#98
    date: 2023-11-13 18:06:30.0 +01:00
  }
}
magazine_box App\Twig\Components\MagazineBoxComponent 16.0 MiB 25.20 ms
Input props
[
  "magazine" => App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#320
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#321
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#315
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  "showSectionTitle" => true
]
Attributes
[]
Component
App\Twig\Components\MagazineBoxComponent {#4758
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#320
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#321
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#315
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +showCover: true
  +showDescription: true
  +showRules: true
  +showSubscribeButton: true
  +showInfo: true
  +showMeta: true
  +showSectionTitle: true
  +stretchedLink: true
}
magazine_sub App\Twig\Components\MagazineSubComponent 16.0 MiB 0.65 ms
Input props
[
  "magazine" => App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#320
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#321
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#315
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\MagazineSubComponent {#4817
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#320
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#321
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#315
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
}
date App\Twig\Components\DateComponent 16.0 MiB 0.18 ms
Input props
[
  "date" => DateTimeImmutable @1698929468 {#315
    date: 2023-11-02 13:51:08.0 +01:00
  }
]
Attributes
[]
Component
App\Twig\Components\DateComponent {#4991
  +date: DateTimeImmutable @1698929468 {#315
    date: 2023-11-02 13:51:08.0 +01:00
  }
}
user_inline App\Twig\Components\UserInlineComponent 16.0 MiB 4.88 ms
Input props
[
  "user" => Proxies\__CG__\App\Entity\User {#5049
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#5096
      date: 2024-02-10 07:43:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5098 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5100 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5102 …}
    +entries: Doctrine\ORM\PersistentCollection {#5104 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5106 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5108 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5110 …}
    +posts: Doctrine\ORM\PersistentCollection {#5112 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5114 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5116 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5118 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5120 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5122 …}
    +follows: Doctrine\ORM\PersistentCollection {#5124 …}
    +followers: Doctrine\ORM\PersistentCollection {#5126 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5128 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5130 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5132 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5134 …}
    +reports: Doctrine\ORM\PersistentCollection {#5136 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5138 …}
    +violations: Doctrine\ORM\PersistentCollection {#5140 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5142 …}
    +awards: Doctrine\ORM\PersistentCollection {#5144 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5146 …}
    +categories: Doctrine\ORM\PersistentCollection {#5148 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5150 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#5097
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
]
Attributes
[]
Component
App\Twig\Components\UserInlineComponent {#5067
  +user: Proxies\__CG__\App\Entity\User {#5049
    +avatar: null
    +cover: null
    +email: "kbin@j0h.nl"
    +username: "Sprite_tm"
    +roles: [
      "ROLE_ADMIN"
    ]
    +followersCount: 0
    +homepage: "front"
    +about: "Hi! I'm Sprite_tm. You may know me from sites like https://spritesmods.com."
    +lastActive: DateTime @1707547382 {#5096
      date: 2024-02-10 07:43:02.0 +01:00
    }
    +markedForDeletionAt: null
    +fields: null
    +oauthGithubId: null
    +oauthGoogleId: null
    +oauthFacebookId: null
    +oauthKeycloakId: null
    +hideAdult: true
    +showSubscribedUsers: true
    +showSubscribedMagazines: true
    +showSubscribedDomains: true
    +preferredLanguages: []
    +featuredMagazines: null
    +showProfileSubscriptions: true
    +showProfileFollowings: true
    +markNewComments: false
    +notifyOnNewEntry: false
    +notifyOnNewEntryReply: false
    +notifyOnNewEntryCommentReply: false
    +notifyOnNewPost: false
    +notifyOnNewPostReply: false
    +notifyOnNewPostCommentReply: false
    +addMentionsEntries: false
    +addMentionsPosts: true
    +isBanned: false
    +isVerified: true
    +isDeleted: false
    +isBot: false
    +spamProtection: true
    +customCss: null
    +ignoreMagazinesCustomCss: false
    +moderatorTokens: Doctrine\ORM\PersistentCollection {#5098 …}
    +magazineOwnershipRequests: Doctrine\ORM\PersistentCollection {#5100 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#5102 …}
    +entries: Doctrine\ORM\PersistentCollection {#5104 …}
    +entryVotes: Doctrine\ORM\PersistentCollection {#5106 …}
    +entryComments: Doctrine\ORM\PersistentCollection {#5108 …}
    +entryCommentVotes: Doctrine\ORM\PersistentCollection {#5110 …}
    +posts: Doctrine\ORM\PersistentCollection {#5112 …}
    +postVotes: Doctrine\ORM\PersistentCollection {#5114 …}
    +postComments: Doctrine\ORM\PersistentCollection {#5116 …}
    +postCommentVotes: Doctrine\ORM\PersistentCollection {#5118 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#5120 …}
    +subscribedDomains: Doctrine\ORM\PersistentCollection {#5122 …}
    +follows: Doctrine\ORM\PersistentCollection {#5124 …}
    +followers: Doctrine\ORM\PersistentCollection {#5126 …}
    +blocks: Doctrine\ORM\PersistentCollection {#5128 …}
    +blockers: Doctrine\ORM\PersistentCollection {#5130 …}
    +blockedMagazines: Doctrine\ORM\PersistentCollection {#5132 …}
    +blockedDomains: Doctrine\ORM\PersistentCollection {#5134 …}
    +reports: Doctrine\ORM\PersistentCollection {#5136 …}
    +favourites: Doctrine\ORM\PersistentCollection {#5138 …}
    +violations: Doctrine\ORM\PersistentCollection {#5140 …}
    +notifications: Doctrine\ORM\PersistentCollection {#5142 …}
    +awards: Doctrine\ORM\PersistentCollection {#5144 …}
    +subscribedCategories: Doctrine\ORM\PersistentCollection {#5146 …}
    +categories: Doctrine\ORM\PersistentCollection {#5148 …}
    -id: 1
    -password: "$2y$13$ZX7Aou2QOPRGkHPp4y5x8OWfxZMoT1BGH7bRLlPP7mwZFTkfiaPGG"
    -totpSecret: null
    -totpBackupCodes: []
    -oAuth2UserConsents: Doctrine\ORM\PersistentCollection {#5150 …}
    +apId: null
    +apProfileId: null
    +apPublicUrl: null
    +apFollowersUrl: null
    +apInboxUrl: null
    +apDomain: null
    +apPreferredUsername: null
    +apDiscoverable: null
    +apManuallyApprovesFollowers: null
    +privateKey: """
      -----BEGIN PRIVATE KEY-----\r\n
      MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDleeotz5TBiMlC\r\n
      YsJYJHVNxjvnvt0qsQA282B7vdqBTbARfD49iKPiMIwgU2yhCI0oTSQwc2Zy9AQ+\r\n
      31rwmvBx8VvcLgQvKpNzPVhMQjelK7k5iPiPc/W1soaauepq3YwQKgGod4c5Vh9f\r\n
      MInSANfOLOUSo3pUzfaQaGEvQc5DbKjDgIjsv/OKI1acbzu067KQzIThu+1BvcqQ\r\n
      Ypo2Ux5W23nNqkrRZ++z/r1MI2jS3vwi5OSwz4fWhLPJXE6lwokc6b/uAZe7sLT6\r\n
      QQtjevLnmMyRIVnmxbtHPMSfhLdz8ssQhoNCfAkMnBjDUX31SSs67pU8v5O3Fn2H\r\n
      d+qFWCjrREwSpBAd24INJqKsjSa6j3oLL8Xw8HZf+x6QRPJch/c3FNWRtM2b9n8V\r\n
      sAQiD985pafyeQ1TqIe4iSjI0iUgy2WgwO0C1Z0PNbQzQmRk0EOAlxIXjPmB229P\r\n
      V4+OcZxLT9phP/rid1Qt9Ro+2LdkS9Zqe8c2JHeJKc5Nv/8OOX5uQ/B82JXnuXYi\r\n
      /oVEJb5t42G8u3IIkYM5G/Gt033WU6dbyKOBmdnbXaPw9LC3M7oop3yyCb3UDLfg\r\n
      g/XnZVvZxSPCPlh5G1Lb0r47siKq/0k9YRua0AFsVg0dhqfuwsb6G9Hx5EicuPsu\r\n
      OIjXINBTjlnE4SdMz0ZJt7bLjwlKdQIDAQABAoICAAlWo8QHfYs+sMoF0Njbavam\r\n
      SYvNxZxWJacW0mdWu4ylh7O+dZ31cI3k4d7y5inLeksYkI90MsgczAtu9XlzJLPO\r\n
      WamlKcBtoCCBb5Vy4GbVV61SuKLF2krxn+6uAC8nIusJepXLf3JC4fXyuLkWFbIr\r\n
      O4s9od3Pn+gSh1nv+J/fzSJfmbLgwN1vQLgPAsQDD3o7CHFTP318ZsDnclUhnst0\r\n
      FQnckzzgWO3fQP7XNg3WyzX0UKYtW97L+bEJE55FQ2Us0gWyhOU7dLH2casztqzc\r\n
      F/8T91+fzlZAz9OaCAks6Tyb7L2I5KlhtNRF/bU8rAiy6tnVBgLeZG9d3upcQxX0\r\n
      L+SMPWg55qERGI5mO+BxFdUnVtcmswziKmySYtzgm+c4jmPS5cWhGB9HFCTW2S0x\r\n
      GoVA2cZGWjMTrbZQhgJjBqzp76fhLtXTufd328sYmX7fBYKEWFYNwrEJaWYUNl/V\r\n
      yEyl0aMQWKhVokx6eCqnuDZUc77LeuGuCleIdhQ53NYHrXMCmgVyLfmGdrOS3Uh6\r\n
      RrAYmnvvMkAUTOQajW2csC345PmgBOjE7vB7349ylKUkXvN4L+9xZCYaVjBt3O24\r\n
      aRoQSQDGhk+NIaYleiFx+u7dJSryxdx/6ut6dQ2S+jKlm1oN1qq6ppO5y/TFRQ1e\r\n
      qn7kjIGzUT80fANDFqdhAoIBAQD1+cGiWXRQhUrJc5X3ngH1zHoLWpmSZcUUDFn/\r\n
      bV/CChd2M43fOpneIQETZ1oS7BsU3y92kTw63ytYOUg7C5iT5/r9ZoBGq0HZSbll\r\n
      riRJWGiajr2aYCmIes++CrfUvCcD6+l8QMZ3s8eXdk80GX+vt1xEfRpWV9e9huJK\r\n
      K1e8wXfFmPAmxUi63IePscdc+SVQGeooMYDnMwLWvxpAtp5mGOaQc4D5dviWXjSE\r\n
      Z/PJa+gectpD1iDIPUXm3o17ivE2UYFia8/FCGUN6Yz7ucRKF+2SPO8hLefk5UvJ\r\n
      Lxlkh67MXKkneDqRU9C82Qmcfz5nQLQadC0nbE44YeXrnlIdAoIBAQDu1AWMIe6f\r\n
      7TZYCWnTa3nT6penJ9CMaGDPI/62dKTmGnI4oo3u9DGGrnuWbcFFCQA02vcYdpuw\r\n
      CVy6mkP/yqN5VSV3EHZiJUA0aKIxot3o3YOiobpVYn9hwvzzOdMZO4SOuevNfY1c\r\n
      qmnLGhYoDvR1c2yaudCf/BDwQqlLoSg9F5X57bRtwaRyUjhtXVKXWb59qtiwwrvp\r\n
      1vPjxciEIxAtgSXtIUQz3ljDRNUHjpyfYM3ska5jkxMIPNYUYFMX2x+Gxn9PZEG3\r\n
      Im391BRynZsnkvJO6i4i5N1xsPK5SyPiKBnlMxW/6ZLi5aAQHV3cc2KLzV+T+s2B\r\n
      v9LTAyO7nWo5AoIBAASA/jqqyKZwyl3F8AkIq6CEjfeHQSidFG65iyxSJF65MJTJ\r\n
      fN+Jgye+Evb3/X47NIO9UnEpV6D8VR7YbaonHDQZG09ogRDKMfp4jxx9g8yUAdZS\r\n
      psYc3KXTGdqw94y9pTk9KJlN1lR6xjzPvcOGdAATq2zVnZXXJewifCI/iOu73yWP\r\n
      F1aeZiaFwzWuW6goJ7a/wrnZrjKNjI/CEAj/TwcvjYk3lDT9KLAYKX4DKUOW5jko\r\n
      gTacxRzlglIn4Q9SC/iipWvX7YX+EVuf2yUA0cdJiOAUnYxN+uEGEc0tP5nHoju7\r\n
      tp0yZmAi2L+cecCT0+CwHpwdZHZEVWpS4JLf40ECggEBALFSZIgGDZlaU5YL7zHV\r\n
      Q5APRugKDLKjMPW7IPwxINnj2tioAL/hOQBpfkNTXEM4ipmz1fCo57FNUjcOINzD\r\n
      hJqqmHWNmIgIZmJDKeG2rhKenYTblXCeADwCvTKNxWmfoi0iZ6ybwqCBuqjcxoSZ\r\n
      jfHCcGl0+yw9yAnLRM1ta2XopCb70ZIIS2PCHjk9J/xN2ryNY/PhsgnN2ilMiTNq\r\n
      oTFYCWPF5lCojrj020KQJUPEaUBzbcpqwZ/FI6HfXvKAdCjqKk40/wHNI2Np2oC6\r\n
      +h7o4NWs0/J+gNhP6/edjZf19DwTsNtbvf6PRUeRtkXeudVY99T0Sy9B0HNxik9b\r\n
      cikCggEAM2wassiP1i0Gc3wrbNLHyQN+yqMaAp0xF+8l0fU3T8zPL/tYDcITnZPY\r\n
      pEFV/aodP9X7XFuQD0iGTOTGDXiMSLPOLI/ifmwbT41rgIN9x14MpU2EtWeVz7sx\r\n
      ZIFMt98rHx6BsZx/DnSFDQ8iqrKF3u+OOv7s6j+8odz4Rq53+16vMev5VUMOPq+E\r\n
      aQn8SDKkOjZzwb9QGB9bXS5s9yyj4pLyggQ0O5S2ugZjUcmCecNpktN8bUR3I9VQ\r\n
      KWkcQa9yCpidp/JYrQtlbqAPiIzptA4T4RNh+F6pKbmw7hNMIPipPzbQezEMaBOn\r\n
      Cgb38EldyAVGjCzRGfhu9SNU9B03bg==\r\n
      -----END PRIVATE KEY-----
      """
    +publicKey: """
      -----BEGIN PUBLIC KEY-----\r\n
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5XnqLc+UwYjJQmLCWCR1\r\n
      TcY7577dKrEANvNge73agU2wEXw+PYij4jCMIFNsoQiNKE0kMHNmcvQEPt9a8Jrw\r\n
      cfFb3C4ELyqTcz1YTEI3pSu5OYj4j3P1tbKGmrnqat2MECoBqHeHOVYfXzCJ0gDX\r\n
      zizlEqN6VM32kGhhL0HOQ2yow4CI7L/ziiNWnG87tOuykMyE4bvtQb3KkGKaNlMe\r\n
      Vtt5zapK0Wfvs/69TCNo0t78IuTksM+H1oSzyVxOpcKJHOm/7gGXu7C0+kELY3ry\r\n
      55jMkSFZ5sW7RzzEn4S3c/LLEIaDQnwJDJwYw1F99UkrOu6VPL+TtxZ9h3fqhVgo\r\n
      60RMEqQQHduCDSairI0muo96Cy/F8PB2X/sekETyXIf3NxTVkbTNm/Z/FbAEIg/f\r\n
      OaWn8nkNU6iHuIkoyNIlIMtloMDtAtWdDzW0M0JkZNBDgJcSF4z5gdtvT1ePjnGc\r\n
      S0/aYT/64ndULfUaPti3ZEvWanvHNiR3iSnOTb//Djl+bkPwfNiV57l2Iv6FRCW+\r\n
      beNhvLtyCJGDORvxrdN91lOnW8ijgZnZ212j8PSwtzO6KKd8sgm91Ay34IP152Vb\r\n
      2cUjwj5YeRtS29K+O7Iiqv9JPWEbmtABbFYNHYan7sLG+hvR8eRInLj7LjiI1yDQ\r\n
      U45ZxOEnTM9GSbe2y48JSnUCAwEAAQ==\r\n
      -----END PUBLIC KEY-----
      """
    +apFetchedAt: null
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1686560440 {#5097
      date: 2023-06-12 11:00:40.0 +02:00
    }
    +__isInitialized__: true
     …2
  }
  +showAvatar: true
}
related_magazines App\Twig\Components\RelatedMagazinesComponent 16.0 MiB 2.60 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedMagazinesComponent {#5257
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +title: "related_magazines"
  +refreshedRandom: false
  -repository: App\Repository\MagazineRepository {#395 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
active_users App\Twig\Components\ActiveUsersComponent 16.0 MiB 7.21 ms
Input props
[
  "magazine" => App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#320
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#321
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#315
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\ActiveUsersComponent {#5349
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#320
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#321
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#315
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  -userRepository: App\Repository\UserRepository {#603 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_categories App\Twig\Components\RelatedCategoriesComponent 16.0 MiB 11.15 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedCategoriesComponent {#5408
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "related"
  +title: "related_categories"
  +refreshedRandom: false
  -repository: App\Repository\CategoryRepository {#5409 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
}
related_posts App\Twig\Components\RelatedPostsComponent 16.0 MiB 12.59 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedPostsComponent {#5479
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +post: null
  +title: "related_posts"
  +refreshedRandom: false
  -repository: App\Repository\PostRepository {#5478 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#2454 …}
}
related_entries App\Twig\Components\RelatedEntriesComponent 16.0 MiB 4.31 ms
Input props
[
  "magazine" => "linux@lemmy.ml"
  "tag" => null
]
Attributes
[]
Component
App\Twig\Components\RelatedEntriesComponent {#5548
  +limit: 4
  +tag: null
  +magazine: "linux@lemmy.ml"
  +type: "magazine"
  +entry: null
  +title: "related_entries"
  +refreshedRandom: false
  -repository: App\Repository\EntryRepository {#318 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -twig: Twig\Environment {#1252 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -mentionManager: App\Service\MentionManager {#2454 …}
}
support_us_block App\Twig\Components\SupportUsBlock 16.0 MiB 2.31 ms
Input props
[]
Attributes
[]
Component
App\Twig\Components\SupportUsBlock {#5617
  +subject: ? App\Entity\Contracts\VotableInterface
  +url: ? string
  -twig: Twig\Environment {#1252 …}
  -cache: Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter {#600 …}
  -requestStack: Symfony\Component\HttpFoundation\RequestStack {#1328 …}
  -partnerBlockRepository: App\Repository\PartnerBlockRepository {#5618 …}
}
featured_magazines App\Twig\Components\FeaturedMagazinesComponent 16.0 MiB 12.75 ms
Input props
[
  "magazine" => App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#320
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#321
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#315
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
]
Attributes
[]
Component
App\Twig\Components\FeaturedMagazinesComponent {#5710
  +magazine: App\Entity\Magazine {#312
    +icon: Proxies\__CG__\App\Entity\Image {#293 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#320
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#284 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#280 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#269 …}
    +entries: Doctrine\ORM\PersistentCollection {#227 …}
    +posts: Doctrine\ORM\PersistentCollection {#185 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#247 …}
    +bans: Doctrine\ORM\PersistentCollection {#164 …}
    +reports: Doctrine\ORM\PersistentCollection {#150 …}
    +badges: Doctrine\ORM\PersistentCollection {#128 …}
    +logs: Doctrine\ORM\PersistentCollection {#118 …}
    +awards: Doctrine\ORM\PersistentCollection {#107 …}
    +categories: Doctrine\ORM\PersistentCollection {#94 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#321
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#315
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  -twig: Twig\Environment {#1252 …}
  -repository: App\Repository\MagazineRepository {#395 …}
}